Tensorflow testing for Ubuntu 18.04.1

lybbb 2020-06-08

Tensorflow testing for Ubuntu 18.04.1

首先,安装Ubuntu 18.04.1 Desktop系统,系统安装完后再安装 NVIDIA显卡驱动。Ubuntu 18.04的系统使用NVxxx.run安装时会提示GCC版本不匹配,所以这里换一种方式安装NVIDIA驱动,具体方法如下:

在安装之前首先就是要禁用Nouveau的驱动:

1. 按Ctrl+Alt+T打开终端,在终端输入sudo su,输入系统登入密码后按Enter键

2. 在命令行输入 #nano /etc/modprobe.d/blacklist.conf 回车

在最后一行添加“blacklist nouveau”,输入完之后按Ctrl+O,然后按Enter键,再按Ctrl+X退出编辑介面

3.#mv /lib/modules/3.19.0-25-generic (根据系统版本定,在命令行输入uname –r可以查看此版本) /kernel/drivers/gpu/drm/nouveau/nouveau.ko /lib/modules/3.19.0-25-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko.org

4. #update-initramfs –u 等待执行完是否出错

5. #reboot 

6.重启后再次登入系统,在终端输入如下命令

#lsmod | grep nouveau (没有输出表明禁用成功)

打开终端运行如下指令安装NVIDIA驱动

# sudo add-apt-repository ppa:graphics-drivers/ppa 回车

# sudo apt-get update

# sudo ubuntu-drivers devices

# sudo ubuntu-drivers autoinstall

执行完后,重启系统再次进入 Ubuntu Desktop, 运行nvidia-smi查看是否正常识别到所有显卡。

备注:如需要卸载驱动:

sudo apt remove --purge nvidia-*

sudo nvidia-uninstall

CUDA10.0安装

STEP1:CUDA官网选择适合自己系统的版本下载。

https://developer.nvidia.com/cuda-toolkit-archive

我的系统是Ubuntu18.04、64位,选择CUDA10版本如下:

STEP2:安装CUDA(右键有自带解压选项)

在命令行中键入:

加入可执行权限:

# chmod +x cuda_10.0.130_410.48_linux.run 

安装CUDA

# sudo sh cuda_10.0.130_410.48_linux.run  

一直按Enter直至把声明读完, 如果驱动是独立安装了,一定要选择不安装驱动!选择如下:

会提示:

***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 10.0 functionality to work.

To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:

sudo <CudaInstaller>.run -silent –driver

这是因为我们在安装CUDA的时候没有选择安装驱动,提示需要安装驱动,忽略就行。

STEP3:添加环境变量:#nano  ~/.bashrc

export CUDA_HOME=/usr/local/cuda 

export PATH=$PATH:$CUDA_HOME/bin 

export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存并退出

source ~/.bashrc

STEP4:测试是否安装成功

上面的选项选择安装了CUDA例子,运行其中一个来测试是否安装成功:

# cd /usr/local/cuda/samples/1_Utilities/deviceQuery 

# sudo make

# ./deviceQuery

结果如下就表明成功啦

STEP5:安装CUDNN

官网下载安装包,需要注册登录才能下载。选择适合自己的版本

https://developer.nvidia.com/rdp/cudnn-archive

下载完成后解压并进入文件夹:

# sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ 

# sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ 

# sudo chmod a+r /usr/local/cuda/include/cudnn.h 

# sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

在终端查看CUDNN版本:

# cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

Anaconda安装 (Anaconda3-5.2.0-Linux-x86_64)

cd到存放目录并执行:bash Anaconda3-5.2.0-Linux-x86_64.sh

按照提示安装即可,安装路径可以选择默认。

安装完之后(最后一个问题选no,选了yes会继续提问,则选no则可)执行:

source ~/.bashrc

检查是否安装成功

终端执行:conda list

若提示命令无法找到,则修改.profile文件:

sudo gedit ~/.profile

添加以下几行:

if [ -d "$HOME/anaconda3/bin" ] ; then

    PATH="$HOME/anaconda3/bin:$PATH"

fi 

使生效:

source ~/.profile

git的安装

# sudo apt-get install git

Tensorflow安装

1.创建tensorflow环境:

# conda create -n tensorflow pip python=3.6 (#python版本根据要安装的tensorflow选择)(后面选择y后开始下载安装,久

2.激活环境:

# source activate tensorflow

3.安装tensorflow:

# conda install tensorflow-gpu=1.13.1

4.后面如果需要使用tensorflow,则打开终端输入:source activate tensorflw,如果关闭虚拟环境,

输入source deactivate tensorflow (or conda tensorflow)即可。

5.验证tensorflow测试:

进入tensorflow虚拟环境后,输入python后回车,再逐条输入以下指令:

import tensorflow as tf

hello = tf.constant(‘Hello, TensorFlow!‘)

sess = tf.Session()

print(sess.run(hello))

输出结果应该是Hello, TensorFlow,并附带有GPU相关信息。

6.退出python script,请输入“quit()” 并回车。

Tensorflow tf_cnn_benchmark的安装及运行

1.在tensorflow环境下,下载benchmark的source code

# cd ~

# git clone https://github.com/tensorflow/benchmarks.git  

2. # cd ~/benchmarks

3. # git reset --hard 6c2ccb45049673f09fdea9406372d6561db5c4fd

4.进入测试tff_cnn_benchmarks的子目录:

# cd scripts/tf_cnn_benchmarks

5. Tensorflow性能测试:

下面是测试1张卡的指令:

#python tf_cnn_benchmarks.py --num_gpus=1 --batch_size=64 --model=resnet50 --variable_update=independent --local_parameter_device=gpu  

#python tf_cnn_benchmarks.py --num_gpus=1 --batch_size=64 --model=inception3 --variable_update=independent --local_parameter_dev ice=gpu 

#python tf_cnn_benchmarks.py --num_gpus=1 --batch_size=64 --model=alexnet --variable_update=independent --local_parameter_device=gpu 

#python tf_cnn_benchmarks.py --num_gpus=1 --batch_size=64 --model=vgg16 --variable_update=independent --local_parameter_device=gpu

如果要测试多张卡时,只要改动--num_gpus=1这项的数值就行。

循环测试指令:

python tf_cnn_benchmarks.py --num_gpus=1 --batch_size=64 --model=resnet50 --variable_update=independent --local_parameter_device=gpu --nodistortions --gradient_repacking=8 --num_epochs=90 --weight_decay=1e-4
 

watch -n 0.2 nvidia-smi

相关推荐