1、tensorflow中的fetch ,同时运行多个op操作,得到多个结果
import tensorflow as tf #fetch同时运行多个op操作,得到多个结果 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])#此处多个op操作 print(result)
[21.0, 7.0]
2、tensorflow中的feed,数据在op运行时利用feed以字典形式赋值
#feed import tensorflow as tf input1=tf.placeholder(tf.float32)#创建一个占位符,32位float input2=tf.placeholder(tf.float32) output=tf.multiply(input1,input2)#这里可以先不赋值,放到op运行时赋值 with tf.Session()as sess: #feed的数据以字典的形式传入 print(sess.run(output,feed_dict={input1:[7.],input2:[2.]}))
3、运用tensorflow做一个线性拟合
#运用tensorflow进行线性拟合 import tensorflow as tf import numpy as np #使用numpy生成100个随机点 x_data=np.random.rand(100) y_data=x_data*0.1+0.2 #构造一个线性模型 b=tf.Variable(0.)#先定义一个变量,0.可以改任意值 k=tf.Variable(0.) y=k*x_data+b #二次代价函数 loss=tf.reduce_mean(tf.square(y_data-y))#实际值减去预测值,然后求平方,再求均值 #定义一个梯度下降法来进行训练的优化器 optimizer=tf.train.GradientDescentOptimizer(0.2) #最小化代价函数 train=optimizer.minimize(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]))
0 [0.04807707, 0.09825017]
20 [0.09896582, 0.20050524]
40 [0.09939657, 0.20029491]
60 [0.09964789, 0.20017208]
80 [0.09979453, 0.20010042]
100 [0.0998801, 0.20005861]
120 [0.09993004, 0.20003419]
140 [0.09995918, 0.20001996]
160 [0.09997618, 0.20001164]
180 [0.099986106, 0.2000068]
200 [0.099991895, 0.20000397]