最近在学习Google新开源的深度学习框架TensorFlow。发现安装它的时候,需要依赖Python2.7.X;我之前一直使用的Linux是CentOS。而CentOS不更新了,里面的自带的Python一般都是python2.6以下的。不仅如此,系统里面很多组件又依赖python2.6,所以导致你都不能替换掉它。无奈之下,选择Ubuntu了。下面介绍一下使用Ubuntu安装TensorFlow遇到的一些问题。
深度解读谷歌 SyntaxNet:全新 TensorFlow 自然语言处理模型 http://www.linuxidc.com/Linux/2016-05/131492.htm
开源系统TensorFlow 0.8 发布 – 支持分布式计算 http://www.linuxidc.com/Linux/2016-04/130510.htm
1、Ubuntu无法用Winscp连接
解决办法:
(1)、采用桥接的方式进行上网(由于是用虚拟机安装的操作系统)
(2)、利用ps -e |grep ssh 查看是否有sshd进程开启。如果没有则需要安装openssh-server
安装的方式:sudo apt-get install openssh-server
启动相应的进程:/etc/init.d/ssh start
(3)、此时需要reboot系统
(4)、由于ubuntu最初root的用户是没有被**的,所以需要通过修改root用户密码来**root用户。
完成即可连接了。
2、安装tensorflow。
由于我的ubuntu是最新版的(ubuntu-16.04-desktop-amd64),里面自带的python是2.7.11。因此满足要求。由于tensorflow有三种安装方式,这里采用的是pip安装方式。下面开始安装tensorflow:
(1)首先安装pip
sudo apt-get install python-pip python-dev
(2)利用pip安装tensorflow
sudo pip install --upgrade
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
安装好了后,如下图所示:
根据上面黄色的提示,叫我升级pip:于是我就按照他的要求升级了,执行:pip install --upgrade pip
3、检验tensorflow是否安装成功
通过下面一段代码来测试tensorflow是否安装成功:
$ python
...
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print(sess.run(a + b))
42
>>>
下面是我执行的结果如下图所示:
4、安装python-numpy ,python-scipy,python-matplotlib
sudo apt-get install python-numpy
sudo apt-get install python-scipy
sudo apt-get install python-matplotlib
验证是否安装成功
本学习笔记根据自己看中文文档以及博客和视频课写下的学习记录!
本节的目的是了解和运行 TensorFlow!
在开始之前, 让我们先看一段使用 Python API 撰写的 TensorFlow 示例代码, 让你对将要学习的内容有初步的印象.
中文学习网站:http://www.tensorfly.cn/tfdoc/get_started/introduction.html
这段很短的 Python 程序生成了一些三维数据, 然后用一个平面拟合它.
- 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
- # 构造一个线性模型
- # 用Variable来定义变量
- 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)
- # 初始化变量
- init = 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]
安装
我是在Linux下安装的tensorflow1.0版本的,貌似默认就变成python3.x版本的了(因为我系统默认是python2.7,但是安装后,python2.7语法会报错,以python3.x的语法就没有错了)。
由于很多小伙伴不可以翻墙(可以翻墙的同学,我这里就跳过啦,网上安装方法很多,我这里就只讲不可以翻墙的方法),所以大家推荐一个不错的方法:
- sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow
如果不行就试试下面的方法,不过我上面的方法就通过了,嘻嘻
- sudo pip install -i http://pypi.douban.com/simple tensorflow
注意加上sudo,否则就会保错,我开始就忘记加了,郁闷了好久,哈哈
测试安装是否成功
- $ python
- >>> import tensorflow as tf
- >>> hello = tf.constant('Hello, TensorFlow!')
- >>> sess = tf.Session()
- >>> print(sess.run(hello))
- Hello, TensorFlow!
- >>> a = tf.constant(10)
- >>> b = tf.constant(32)
- >>> print(sess.run(a+b))
- 42
- >>>