TensorFlow学习笔记一

Ubuntu14.04(python2.7)下pip安装

更新源包

$ sudo apt-get update

安装pip

$ sudo apt-get install python-pip

安装TensorFlow(cpu版本)

$ pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl

python入门例程

#创建两个常量(向量) a,b

a=[1.,2.]

b=[3.,1.]

#求和

c=a+b

#打印结果

print("HelloWorld")

print(c)

a=1
b=2
c=a+b
print(c)


计算图

tensorflow通过计算图的形式来表述计算模型,每一个计算为计算图上的节点,节点之间的边描述了计算之间的依赖关系。主要分为两步:构建和启动。构建图:添加节点 启动图:创建会话并在会话中执行计算。

#coding=utf-8
import tensorflow as tf
#构建图
#创建起始节点,constant()
a=tf.constant([[3., 3.]])
b=tf.constant([[1.],[1.]])
#创建新节点 matmul()
c=tf.matmul(a,b)
#启动图
#创建会话
sess=tf.Session()
#运行会话
res=sess.run(c)
#打印结果
print(res)
sess.close()

TensorFlow学习笔记一_第1张图片

note:注意当在py文件中使用#注释中文时,需要先指定字符编码位数(#coding=utf-8),否则会报错,因为ASCII不包含中文字符。
Session对象在使用完毕后要关闭释放资源,也可以使用Session块语句自动释放,但要注意python的语法规则,即缩进。
with tf.Session() as sess
    res=sess.run(c)
    print(res)

变量

tf.Variable(),相比于常量tf.constant,变量的值是可变的。
import tensorflow as tf
#创建变量state
state=tf.Variable(0,name='counter')
#创建常量one
one=tf.constant(1)
#创建加法
new_value=tf.add(state,one)
update=tf.assign(state,new_value)
#初始化构造器op
init_op = tf.initialize_all_variables()
with tf.Session() as sess:
    sess.run(init_op)
    print(sess.run(state))
    for _ in range(3):
        print(sess.run(update))
TensorFlow学习笔记一_第2张图片

Fetch(取回计算值)

为了获取在计算当中的值,可以在run()函数中传入变量,可以是单个计算的变量,也可以是多个计算的变量组。
#coding=utf-8
import tensorflow as tf
#定义三个常量
i1=tf.constant(4)
i2=tf.constant(2)
i3=tf.constant(3)
#构造节点 加法、乘法
val1=tf.add(i2,i3)
val2=tf.mul(i1,val1)
#启动图
with tf.Session() as sess:
    res=sess.run([val2,val1])
    print(res)
TensorFlow学习笔记一_第3张图片
在run()中指定要返回的值的类型,这样res变量会按照指定的格式储存。如果不指定的话,run只会返回最后一次计算的结果。

Feed(填充计算值)

在定义变量时可以不赋值,而是在run()执行计算时赋值。
import tensorflow as tf
#声明三个变量
input1 = tf.placeholder(tf.types.float32)
input2 = tf.placeholder(tf.types.float32)
output = tf.mul(input1, input2)
with tf.Session() as sess:
    #在run()中填充变量值
    print sess.run([output], feed_dict={input1:[7.], input2:[2.]})

你可能感兴趣的:(深度学习)