当下深度学习框架特别多,但由于google强大的社区和技术,使得tensorflow从中脱颖而出。在官方文档中提到,TensorFlow的安装主要有以下五种形式:
在这里,我主要推荐的是anaconda安装。原因有两点:
下面我们将进入到正题。
若安装cpu版的tensorflow,这步跳过。但若时gpu版的tensorflow,则需要这步。
1.首先conda一个新的环境,即输入以下命令:
conda create -n tensorflow pip python=2.7
因为Anaconda2-4.3.0-Linux-x86_64.sh默认的Python环境是python2.7,因此我们应该create一个python2.7的环境。创建成功后,输入conda info –envs可以查看我们create的环境,如下图所示:
注:上面这一句存疑,以后以可以试一下Anaconda2创建python3的环境,并安装适合版本的tensorflow。此处创建python2.7环境是因为想跑工程的教程用的是python2.7环境,为了保持一致。
2.激活环境:
source activate tensorflow
此时界面应该是这样的:
退出环境则需要输入:
source deactivate
3.安装tensorflow
激活tensorflow环境后输入以下命令(需要漫长的等待):
pip install tensorflow-gpu==1.15.0
以下为扩展内容,不报错的话,证明已经安装成功,可以直接跳到四进行测试。
注意:选择版本tensorflow-gpu==1.15.0是因为之前所安装的cuda以及cudnn版本,须知CUDA与cudnn、tensorflow有严格的版本对应关系。
https://tensorflow.google.cn/install/source_windows#tested_build_configurations
安装完成之后退出环境,即输入source deactivate。
若要下载最新版的tensorflow,则需输入:
# cpu
pip install tensorflow
# gpu
pip install tensorflow-gpu
因为某些原因有时下载的很慢,但有时正常~~~为了保险起见,有两种解决办法:
pip install tensorflow -i http://mirrors.aliyun.com/pypi/simple/
部分安装方式需要您提供 TensorFlow Python 软件包的网址。需要根据 Python 版本指定网址。
https://tensorflow.google.cn/install/pip#package-location
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-1.0.0rc0-cp27-none-linux_x86_64.whl -i http://pypi.douban.com/simple
打开终端,激活环境,输入
import tensorflow as tf
不报错即可,如下图所示:
以上已经可以证明安装成功,下面这一步是进一步测试,可以省略。
验证gpu是否可用:
import tensorflow as tf
tf.test.is_gpu_available()
返回true即可
官方文档中提供一段检查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
>>>
运行结果如下所示:
查看TensorFlow的版本:
>>> import tensorflow as tf
>>> tf.__version__
'0.11.0rc2'
查看TensorFlow安装路径:
>>> tf.__path__
['/usr/local/ml/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow']
测试,创建一空文件夹(不是工作空间),文件夹下创建python文件,比如test.py,在文件夹下打开终端,激活对应环境,执行python test.py:
# coding=utf-8
import tensorflow as tf
from numpy.random import RandomState
batch_size = 8
w1 = tf.Variable(tf.random_normal([2, 3], stddev=1, seed=1))
w2 = tf.Variable(tf.random_normal([3, 1], stddev=1, seed=1))
x = tf.placeholder(tf.float32, shape=(None, 2), name='x-input')
y_ = tf.placeholder(tf.float32, shape=(None, 1), name='y-input')
a = tf.matmul(x, w1)
y = tf.matmul(a, w2)
cross_entropy = -tf.reduce_mean(y_ * tf.log(tf.clip_by_value(y, 1e-10, 1.0)))
train_step = tf.train.AdamOptimizer(0.001).minimize(cross_entropy)
rdm = RandomState(1)
dataset_size = 128
X = rdm.rand(dataset_size, 2)
Y = [[int(x1 + x2 < 1)] for (x1, x2) in X]
with tf.Session() as sess:
init_op = tf.global_variables_initializer()
sess.run(init_op)
print(sess.run(w1))
print(sess.run(w2))
STEPS = 5000
for i in range(STEPS):
start = (i * batch_size) % dataset_size
end = min(start + batch_size, dataset_size)
sess.run(train_step, feed_dict={x: X[start:end], y_: Y[start:end]})
if i % 1000 == 0:
total_cross_entropy = sess.run(cross_entropy, feed_dict={x: X, y_: Y})
print("After %d training step(s),cross entropy on all data is %g" % (i, total_cross_entropy))
print(sess.run(w1))
print(sess.run(w2))
运行之:
可以看到启用了GPU。
注:作者的结果有不同,Successfully opened dynamic library libcublas.so.10.0,不知道是否表示启用了GPU,还是仅仅启用了CPU。
关于TensorFlow | TensorFlow中文官网
深度学习框架tensorflow配置(ubuntu14.04+cuda8.0+cudnn v5.1+anaconda2+tensorflow)_wyz6666的博客-CSDN博客
Ubuntu环境下Anaconda安装TensorFlow并配置Jupyter Notebook远程访问_Linux教程_Linux公社-Linux系统门户网站
ubuntu18.04 tensorflow-gpu1.13+cuda10.0+cudnn7.5安装配置_南派叁叔的博客-CSDN博客