Ось повний робочий приклад:
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 (на основі нашої функції витрат).
Примітка: Ви спочатку використовували інтерактивний сеанс. Інтерактивний сеанс корисний, коли кілька різних сеансів потрібно було запускати в одному сценарії. Однак я використовував неінтерактивний сеанс для простоти.