Ubuntu 16.04安装tensorflow运行环境

上一篇博文本来是为这篇博文做铺垫的,但是真正在安装tensorflow的时候,却发现因为有Anaconda和PyCharm的存在,其实不需要手动安装CUDA和cuDNN,且Python包的管理也简化了,故在此记录一下。

关闭自动更新并主动更新系统依赖

Ubuntu自动更新软件在后台运行的时候会导致终端中很多命令无法使用,故新系统建议关闭自动更新。设置方法为在Software & Updates中定位到Updates,将Automatically check for updatesNotify me of a new Ubuntu version设置为Never,如图所示。 关闭自动更新

主动更新依赖命令

1
2
sudo apt update
sudo apt upgrade

添加ppa源

Ubuntu 16.4官方源的驱动版本已经过时,不支持CUDA 10.0,好在NVIDIA为Ubuntu 16.04提供了ppa源,其中有支持CUDA 10.0的显卡驱动可用。命令如下:

1
2
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

安装显卡驱动

Software & Updates中定位到Additional Drivers,选择最新版本的NVIDIA binary driver(至少不能低于CUDA文件包含的版本号,后文会有),然后Apply Changes。等待安装完成之后reboot即可,如图所示。 Additional Drivers

安装Anaconda

参考Anaconda官网安装指南安装即可。

安装PyCharm

Ubuntu Software中搜索PyCharm并安装PyCharm CE即可。

使用PyCharm管理Python环境

启动PyCharm,在创建项目的时候需要选择运行环境,PyCharm在这里提供了调用Conda的接口。在New environment using Conda那里选择目标Python版本,然后Create即可创建一个项目和Python环境,Python版本的选择与你自己目标tensorflow版本之间的关系参考这里。等待创建完成进入PyCharm之后,进入File>>Settings>>Project: project name>>Python Interpreter即可管理Python包。点击+并搜索tensorflow-gpu并安装即可,注意右下角可以选择特定的版本。通过此方法安装tensorflow不需要手动安装CUDA和cuDNN,Conda会自动安装相关依赖。

测试

在刚才的项目中创建一个Python文件,添加来自tensorflow官网的测试代码并运行,查看输出是否有报错,是否有使用到CUDA等。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# https://www.tensorflow.org/tutorials/quickstart/beginner
import tensorflow as tf
mnist = tf.keras.datasets.mnist

(x_train, y_train), (x_test, y_test) = mnist.load_data()

x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28,28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5)

model.evaluate(x_test, y_test, verbose=2)
0%