安装tensorflow
运行python代码:
import numpy as np
import tensorflow as tf
#导入TensorFlow
w = tf.Variable(0,dtype = tf.float32)
#接下来,让我们定义参数w,在TensorFlow中,你要用tf.Variable()来定义参数
#然后我们定义损失函数:
cost = tf.add(tf.add(w**2,tf.multiply(- 10.,w)),25)
# tf.compat.v1.disable_eager_execution()
train = tf.compat.v1.train.GradientDescentOptimizer(0.01).minimize(cost)
init = tf.compat.v1.global_variables_initializer()
session = tf.compat.v1.Session()#这样就开启了一个TensorFlow session。
session.run(init)#来初始化全局变量。
#然后让TensorFlow评估一个变量,我们要用到:
session.run(w)
#上面的这一行将w初始化为0,并定义损失函数,我们定义train为学习算法,它用梯度下降法优化器使损失函数最小化,但实际上我们还没有运行学习算法,所以#上面的这一行将w初始化为0,并定义损失函数,我们定义train为学习算法,它用梯度下降法优化器使损失函数最小化,但实际上我们还没有运行学习算法,所以session.run(w)评估了w,让我::
print(session.run(w))
#所以如果我们运行这个,它评估等于0,因为我们什么都还没运行。
#现在让我们输入:
session.run(train)#它所做的就是运行一步梯度下降法。
#接下来在运行了一步梯度下降法后,让我们评估一下w的值,再print:
print(session.run(w))
#在一步梯度下降法之后,w现在是0.1。
session.run(train)
print(session.run(w))
#现在我们运行梯度下降1000次迭代:
for i in range(1000):
session.run(train)
print(session.run(w)) # 4.99999
w = tf.Variable(0,dtype=tf.float32)
#cost = tf.add(tf.add(w**2,tf.multiply(- 10.,w)),25)
cost=w**2-10*w+25
train=tf.compat.v1.train.GradientDescentOptimizer(0.01).minimize(cost)
init=tf.compat.v1.global_variables_initializer()
session=tf.compat.v1.Session()
session.run(init)
print('1==',session.run(w))
session.run(train)
print('2==',session.run(w))
for i in range(1000):
session.run(train)
print('3==',session.run(w))
coefficients=np.array([[1.],[-10.],[25.]])
w = tf.Variable(0,dtype=tf.float32)
x=tf.compat.v1.placeholder(tf.float32,[3,1])
#cost = tf.add(tf.add(w**2,tf.multiply(- 10.,w)),25)
#cost=w**2-10*w+25
cost=x[0][0]*w**2+x[1][0]*w+x[2][0]
train=tf.compat.v1.train.GradientDescentOptimizer(0.01).minimize(cost)
init=tf.compat.v1.global_variables_initializer()
session=tf.compat.v1.Session()
session.run(init)
print('1==',session.run(w))
session.run(train,feed_dict={x:coefficients})
print('2==',session.run(w))
for i in range(1000):
session.run(train,feed_dict={x:coefficients})
print('3==',session.run(w))