AI(DeepLearning)
[tf] tensorflow 강좌1 로딩테스트
크레이지제이
2018. 7. 16. 10:50
반응형
+TensorFlow
machine learning 오픈소스 라이브러리. python 기반.
계산 그래프(computational graph) 를 생성하여 텐서가 흐르는 프로그램
+ 로딩
import tensorflow as tf
로딩이 안되면 tensorflow를 설치한다.
+버전 확인
tf.__version__
'1.1.0'
+텐서 (Tensor)
Rank ; 차원
여기서는 모든 자료형이 텐서다. 원래는 정적타입의 n차원 배열 or list ; 랭크값이 차원수. 1차원은 벡터, 2차원은 매트릭스, 3차원부터 텐서다.
rank 0 ; scalar 1
rank 1 ; vector [1,2,3]
rank 2 ; matrix [[1,2],[3,4]]
rank 3 ; 3-tensor [ [[1],[2]], [[3],[4]] ]
rank n ; n-tensor
Shape ; dimension number.
rank 1 ; shape [4]
rank 2 ; shape [4,2] ; 4x2 행렬
rank 3 ; shape [3,4,5] ; 3x4x5 행렬
DataTypes
tf.float32 ; 대부분 함수에서 디폴트 자료형임.
tf.float64
tf.int8, 16, 32, 64
tf.uint8, 16
tf.string
tf.bool
tf.complex64, 128
+ 기본 예제, 작동 확인: hello world -> hello tensorflow
import tensorflow as tf
hello = tf.constant('Hello tensorflow!')
sess = tf.Session()
print ( sess.run(hello) )
-------------
b'Hello tensorflow!'
위와 같이 출력됨.
b는 bytes를 의미.
------------------------------------------------------------------
+ 간단한 더하기 계산그래프 테스트
3+4를 계산하는 그래프.
import tensorflow as tf
# build graph(tensor)
node1=tf.constant(3.0, tf.float32)
node2=tf.constant(4.0)
node3 = tf.add(node1, node2)
# 위 값을 print("node1=",node1, "node2=",node2, "node3=",node3)로 출력해 봐야 주소와 타입만 찍힌다. 값을 모름.
# feed data and run graph, update vars and return.
sess = tf.Session()
print ( sess.run( [node1, node2] ) ) # node1, node2를 구하여 출력.
print ( sess.run( [node3] ) ) # node3인 계산 결과를 출력. (윗줄은 데이터 값을 확인하기 위한 디버깅용)
sess.close()