728x90
1. 텐서(tensor)
2. 플레이스홀더(placeholder) : 그래프에 사용할 입력값을 나중에 받기 위해 사용하는 매개변수
3. 변수(variable) : 그래프를 최적화하는 용도로, 텐서플로우가 학습한 결과를 갱신하기 위해 사용하는 변수. 이 값들이 신경망의 성능을 좌우함
4. 연산
5. 그래프 : 텐서들의 연산 모음. 텐서플로우는 텐서와 텐서의 연산들을 먼저 정의하여 그래프를 만들고, 이후 필요한 연산을 실행하는 코드를 넣어 '우너하는 시점'에 실제 연산을 수행. 이런 방식을 지연 실행.
6. 랭크(Rank) : 차원의 수. 0이면 스칼라, 2이면 백터, 3이상 n-Tensor 또는 n 차원 텐서
7. 세이프(Shape) : 각 차원의 요소 개소, 텐서의 구조를 설명
코드 실행해보기
x_data = [[1, 2, 3], [4, 5, 6]]
W = tf.Variable(tf.random_normal([3, 2])) # [3, 2] 행렬 형태의 텐서
b = tf.Variable(tf.random_normal([2, 1])) # [2, 1] 행렬 형태의 텐서
#random_normal : 정규분포의 값을 무작위 초기화
expr = tf.matmul(X, W) + b
# X와 W가 행렬이기 때문에, tf.,atmul 함수를 사용해야 함
# 단순한 곱셈 연산자(*)나 tf.mul 함수를 사용하면 안 됨
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
# tf.global_variables_initializer : 앞에서 정의한 변수들을 초기화.
# 처음 실행시 반드시, 변수들을 초기화해야함
print("x_data :", x_data)
print("W =", sess.run(W))
print("b =", sess.run(b))
print(sess.run(expr, feed_dict = {X: x_data}))
# feed_dict : 그래프를 실행할 때 사용할 입력값을 지정.
# X가 플레이드 홀더라서, X에 값을 넣어주지 않으면 에러가 생기기 때문에
# 미리 정의해둔 x_dataㄹ르 X의 값에 넣어줘야 함
728x90
'공부하는삶 > Python' 카테고리의 다른 글
Python Composite pattern(composition), Descriptor, Meta class (0) | 2023.08.29 |
---|---|
Sequence (0) | 2020.05.09 |
Magic Method (0) | 2020.05.09 |
Gaussian Filter vs Bilateral Filter (0) | 2020.04.02 |
Python Multiprocessing module(파이썬 멀티프로세싱 모듈) (0) | 2019.11.28 |
리스트 , 딕셔너리, 집합, 튜플 (0) | 2019.09.19 |