0. 写点儿闲话
其实开始关注TensorFlow已经两个月了,一直尝试着要在电脑上安装尝试,可数次都是花了很长时间尝试种种最后未能如愿。也正好因为这两个月忙着要改论文交论文和处理回国事宜,所以就暂时就放了下来。正好今天有了时间,心想着再尝试一次,结果没有想到,花费了不到一个小时就完成了安装和第一个程序的验证。从今天起,Tensorflow之旅正式开始!
1. 安装教程
前几次的安装都是按照Tensorflow中文社区安装教程来安装的,几次都是在某些莫名的地方出现问题没法进行下去了。这次是拜真正从零开始,Tensorflow详细安装图文教程所指导,得以顺利安装成功。后者讲解详细,对过程中出现的问题都作出了解释,很顺利得就安装成功了。
2. 安装流程
2.1 安装pip
必不可少的python-pip和python-dev
在这个Terminal窗口中输入命令:
$ sudo apt-get install python-pip python-dev
2.2 安装Tensorflow
命令如下
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
在这一步遇到了如下问题,按照教程的指示,更新pip可解决,详细内容可阅读《真正从零开始》
更新完成后再次输入安装命令,故障已排除。不过由于是谷歌的服务器,果不其然出现了如下连接故障。
尝试多次(10次以上)后终于正常下载并安装成功了。
3. 初次运行
安装好之后就要兴致勃勃地进行第一次运算了,这里我用的是中文社区的代码,代码如下:
import tensorflow as tf
import numpy as np
# 使用 NumPy 生成假数据(phony data), 总共 100 个点.
x_data = np.float32(np.random.rand(2, 100)) # 随机输入
y_data = np.dot([0.100, 0.200], x_data) + 0.300
# 构造一个线性模型 #
b = tf.Variable(tf.zeros([1]))
W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
y = tf.matmul(W, x_data) + b
# 最小化方差
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
# 初始化变量
nit = tf.initialize_all_variables()
# 启动图(graph)
sess = tf.Session()
sess.run(init)
# 拟合平面
for step in xrange(0, 201):
sess.run(train)
if step % 20 == 0:
print step, sess.run(W), sess.run(b)
# 得到最佳拟合结果 W: [[0.100 0.200]], b: [0.300]
使用的IDE为Eric。 需注意,以上的代码需要由python2来执行,如使用python3执行的话会报错(如print语句在python2 和Python3中使用不一样)。
在Eric Python IDE中设置执行的Python版本的方法如下:
在右侧的Preferences中点选Debugger中的Python选项卡,将.py文件加入关联资源,并在Python3选项卡中取消.py 文件的关联,之后重启运行,故障排除,程序顺利运行并得到理想中的结果:w:[0.1, 0.2] b [0.3]
结果如下: