티스토리 뷰
텐서플로우 Variable 에 대해서 알아보겠다.
아래의 코드는 각 변수에 5, 10, 3 을 할당하며 기본적으로 텐서의 정보가 반환이 될 것이라고 예상하는 코드이다.
그리고 이를 출력한다면?
1 2 3 4 5 6 7 | var1 = tf.Variable([5]) var2 = tf.Variable([10]) var3 = tf.Variable([3]) var4 = var1 * var2 + var3 print(var4) | cs |
var4 에 해당하는 텐서의 정보가 출력되어야 할 것이라 생각하고 돌려봤지만 수많은 알 수 없는 오류가 뿜어져나온다.
이게 무엇이란 말이냐 ㅜㅜ..
그렇다 Variable은 텐서가 아니라 하나의 객체가 되는 것이다. 즉 Variable 클래스의 인스턴스가 생성되는 것이고 해당 인스턴스를 그래프에 추가시켜주어야 한다.
따라서 어떻게 코드를 수정해야 하느냐면..
1 2 3 4 5 6 7 8 9 10 11 12 13 | var1 = tf.Variable([5]) var2 = tf.Variable([10]) var3 = tf.Variable([3]) var4 = var1 * var2 + var3 init = tf.global_variables_initializer() sess.run(init) print(var4) result = sess.run(var4) print(result) | cs |
출력결과는 다음과 같다.
Tensor("add_7:0", shape=(1,), dtype=int32)
[18]
이와 같이 수정해주어야 한다. 실제 global_variables_initializer() 를 사용하여야 한다. 이 자체가 연산이 된다.
global_variables_initializer() 를 호출하기 전에 그래프의 상태는 각 노드에 값이 아직 없는 상태를 의미한다.
따라서 해당 함수를 사용해주어야 Variable 의 값이 할당 되는 것이고 텐서의 그래프로써의 효력이 발생하는 것이다.
(이전 버전에서는, .initialize_all_variables() 였다 )
반응형
'TensorFlow' 카테고리의 다른 글
텐서플로우(Tensorflow) - 로지스틱 회귀 (Logistic Regression) (0) | 2017.05.31 |
---|---|
텐서플로우(Tensorflow) - 선형 회귀 (Linear Regression) 구현 (1) | 2017.05.13 |
텐서플로우(Tensorflow) 기본 문법 - Placeholder (2) | 2017.05.09 |
텐서플로우(Tensorflow) 아키텍쳐 (0) | 2017.05.09 |
텐서플로우(Tensorflow) 기본 문법 - Constant (0) | 2017.05.09 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- linear regression
- 선형회귀 구현
- 텐서플로우
- Machine Learning
- 선형회귀
- Machine Learning Concept
- dynamodb #dynamodb stream #stream
- 텐서플로우 아키텍쳐
- 머신러닝 개념
- 머신러닝
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함