다음은 완전한 작업 예입니다.
import numpy as np
import tensorflow as tf
w= tf.Variable(0, dtype=tf.float32)
cost = 10 + 5*w + w*w
train = tf.train.GradientDescentOptimizer(0.01).minimize(cost)
init = tf.global_variables_initializer()
session = tf.Session()
session.run(init)
print(session.run(w))
session.run(train)
print(session.run(w))
for i in range(10000):
session.run(train)
print(session.run(w))
출력은 다음과 같습니다.
0.0
-0.049999997
-2.499994
즉, 정의 된대로 변수는 처음에 0이었고, 그래디언트 한 단계 만 수행하면 변수가 -0.049999997이되었고, 10.000 단계를 더 수행하면 -2.499994에 도달합니다 (비용 함수 기준).
참고 : 원래 대화 형 세션을 사용했습니다. 대화 형 세션은 동일한 스크립트에서 여러 세션을 실행해야 할 때 유용합니다. 그러나 단순성을 위해 비대화 형 세션을 사용했습니다.