使用tensorflow必须知道:
- 使用图graph来计算
- 在会话session的上下文context中执行图。
- 使用tensor数据
- 通过变量Variable维护状态
使用feed和fetch可以为任意的操作赋值或从中获取数据
计算任务由计算图执行,且需要在会话中执行,执行时将每一个节点op发送到各个cpu或gpu设备上,执行完方法会返回tensor,一般在Python中是numpy的ndarray对象。
tensorflow程序通常被组织成一个构建阶段和执行阶段,在构建阶段,op的执行步骤被描述成一个图,在执行阶段,在会话中返回执行中的op。例如构建一个图来表示和训练一个神经网络,然后在执行阶段反复执行图中的训练op。
构建图就是创建op,源op不需要任何输入,如常量constant,输出传递给其他op计算。tensorflow有一个默认的图。op构造器给其增加节点.
#coding=utf-8
import tensorflow as tf
'''
hello=tf.constant("helo tensorflow")
sess=tf.Session()
print sess.run(hello)
a=tf.constant(10)
b=tf.constant(32)
print sess.run(a+b)
'''
'''
matrix1=tf.constant([[3.,3.]])
matrix2=tf.constant([[2.],[2.]])
product=tf.matmul(matrix1,matrix2)
'''
'''
sess=tf.Session()
result=sess.run(product)
print result
sess.close()
'''
'''
with tf.Session() as sess:
with tf.device('/gpu:1'):
pass
result=sess.run(product)
print result
'''
'''
交互式使用
sess=tf.InteractiveSession()
x=tf.Variable([1.0,2.0])
a=tf.constant([3.0,3.0])
x.initializer.run()
sub=tf.sub(x,a)
print sub.eval()
'''
'''
变量
state=tf.Variable(0,name='counter')
one=tf.constant(1)
new_value=tf.add(state,one)
update=tf.assign(state,new_value)
init_op=tf.initialize_all_variables()
with tf.Session() as sess:
sess.run(init_op)
print sess.run(state)
for _ in range(3):
sess.run(update)
print sess.run(state)
'''
'''
fetch
input1 = tf.constant(3.0)
input2 = tf.constant(2.0)
input3 = tf.constant(5.0)
intermed = tf.add(input2, input3)
mul = tf.mul(input1, intermed)
with tf.Session() as sess:
result = sess.run([mul, intermed])
print result
'''
'''
feed
input1 = tf.placeholder(tf.types.float32)
input2 = tf.placeholder(tf.types.float32)
output = tf.mul(input1, input2)
with tf.Session() as sess:
print sess.run([output], feed_dict={input1:[7.], input2:[2.]})
'''