Tensorflow 入门一 (安装配置,会话控制,变量常量,传入值)

Tensorflow:

TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,主要是深度神经网络模型。
也是一时兴起开始学习这玩意,走到哪,博客写到哪里,全当记录。
主要参考资料一方面是0.8.0版极客学院翻译版资料,另一方面是油管上周莫烦的视频资料(附上地址:https://www.youtube.com/user/MorvanZhou/featured)

安装配置:

因为不支持Windows系统,只能在Mac或Linux上使用,因此Windows系统可以装个VM虚拟机。
官网是提供了pip, Docker, Virtualenv, Anaconda 等多种方法安装TensorFlow,但是我只走了pip这一条路。
本人使用的是Ubuntu 64位版本,没有多少坑,直接跟着官网走就行(比以前搞得Xamarin,RN之类的要顺畅不知道多少倍),顺心不少。

0.8.0版本:
安装pip
python2.7版本:
# Ubuntu/Linux 64-bit
$ sudo apt-get install python-pip python-dev
python3.4版本:
# Ubuntu/Linux 64-bit
$ sudo apt-get install python3-pip python3-dev

安装TensorFlow
python2.7版本:
# Ubuntu/Linux 64-bit, CPU only, Python 2.7:
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
python3.4版本:
# Ubuntu/Linux 64-bit, CPU only, Python 3.4:
$ sudo pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl

0.11.0rc1版本:
安装pip和0.8.0版本一样,就不赘述了。

安装TensorFlow
python2.7
# Ubuntu/Linux 64-bit, CPU only, Python 2.7
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc1-cp27-none-linux_x86_64.whl
python3.4
# Ubuntu/Linux 64-bit, CPU only, Python 3.4
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc1-cp34-cp34m-linux_x86_64.whl
python3.5
# Ubuntu/Linux 64-bit, CPU only, Python 3.5
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc1-cp35-cp35m-linux_x86_64.whl
最后统一调用
# Python 2
$ sudo pip install --upgrade $TF_BINARY_URL

# Python 3
$ sudo pip3 install --upgrade $TF_BINARY_URL

注意:

1.以上皆为CPU only版本,TensorFlow可以使用GPU启用版本为其运算加速,但我使用了VM虚拟机,又是GTX1070最新显卡,鬼知道会出什么岔子,因此没有用。
2.极客学院只针对了0.8.0版本进行翻译,没有之后版本的。
3.Ubuntu本身自带python3.5.2和2.7版本,不需要另行安装。
4.3Python3.5版本的TensorFlow至少0.9.0版本。

会话控制 Session:

TensorFlow中的Session主要用于执行命令,不管你前面做了什么,比如使用add(),mul()方法,相加也好,相乘也好,不执行Session().run()就不会执行相应的操作。
例子如下:
import tensorflow as tf

matrix1 = tf.constant([[3,3]]) #创建一行两列矩阵
matrix2 = tf.constant([[2],[2]]) #创建两行一列矩阵

product = tf.matmul(matrix1,matrix2) #矩阵乘法

#方法1
sess = tf.Session() 
result = sess.run(product) #启用Session().run()才算执行
print(result)
sess.close()

#方法2
with tf.Session() as sess:
	result2 = sess.run(product)
	print(result2)
方法1是常规的Session使用方法,方法2中可以看出,Session还支持Python中的上下文管理协议with。

变量 Variable 常量 constant:

TensorFlow中创建变量,虽不需要指出变量类型,但是要在创建时表明这个是变量。变量创建方法Variable(),常量创建方法constant()。
例子如下:
import tensorflow as tf

state = tf.Variable(0,name='counter') #初始值0,名字counter
print(state.name)
one = tf.constant(1) #常量

new_value = tf.add(state, one)
update = tf.assign(state, new_value) #new_value参数替换state

init = tf.initialize_all_variables() #初始化变量,变量才会起作用

with tf.Session() as sess:
	sess.run(init)
	for i in range(3): #循环执行sess.run()三次,累加三次
		sess.run(update)
		print(sess.run(state)) #不能直接输出state,必须使用sess.run(state)

传入值 placeholder:

可以从外界传入数值的方法,用placeholder保留一个数据的位置,之后可以在Session().run()的时候进行赋值。
例子如下:
import tensorflow as tf

#placeholder类似input
input1 = tf.placeholder(tf.float32) #需要保证placeholer的类型
input2 = tf.placeholder(tf.float32)

output = tf.mul(input1,input2) #乘法运算

with tf.Session() as sess:
	print(sess.run(output,feed_dict={input1:[7.],input2:p[2.]})) #以feed_dict形式传入数值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值