A simple code example
import numpy as np
import tensorflow as tf
## Convert to version 1.0
#import tensorflow.compat.v1 as tf
#tf.disable_v2_behavior()
coefficients = np.array([[1], [-16], [64]])
w = tf.Variable([0], dtype=tf.float32)
x = tf.placeholder(tf.float32, [3,1])
cost = x[0][0]*w**2 + x[1][0]*w + x[2][0] #(w-8)**2
# Or, tf.matmul(a,b) to do a matrix multiplication; tf.add(a,b) to do an addition
train = tf.train.GradientDescentOptimizer(0.01).minimize(cost)
init = tf.global_variables_initializer()
session = tf.Session()
session.run(init)
print(session.run(w))
###################
## The with command in Python is a little bit better at cleaning up in cases an error in exception while executing this inner loop.
## And this takes care of closing the session for you
# with tf.Session() as session:
# session.run(init)
# print(session.run(w))
#############
for i in range(1000):
session.run(train, feed_dict = {x:coefficients})
print(session.run(w))
session.close() # You don't need this if you use the with command
Output:
[0.]
[7.9999886]