TensorFlow 程序的的一般结构

来自吴恩达深度学习系列视频,博主给差不过每行代码加了详细解释。

import numpy as np
import tensorflow as tf

coefficients = np.array([[1.], [-20], [100.]]) #3行一列的系数矩阵

w = tf.Variable(0, dtype=tf.float32)   #创建变量w为0 类型为tf.float32
x = tf.placeholder(tf.float32, [3, 1]) #占位符 先声明类型后feed数据
#定义cost函数 J=w^2 - 10*w + 25
#cost = tf.add(tf.add(w**2, tf.multiply(-10., w)), 25)
#cost = w**2 - 10*w + 5

cost = x[0][0]*w**2 + x[1][0]*w + x[2][0]

#调用tf自带的GradientDescentOptimizer 设置learning_rate = 0.01
#调用GradientDescentOptimizer自带的minize去降低cost
train = tf.train.GradientDescentOptimizer(0.01).minimize(cost)

#指定init方法
init = tf.global_variables_initializer()

#创建一个新的会话
session = tf.Session()

#在当前会话下运行init 然后打印w的当前值
session.run(init)
print(session.run(w))

#在当前会话下运行一次梯度下降 然后打印w的当前值
session.run(train, feed_dict={x:coefficients})
print(session.run(w))

#执行1000次梯度下降 然后打印w当前值
for i in range(1000):
    session.run(train, feed_dict={x:coefficients})
print(session.run(w))

当前代码的运行结果:

0.0
0.19999999
9.999977
posted @ 2018-12-08 21:49  从流域到海域  阅读(62)  评论(0编辑  收藏  举报