Tensorflow例程
1.创建图
import tensorflow as tf
m1=tf.constant([[3,3]])
m2=tf.constant([[4],[4]])
product=tf.matmul(m1,m2)
printf(product)
//输出一个tensor shapw=(1,1),dtype=int32
sess=tf.Session()
result=sess.run.(product)
print(result)
sess.close()
//或者
with tf.Session() as sess:
result=sess.run.(product)
print(result)
2.变量操作
import tensorflow as tf
x=tf.Variable([1,2])
a=tf.constant([3,3])
sub=tf.subtract(x,a)
add=tf.add(x,sub)
init=tf.global_variables_initializer()
with tf.Session() as sess:
sess.run.(init)
print(sess.run.(sub))
print(sess.run.(add))
state=tf.Variable(0,name='counter')
new_value=tf.add(state,1)
update=tf.assign(state,new_value)
init=tf.global_variables_initializer()
with tf.Session() as sess:
sess.run.(init)
print(sess.run.(state))
for _in range(5):
sess.run(update)
print(sess.run.(state))
3.fetch and feed
import tensorflow as tf
input1=tf.constant(3,0)
input2=tf.constant(2,0)
input3=tf.constant(1,0)
add=tf.add(input2,input3)
mul=tf.multiply(input1,add)
with tf.Session() as sess:
result=sess.run([mul,add])//fetch可以运行多个op
print(result)
input1=tf.placeholder(tf.float32)
input2=tf.placeholder(tf.float32)
output=tf.multiply(input1,input2)
with tf.Session() as sess:
print(sess.run(output,feed_dict={input1:[3.],input2:[4.]}))//feed的数据以字典的形式传入
4.线性模型
import tensorflow as tf
import numpy as np
x_data=np.random.rand(100)
y_data=x_data*0.1+0.8
b=tf.Variable(0.)
k=tf.Variable(0.)
y= k*x_data+b
loss=tf.reduce_mean(tf.square(y_data-y))
optimizer=tf.train.GradientDescentOptimizer(0.01)
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]))