[toc]
Fetch
input1=tf.constant(3.0)
input2=tf.constant(2.0)
input3=tf.constant(5.0)
add=tf.add(input2,input3)
mul=tf.multiply(input1,add)
with tf.Session() as sess:
result=sess.run([mul,add])
print(result)
Feed
#创建占位符
input1=tf.placeholder(tf.float32)
input2=tf.placeholder(tf.float32)
output=tf.multiply(input1,input2)
with tf.Session() as sess:
#feed的数据以字典形式传入
print(sess.run(output,feed_dict={input1:[8.],input2:[2.]}))
简单示例
x_data=np.random.rand(100)
y_data=x_data*0.1+0.2
#构造一个线性模型
b=tf.Variable(0.) #b,k是多少都无所谓,足够的迭代之后一定会趋近于某个值
k=tf.Variable(0.)
y=k*x_data+b
#二次代价函数
loss=tf.reduce_mean(tf.square(y_data-y))#误差取平方再求平均
#定义一个梯度下降法来进行训练的优化器
optimizer=tf.train.GradientDescentOptimizer(0.2) #0.2的学习率
#最小化代价函数
train=optimizer.minimize(loss) #loss越小,结果越好
#初始化变量
init=tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for step in range(201):
sess.run(train)
if step%20==0:
print(step,sess.run([k,b]))