엔지니어가 되고 싶은 공돌이
03. 텐서플로우 기초 코딩 본문

1. 정의
텐서플로우: 텐서를 흘려보내면서 데이터를 처리하는 라이브러리
텐서: 다차원 배열
랭크: 텐서의 차원, 랭크가 0이면 스칼라, 1이면 벡터, 2이면 행렬, 3이상이면 텐서라고 부른다.
- 텐서들은 계산 그래프 구조를 통해 노드에서 노드로 이동한다.
- 텐서플로우 프로그램 작성 과정: 그래프 생성 -> 그래프 실행
: 생성과 실행을 따로 하는 이유는 실행과정에서 생성한 전체 그래프중 일부만 사용할 수 도 있기 때문.
- 노드에 연산, 변수, 상수등을 정의
2. 기초 코딩
import tensorflow as tf
# 그래프 노드를 정의하고 출력합니다.
# 출력값 : Tensor("Const:0", shape=(), dtype=float32) Tensor("Const_1:0", shape=(), dtype=float32)
node1 = tf.constant(3.0, dtype=tf.float32)
node2 = tf.constant(4.0) # 암시적으로 tf.float32 타입으로 선언될 것입니다.
print(node1, node2)
# 세션을 열고 그래프를 실행합니다.
# 출력값 : [3.0, 4.0]
sess = tf.Session()
print(sess.run([node1, node2]))
# 두개의 노드의 값을 더하는 연산을 수행하는 node3을 정의합니다.
# 출력값:
# node3: Tensor("Add:0", shape=(), dtype=float32)
# sess.run(node3): 7.0
node3 = tf.add(node1, node2)
print("node3:", node3)
print("sess.run(node3):", sess.run(node3))
sess.close()
1. import tensorflow as tf
: 텐서플로 라이브러리를 사용하기위해 import
2. node1 = tf.constant(3.0, dtype = tf.float32)
: 상수값을 표현 하는 노드를 정의
3. sess =tf.Session()
print(sess.run([node1, node2]))
: 세션을 열고 그래프를 실행
4. node3 = tf.add(node1, node2)
: node1과 node2의 값을 더하는 연산을 수행하는 노드를 정의
5. sess.close()
: 모든 코드를 실행했으니 세션을 닫는다.
3. tf.constant
tf.constant(value, dtype, shape, name)
- value: 상수값이며 직접 지정하거나 shape형태로 채울 값을 지정
- dtype: 데이터 타입
- shape: 상수 데이터의 형태
- name: 텐서의 이름
참고문헌: 솔라리스, 텐서플로로 배우는 딥러닝, 영진닷컴, 2018.
http://www.yes24.com/Product/Goods/66539232
www.yes24.com
'Artificial Intelligence > Basic Tensorflow' 카테고리의 다른 글
04 . placeholder (0) | 2020.01.20 |
---|---|
02. Tensorflow (0) | 2020.01.20 |
01. 인공지능, 머신러닝, 딥러닝 (0) | 2020.01.20 |