tensorflow 학습 노트(1)

간단 한 소개
텐 서 플 로 우 는 파 이 썬 기반 의 머 신 러 닝 프레임 워 크 로 구 글 의 신경 망 컴 퓨 팅 라 이브 러 리 로 구 글 인공지능 팀 구 글 브레인 이 개발 하고 유지 하고 있다.
이것 은 데이터 흐름 프로 그래 밍 수학 연산 시스템 을 바탕 으로 서버,개인 pc,웹 페이지,Android 장치 에 배치 할 수 있 고 GPU 와 TPU(Tensor Processing Units)의 고성능 수치 계산 을 지원 하 며 Python 을 제외 하고 TensorFlow 도 C/C++,자바,Go,R 등 다른 프로 그래 밍 언어의 인 터 페 이 스 를 제공 합 니 다.
기계 학습 알고리즘 의 과정 을 잘 알 게 된 후에 자신 도 한 걸음 한 걸음 numpy 로 알고리즘 을 쓸 수 있 지만 절차 가 매우 번 거 롭 고 코드 가 길 며 효율 이 높 지 않 을 수 있 습 니 다.그리고 tensorflow 등 기계 학습 라 이브 러 리 에서 사용 할 행렬 작업 은 효율 적 인 연산 방법 으로 API(함수)로 밀봉 하여 우리 가 편리 하 게 호출 할 수 있 도록 합 니 다.그러면 우리 의 생각 을 신속하게 실현 할 수 있 습 니 다.바퀴 를 다시 만 들 필요 가 없다.
프로 그래 밍 모드-데이터 흐름 프로 그래 밍
tensor flow 는 번역 하면 장 량 흐름 이 고 장 량 은 행렬 의 뜻 으로 이해 할 수 있다.2 차원 장 량 은 2 차원 행렬 이 고 데 이 터 는 tensor flow 에서 도 장 량(tensor)의 유형 으로 존재 하 며 프로그램 운행 은 장 량(데이터)이 노드 에서 흐 르 는 과정 이다.
tensor flow 라 이브 러 리 로 python 코드 를 쓰 는 것 은 일반적인 코드 와 다 릅 니 다.한 줄 을 실행 하면 한 줄 의 결 과 를 얻 을 수 있 는 것 이 아 닙 니 다.이것 은 그림 에 대한 방식 으로 실 행 됩 니 다.모든 변 수 는 하나의 노드 이 고 데 이 터 는 노드 에서 유동 합 니 다.예 를 들 어 c=a+b 를 구하 고 a,b 세 노드 를 정의 하 며 c=a+b 를 정의 한 다음 에 세 션 세 션 을 정의 합 니 다.세 션 실행 변수 c 를 정의 하면 데 이 터 는 a 와 b 에서 c 로 흘러 갑 니 다.
이렇게 말 하면 평소 프로 그래 밍 과 마찬가지 로 아래 프로그램 을 보면 데이터 흐름 프로 그래 밍 모드 를 알 수 있다.
첫 번 째 프로그램
프로그램 계산 c=a+b
import tensorflow as tf
a = tf.constant(3)     #   a b tf  
b = tf.constant(4)
c = tf.add(a, b)         #   c c    ,       c  ,     c

with tf.Session() as sess:      #       
    print(sess.run(c))    #       c     

  
프로그램 은 일반적인 프로그램 과 달리 네 번 째 줄 에서 c 의 결 과 를 얻 지 못 하고 세 션 에서 sess.run(c)만 c=a+b 를 계산 합 니 다.
세 션 Session()이 실행 되면 세 션 닫 기,sess.close()를 표시 해 야 합 니 다.with...as 를 통 해 계산 이 끝 난 후에 세 션 을 자동 으로 닫 을 수 있 습 니 다.

좋은 웹페이지 즐겨찾기