(一)卸载cuda10.2
参考帖子:
Nvidiajetsonnano配置CUDA9CUDNN7.1.5 - 百度文库
1、卸载cuda
查看已安装cuda
#通过dpkg命令,查看相关cuda安装的包
dpkg -l | grep -i cuda
查询出来是这些,可以根据查询出来的包来⽤apt-get卸载
(下面不是自己的,贴了别人的做演示)
sudo apt-get remove cuda-cublas-10-0
sudo apt-get remove cuda-repo-l4t-10-0-local-10.0.166
sudo apt-get remove cuda-toolkit-10-0
sudo apt-get remove cuda-cudart-10-0
sudo apt-get remove cuda-license-10-0
卸载cuda,我这⾥⼀次性卸载
sudo apt-get remove cuda*
2、卸载cudnn
查询cudnn相关已安装包
dpkg -l | grep -i cudnn
卸载cudnn
sudo apt-get remove libcudnn8*
3、卸载nvinfer
查询nvinfer相关已安装包
dpkg -l | grep -i libnvinfer
卸载nvinfer
sudo apt-get remove libnvinfer*
4、卸载visionwork(根据⾃⼰需求来选择卸载)
查询visionwork相关已安装包
dpkg -l | grep -i vision
卸载visionwork
sudo apt-get remove libvisio*
5、卸载opencv(根据⾃⼰需求来选择卸载)
查询opencv相关已安装包
dpkg -l | grep -i opencv
卸载opencv
sudo apt-get remove libopencv*
(二)下载cuda9、cudnn7
参考帖子:
arm安装cuda9.0,tensorflow-gpu, jetson tx2安装Jetpack踩坑合集 - 水木清扬 - 博客园
Jetson TX2 安装 cuda9.0 及 cudnn7 超详细(真实亲测) - 灰信网(软件开发博客聚合)
1、在下面网站下载.run文件
Jetson Download Center | NVIDIA Developer
2、将文件拷贝到ubuntu16上,操作(注意:ubuntu18不可以)
先给777权限,再 ./ xxx.run
(等待安装。。。)
(注意:路径中不能有 中文!!!)
3、打开 jetpack_download 文件夹
下载完成后文件是这些:
cuda-repo-l4t-9-0-local_9.0.252-1_arm64.deb
libcudnn7_7.1.5.14-1+cuda9.0_arm64.deb
libcudnn7-dev_7.1.5.14-1+cuda9.0_arm64.deb
libcudnn7-doc_7.1.5.14-1+cuda9.0_arm64.deb
libnvinfer4_4.1.3-1+cuda9.0_arm64.deb
libnvinfer-dev_4.1.3-1+cuda9.0_arm64.deb
libnvinfer-samples_4.1.3-1+cuda9.0_arm64.deb
libgie-dev_4.1.3-1+cuda9.0_arm64.deb
(三)安装cuda9、cudnn7
(根据这些顺序来安装)
(去到下载好解压的⽂件夹中,命令⾏输⼊)
1、安装cuda
sudo dpkg -i cuda-repo-l4t-9-0-local_9.0.252-1_arm64.deb
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
sudo apt update
sudo apt-get install cuda-toolkit-9-0
2、安装cudnn
由于都是 .deb 文件,因此直接使用 下面的命令安装即可:
sudo dpkg -i libcudnn7_7.1.5.14-1+cuda9.0_arm64.deb
sudo dpkg -i libcudnn7-dev_7.1.5.14-1+cuda9.0_arm64.deb
sudo dpkg -i libcudnn7-doc_7.1.5.14-1+cuda9.0_arm64.deb
3 、安装nvinfer
sudo dpkg -i libnvinfer4_4.1.3-1+cuda9.0_arm64.deb
sudo dpkg -i libnvinfer-dev_4.1.3-1+cuda9.0_arm64.deb
sudo dpkg -i libnvinfer-samples_4.1.3-1+cuda9.0_arm64.deb
4 、安装libgie
sudo dpkg -i libgie-dev_4.1.3-1+cuda9.0_arm64.deb
(四)配置环境变量
1、修改cuda的环境变量(没有gedit可以⽤vim)
sudo gedit ~/.bashrc
打开后,拉到最下⾯,将原来的cuda10的环境变量都删除掉。
写⼊
export CUBA_HOME=/usr/local/cuda-9.0
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-9.0/bin:/usr/local/bin/cmake:$PATH
保存退出,更新环境变量
source ~/.bashrc
2、cudnn安装完成后,其实是直接安装到了默认安装路径usr/include和usr/lib下的,因此需要将其拷贝到cuda安装路径下:
sudo cp /usr/include/cudnn.h /usr/local/cuda/include/
sudo cp /usr/lib/aarch64-linux-gnu/libcudnn* /usr/local/cuda/lib64/
然后执行下面命令,用重新生成cudnn库的软连接
cd /usr/local/cuda/lib64
sudo chmod +r libcudnn*
sudo rm -rf libcudnn.so libcudnn.so.7
sudo ln -s libcudnn.so.7.1.5 libcudnn.so.7
sudo ln -s libcudnn.so.7 libcudnn.so
sudo ldconfig
到此,cuda 及 cudnn 安装就完成了。
(五)测试
1、测试cuda版本
nvcc -V
打印出cuda9.0成功
2、测试cudnn版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
得到
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 1
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#include "driver_types.h"
可知,当前的 cudnn 版本是 7.1.5。
3、检查cudnn
玩转Jetson Nano(二)检查已安装组件_贝克汉鸭的博客-CSDN博客
Jetson-nano中已经安装好了cuDNN,并有例子可供运行,我们运行一下例子,也正好验证上面的CUDA
cd /usr/src/cudnn_samples_v7/mnistCUDNN
sudo make
sudo chmod a+x mnistCUDNN
./mnistCUDNN
如果成功,如下所示
(下图中的gcc版本可能有出入)
cudnnGetVersion() : 7105 , CUDNN_VERSION from cudnn.h : 7105 (7.1.5)
Host compiler version : GCC 4.8.4
There are 1 CUDA capable devices on your machine :
device 0 : sms 1 Capabilities 5.3, SmClock 921.6 Mhz, MemSize (Mb) 3956, MemClock 12.8 Mhz, Ecc=0, boardGroupID=0
Using device 0
Testing single precision
Loading image data/one_28x28.pgm
Performing forward propagation ...
Testing cudnnGetConvolutionForwardAlgorithm ...
Fastest algorithm is Algo 1
Testing cudnnFindConvolutionForwardAlgorithm ...
^^^^ CUDNN_STATUS_SUCCESS for Algo 0: 0.354323 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 1: 2.859844 time requiring 3464 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 5: 8.539687 time requiring 203008 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 7: 8.603073 time requiring 2057744 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 2: 9.619896 time requiring 57600 memory
Resulting weights from Softmax:
0.0000000 0.9999399 0.0000000 0.0000000 0.0000561 0.0000000 0.0000012 0.0000017 0.0000010 0.0000000
Loading image data/three_28x28.pgm
Performing forward propagation ...
Resulting weights from Softmax:
0.0000000 0.0000000 0.0000000 0.9999288 0.0000000 0.0000711 0.0000000 0.0000000 0.0000000 0.0000000
Loading image data/five_28x28.pgm
Performing forward propagation ...
Resulting weights from Softmax:
0.0000000 0.0000008 0.0000000 0.0000002 0.0000000 0.9999820 0.0000154 0.0000000 0.0000012 0.0000006
Result of classification: 1 3 5
Test passed!
Testing half precision (math in single precision)
Loading image data/one_28x28.pgm
Performing forward propagation ...
Testing cudnnGetConvolutionForwardAlgorithm ...
Fastest algorithm is Algo 1
Testing cudnnFindConvolutionForwardAlgorithm ...
^^^^ CUDNN_STATUS_SUCCESS for Algo 0: 0.206719 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 1: 0.257865 time requiring 3464 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 2: 0.354739 time requiring 28800 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 4: 8.522656 time requiring 207360 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 7: 8.905677 time requiring 2057744 memory
Resulting weights from Softmax:
0.0000001 1.0000000 0.0000001 0.0000000 0.0000563 0.0000001 0.0000012 0.0000017 0.0000010 0.0000001
Loading image data/three_28x28.pgm
Performing forward propagation ...
Resulting weights from Softmax:
0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000714 0.0000000 0.0000000 0.0000000 0.0000000
Loading image data/five_28x28.pgm
Performing forward propagation ...
Resulting weights from Softmax:
0.0000000 0.0000008 0.0000000 0.0000002 0.0000000 1.0000000 0.0000154 0.0000000 0.0000012 0.0000006
Result of classification: 1 3 5
Test passed!
接下来可以编译opencv、tensorflow-gpu等。
******提供更换gcc、g++版本的方法(开始)********
为了与cuda9.0匹配,考虑安装了gcc-4.8和g++-4.8(或者gcc-6和g++-6)
安装GCC4.8
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
创建软链接:
sudo ln -s /usr/bin/gcc-4.8 /usr/local/cuda/bin/gcc
<code>sudo ln -s /usr/bin/g++-4.8 /usr/local/cuda/bin/g++</code>
*******(结束)*******
(六)安装tensorflow
1、安装pip
sudo apt install python-pip
这将安装 pip 和它的许多其他依赖项。
查看pip版本(此时默认pip版本是 9.0.1)
pip -V
升级pip版本
python -m pip install --upgrade pip
pip 升级为 20.3.4
在执行 pip -V之前,要做一些修改:
sudo vi /usr/bin/pip
将原来的
from pip import main
if __name__ == '__main__':
    sys.exit(main())
改成
from pip import __main__
if __name__ == '__main__':
    sys.exit(__main__._main())
pip -V
打印:
pip 20.3.4 from /home/nvidia/.local/lib/python2.7/site-packages/pip (python 2.7)
2、安装常用依赖库
sudo apt-get install python-scipy
sudo apt-get install python-pandas
sudo apt-get install python-sklearn
这里面没有numpy和matplotlib,不是说他俩不重要,而是安装其它包时,这两个也会被自动安装。
3、安装tensorflow
1)确认CUDA已经被正常安装
nvcc -V
如果能看到CUDA版本号,即为正确安装
2)安装所需要的包
sudo apt-get install libhdf5-serial-dev hdf5-tools
3)安装TensorFlow GPU版本
因为后面要用ros,考虑安装 py2 的tensorflow-gpu版本 (网上帖子都是基于python3的tensorflow-gpu安装,没办法,自己趟出一条血路,经过N次重装系统,终于可行,都是泪)
由于tensorflow1.13.1没有提供python2版本,尝试安装tensorflow1.14.0-py2
Index of /compute/redist/jp/v33/tensorflow-gpu
如果你网速太慢,whl文件我已下载好了,给出链接:
tensorflow_gpu-1.14.0+nv19.9-cp27-cp27mu-linux_aarch64.whl-嵌入式文档类资源-CSDN下载
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v33 tensorflow-gpu==1.14.0+nv19.9 --user
安装过程中,可能出现error:
ImportError: No module named wrapt
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-kbtEa9/wrapt/
解决:
pip install --upgrade setuptools
安装完成后,会有一些警告,如下图
报的警告是:某些 安装库的路径 没有添加到 环境变量PATH 中,先不管它
4)测试tensorflow
在python2.7中导入 tensorflow
成功导入tensorflow
用一个例子测试一下tensorflow
# coding=UTF-8
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
x_data = np.linspace(-0.5, 0.5, 200)[:, np.newaxis]
noise = np.random.normal(0, 0.02, x_data.shape)
y_data = np.square(x_data) + noise
x = tf.placeholder(tf.float32, [None, 1])
y = tf.placeholder(tf.float32, [None, 1])
# 输入层一个神经元,输出层一个神经元,中间10个
# 第一层
Weights_L1 = tf.Variable(tf.random.normal([1, 10]))
Biases_L1 = tf.Variable(tf.zeros([1, 10]))
Wx_plus_b_L1 = tf.matmul(x, Weights_L1) + Biases_L1
L1 = tf.nn.tanh(Wx_plus_b_L1)
# 第二层
Weights_L2 = tf.Variable(tf.random.normal([10, 1]))
Biases_L2 = tf.Variable(tf.zeros([1, 1]))
Wx_plus_b_L2 = tf.matmul(L1, Weights_L2) + Biases_L2
pred = tf.nn.tanh(Wx_plus_b_L2)
# 损失函数
loss = tf.reduce_mean(tf.square(y - pred))
# 训练
train = tf.train.GradientDescentOptimizer(0.1).minimize(loss)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for i in range(2000):
sess.run(train, feed_dict={x: x_data, y: y_data})
print("第{0}次,loss = {1}".format(i, sess.run(loss,feed_dict={x: x_data, y: y_data})))
pred_vaule = sess.run(pred, feed_dict={x: x_data})
plt.figure()
plt.scatter(x_data, y_data)
plt.plot(x_data, pred_vaule, 'r-', lw=5)
plt.show()
例子参考:
玩转Jetson Nano(三)安装TensorFlow GPU_贝克汉鸭的博客-CSDN博客_jetson nano tensorflow
下图是运行成功的截图:
至此,基于python2.7的 tensorflow-gpu 安装完成!!!
(七)安装 keras
考虑与tensorflow-gpu版本适配,我们安装 keras 2.3.1
pip install keras==2.3.1
检查一下安装成果,import keras时,下方提示using TensorFlow backend,就证明Keras安装成功并使用TensorFlow作为backend。
(八)继续安装 opencv
sudo dpkg -i libopencvxxxxxxx.deb
去 jetpack_download文件夹 下,自行安装即可。
*****(分割线)********
【下面的内容是安装cuda10、cudnn7.3,经过我的测试,tensorflow1.14.0与cuda10并不兼容,所以下面内容的cuda10、cudnn7.3下载并配置部分可以参考,但是tensorflow安装部分请读者自行修改对应的tensorflow版本】
(二)下载cuda10、cudnn7.3
参考帖子:
arm安装cuda9.0,tensorflow-gpu, jetson tx2安装Jetpack踩坑合集 - 水木清扬 - 博客园
Jetson TX2 安装 cuda9.0 及 cudnn7 超详细(真实亲测) - 灰信网(软件开发博客聚合)
1、在下面网站下载.run文件
Jetson Download Center | NVIDIA Developer
2、将文件拷贝到ubuntu16上,操作(注意:ubuntu18没试过)
先给777权限,再 ./ xxx.run
(等待安装。。。)
(注意:路径中不能有 中文!!!)
1是 安装路径
2是 下载路径,cuda和cudnn安装包就在此
3、打开 jetpack_download 文件夹
下载完成后文件是这些:
cuda-repo-l4t-10-0-local-10.0.117_1.0-1_arm64.deb
libcudnn7_7.3.1.20-1+cuda10.0_arm64.deb
libcudnn7-dev_7.3.1.20-1+cuda10.0_arm64.deb
libcudnn7-doc_7.3.1.20-1+cuda10.0_arm64.deb
libnvinfer5_5.0.3-1+cuda10.0_arm64.deb
libnvinfer-dev_5.0.3-1+cuda10.0_arm64.deb
libnvinfer-samples_5.0.3-1+cuda10.0_all.deb
libgie-dev_5.0.3-1+cuda10.0_all.deb
(三)安装cuda10、cudnn7.1
(根据这些顺序来安装)
(去到下载好解压的⽂件夹中,命令⾏输⼊)
1、安装cuda
sudo dpkg -i cuda-repo-l4t-10-0-local-10.0.117_1.0-1_arm64.deb
sudo apt-key add /var/cuda-repo-10-0-local-10.0.117/7fa2af80.pub
sudo apt update
sudo apt-get install cuda-toolkit-10-0
2、安装cudnn
由于都是 .deb 文件,因此直接使用 下面的命令安装即可:
sudo dpkg -i libcudnn7_7.3.1.20-1+cuda10.0_arm64.deb
sudo dpkg -i libcudnn7-dev_7.3.1.20-1+cuda10.0_arm64.deb
sudo dpkg -i libcudnn7-doc_7.3.1.20-1+cuda10.0_arm64.deb
3 、安装nvinfer
sudo dpkg -i libnvinfer5_5.0.3-1+cuda10.0_arm64.deb
sudo dpkg -i libnvinfer-dev_5.0.3-1+cuda10.0_arm64.deb
sudo dpkg -i libnvinfer-samples_5.0.3-1+cuda10.0_all.deb
4 、安装libgie
sudo dpkg -i libgie-dev_5.0.3-1+cuda10.0_all.deb
(四)配置环境变量
修改cuda的环境变量(没有gedit可以⽤vim)
sudo gedit ~/.bashrc
打开后,拉倒最下⾯,将原来的cuda10.2的环境变量都删除掉。
写⼊
export CUBA_HOME=/usr/local/cuda-10.0
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.0/bin:/usr/local/bin/cmake:$PATH
保存退出,更新环境变量
source ~/.bashrc
cudnn 安装完成后,其实是直接安装到了默认安装路径usr/include和usr/lib下的,因此需要将其拷贝到cuda安装路径下:
sudo cp /usr/include/cudnn.h /usr/local/cuda/include/
sudo cp /usr/lib/aarch64-linux-gnu/libcudnn* /usr/local/cuda/lib64/
然后执行下面命令,用重新生成cudnn库的软连接
cd /usr/local/cuda/lib64
sudo chmod +r libcudnn*
sudo rm -rf libcudnn.so libcudnn.so.7
sudo ln -s libcudnn.so.7.3.1 libcudnn.so.7
sudo ln -s libcudnn.so.7 libcudnn.so
sudo ldconfig
到此,cuda 及 cudnn 安装就完成了。
(五)测试
nvcc -V
打印出:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sun_Aug_12_21:08:25_CDT_2018
Cuda compilation tools, release 10.0, V10.0.117
打印出cuda10.0成功。
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
得到
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 3
#define CUDNN_PATCHLEVEL 1
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#include "driver_types.h"
可知,当前的 cudnn 版本是 7.3.1。
检查cudnn
玩转Jetson Nano(二)检查已安装组件_贝克汉鸭的博客-CSDN博客
Jetson-nano中已经安装好了cuDNN,并有例子可供运行,我们运行一下例子,也正好验证上面的CUDA
cd /usr/src/cudnn_samples_v7/mnistCUDNN
sudo make
sudo chmod a+x mnistCUDNN
./mnistCUDNN
如果成功,如下所示
cudnnGetVersion() : 7301 , CUDNN_VERSION from cudnn.h : 7301 (7.3.1)
Host compiler version : GCC 7.5.0
There are 1 CUDA capable devices on your machine :
device 0 : sms 1 Capabilities 5.3, SmClock 921.6 Mhz, MemSize (Mb) 3956, MemClock 12.8 Mhz, Ecc=0, boardGroupID=0
Using device 0
Testing single precision
Loading image data/one_28x28.pgm
Performing forward propagation ...
Testing cudnnGetConvolutionForwardAlgorithm ...
Fastest algorithm is Algo 1
Testing cudnnFindConvolutionForwardAlgorithm ...
^^^^ CUDNN_STATUS_SUCCESS for Algo 0: 0.105781 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 1: 0.908281 time requiring 3464 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 2: 5.615313 time requiring 57600 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 4: 8.604583 time requiring 207360 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 7: 9.908385 time requiring 2057744 memory
Resulting weights from Softmax:
0.0000000 0.9999399 0.0000000 0.0000000 0.0000561 0.0000000 0.0000012 0.0000017 0.0000010 0.0000000
Loading image data/three_28x28.pgm
Performing forward propagation ...
Resulting weights from Softmax:
0.0000000 0.0000000 0.0000000 0.9999288 0.0000000 0.0000711 0.0000000 0.0000000 0.0000000 0.0000000
Loading image data/five_28x28.pgm
Performing forward propagation ...
Resulting weights from Softmax:
0.0000000 0.0000008 0.0000000 0.0000002 0.0000000 0.9999820 0.0000154 0.0000000 0.0000012 0.0000006
Result of classification: 1 3 5
Test passed!
Testing half precision (math in single precision)
Loading image data/one_28x28.pgm
Performing forward propagation ...
Testing cudnnGetConvolutionForwardAlgorithm ...
Fastest algorithm is Algo 1
Testing cudnnFindConvolutionForwardAlgorithm ...
^^^^ CUDNN_STATUS_SUCCESS for Algo 1: 0.128698 time requiring 3464 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 2: 0.214740 time requiring 28800 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 0: 0.397813 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 4: 1.029636 time requiring 207360 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 5: 6.952447 time requiring 203008 memory
Resulting weights from Softmax:
0.0000001 1.0000000 0.0000001 0.0000000 0.0000563 0.0000001 0.0000012 0.0000017 0.0000010 0.0000001
Loading image data/three_28x28.pgm
Performing forward propagation ...
Resulting weights from Softmax:
0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000714 0.0000000 0.0000000 0.0000000 0.0000000
Loading image data/five_28x28.pgm
Performing forward propagation ...
Resulting weights from Softmax:
0.0000000 0.0000008 0.0000000 0.0000002 0.0000000 1.0000000 0.0000154 0.0000000 0.0000012 0.0000006
Result of classification: 1 3 5
Test passed!
(六)安装tensorflow
1、安装pip
sudo apt install python-pip
这将安装 pip 和它的许多其他依赖项。
查看pip版本
pip -V
此时默认pip版本是 9.0.1
升级pip版本
python -m pip install --upgrade pip
升级为 20.3.4
在执行 pip -V之前,要做一些修改:
sudo vi /usr/bin/pip
将原来的
from pip import main
if __name__ == '__main__':
    sys.exit(main())
改成
from pip import __main__
if __name__ == '__main__':
    sys.exit(__main__._main())
pip -V
打印:
pip 20.3.4 from /home/nvidia/.local/lib/python2.7/site-packages/pip (python 2.7)
2、安装常用依赖库
sudo apt-get install python-scipy
sudo apt-get install python-pandas
sudo apt-get install python-sklearn
这里面没有numpy和matplotlib,不是说他俩不重要,而是安装其它包时,这两个也会被自动安装。
3、安装tensorflow
(1)确认CUDA已经被正常安装
nvcc -V
如果能看到CUDA版本号,即为正确安装
(2)安装所需要的包
sudo apt-get install libhdf5-serial-dev hdf5-tools
(3)安装TensorFlow GPU版本
Index of /compute/redist/jp/v33/tensorflow-gpu
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v33 tensorflow-gpu==1.14.0+nv19.9 --user
可能出现error:
ImportError: No module named wrapt
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-kbtEa9/wrapt/
解决:
pip install --upgrade setuptools
Original: https://blog.csdn.net/m0_46519541/article/details/124654372
Author: 啦啦啦啦snsn
Title: Jeston nano配置(三)卸载cuda10.2安装cuda9 并安装tensorflow-gpu
相关阅读
Title: TensorFlow GPU最完整的安装方法
自己这几天更换电脑,再加上前次旧电脑学习,安装了好几次TensorFlow,每次都遇到了一些问题,经常缺一些文件,在网上下载文件还很慢,走了不少弯路,特将完整的安装方法记录如下,以便后续使用,也供同行参考。
TensorFlow的学习需要有专门的Nvida的GPU显卡的电脑,GPU的显存最好在4G以上,我以前那台电脑只有1G显示只能学习一些非常初级模型,稍微复杂的模型就无法运行。对于没有GPU独显的同学,可以使用百度的AI Studio,上面提供免费的GPU服务器,每天可以免费使用8小时,并且直接安装好百度的PaddlePaddle,系统已经配置好,也可以快速学习人工智能。
一、了解显卡性能及支持的CUDA版本
可以在终端界面,通过nvidia-smi命令查看你的也显卡信息,查看你的电脑是上否有支持CUDA的显卡及相应的型号、显存。
也可以在控制面板中找NVIDIA Control Panel程序,升级Windows 11后发现控制面板中没有NVIDIA的控制面板了,可以在开启程序中通过查找找到。
在NVIDIA控制面板中,通过帮助查单–>系统信息–>组件,找到如下图所示NVCUDA64.dll程序所对应的版本,就是你计算机上CUDA能支持的版本,后续在下载CUDA时一定要与此相匹配,避免兼容性和莫名其妙的问题出现。我的笔记本是新的,显卡是Geforce Rtx 3060,安装的CUDA驱动程序是11.2版本,后续要查找与之对应的CUDA、CUDNN、Tensorflow-GPU版本进行安装,否则会出现不匹配的情况。
; 二、确定TensorFlow与Python版本
在TensorFlow官网的安装指南给出了TensorFlow、Python、CUDA对应的版本,我在前期学习中,由于安装版本问题,走了不少弯路。具体请参阅。
根据前面查询到的CUDA版本11.2,我决定尽可能安装高一些版本的工具,以减少后续组件升级的工作量,因此我确定安装cudnn 8.1,python 3.9,tensorflow 2.6作这台新电脑的研究环境。对于python和tensorflow可以不同项目使用不同的版本,自己后续可以根据项目需要进行调整,但需要尽可能在上图官方已经测试的版本中选择,否则可能出一些兼容性问题。
三、安装CUDA及cuDNN
1、CUDA及cuDNN下载
CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。
cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。
CUDA看作是一个工作台,cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。
CUDA下载链接为:https://developer.nvidia.com/cuda-toolkit-archive,找到第一章信息对应的板版本。如下图所示,没有对应的Windows11版本,可以用Windows 10对应的版本可以安装和使用。文件比较大,请使用迅雷等下载工具下载,否则容易下载失败。另下载注意使用Local全部下载,后续查找缺少的Dll文件需要。
cuDNN的下载需要注册一下Nvidia开发帐号才能下载,下载地址为:https://developer.nvidia.com/cudnn。根据网站提示,先用邮箱注册一个开发者帐号,登录后出来下载下载页面,根据第二章确定的cuDNN版本,从归档历史库下载你计算机匹配的cuDNN版本。
2、CUDA安装
安装cuda时,第一次会让设置临时解压目录,第二次会让设置安装目录;临时解压路径,建议默认即可,也可以自定义。安装结束后,临时解压文件夹会自动删除。
安装目录,可以使用默认路径,也可以使用指定路径,关注一下安装路径,后续需要手工将几个程序所在路径加到系统环境变量的path参数中,以便于python程序调用。
CUDA安装过程比较简单,安装完后,将下面几个目录加到系统环境变量的path参数中,以使用python程序调用对应的程序和dll库。
CUDA文件比较大,如果你的计算机硬盘空间足够,建议用自定义选项,全部安装,避免少文件。我的计算机是SSD硬盘,空间不大,采用的是基本安装,在使用时发现少很多文件,刚开始是到网上DLL库上找并下载使用,发现存在文件不全且版本不对应情况,通过修改文件名勉强可以使用,但可能存在兼容性问题。
后面用winrar打开CUDA安装exe文件,可以通过查找功能找到缺少的文件,解压后放在cuda安装目录的bin文件目录下即可。红线文件是CUDA缺少的文件,绿线文件是下一步cuDNN解压拷贝的文件。
3、cuDNN安装
cuDNN是一些动态库文件,用解压缩软件打开,直接解压到前面一条CUDA的安装路径即可,解压后注意确认好文件的路径。此外,注意文件版本,与第2章找到的对应表对应。
四、Python安装
1、Python文件下载
Python下载网站:https://www.python.org/downloads/。Python下载文件不是很好找,容易跳乱,各版的下载导航连接在页面下部,参见下图。
同样,下载文件也是在页面下部,根据自己需要的版本、操作系统找到对应的安装文件,Python安装文件不大,下载很快。
2、Python安装
Python安装时,注意先将下面的增加Python 3.9到path勾选上,避免后续手工添加,另外建议用自定义安装,将python安装到一个简单、短一点的目录,后续经常要用到。
将python安装到C:\python目录, 同时将install for all users选项选中。
python安装成功后,可以在CMD终端下,用python命令进入,检查版本以及是否可用。
五、TensorFlow安装
先在Pycharm中建立一个项目,如果你使用的是其它开发工具,在你对应工具中创建项目。我这儿直接使用的是Virtualenv虚拟环境,使用要简单一些,前面使用过Anaconda,没有感觉到太大优势,问题还不少,这次就直接使用Pycharm的虚拟环境,感觉要简单一些。
注意选择Python解释器,如果你计算机上有多个python要选择与项目兼容的版本。
TensorFlow可以在具体项目中用pip安装,也可以用pycharm的工具安装,注意选择你电脑显卡能支持与兼容的版本,根据第二章,我选择的是2.6版本。
注意安装的是tensorflow-gpu,选择指定的版本,此处选择的是2.6.0,我试过用最新的2.7.0不兼容,无法使用。当前你也可以根据项目前期使用的版本选择对应的TensorFlow版本。此外还要注意对应的python、cuda版本,都要匹配才能正常使用。
TensorFlow安装的包比较多,速度比较慢,建议提前将pip.ini、pycharm的更新仓库都改为国内镜像:(https://pypi.tuna.tsinghua.edu.cn/simple/)。
六、TensorFlow及GPU验证
在项目中创建一个测试文件test.py,以下几行代码即可。
import tensorflow as tf
if tf.test.gpu_device_name():
print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
else:
print("Please install GPU version of TF")
运行test.py如下所述,系统提示运行成功,并显示出GPU的型号,计算能力,我的显卡计算能力为8.6,感觉性能应该还不错,后面根据程序实际的计算性能再发分享报告。
C:\Users\86139\PycharmProjects\test3\venv\Scripts\python.exe C:/Users/86139/PycharmProjects/test3/test.py
2021-11-13 19:50:40.703464: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
Default GPU Device: /device:GPU:0
2021-11-13 19:50:42.588444: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1510] Created device /device:GPU:0 with 3495 MB memory: -> device: 0, name: GeForce RTX 3060 Laptop GPU, pci bus id: 0000:01:00.0, compute capability: 8.6
2021-11-13 19:50:42.589427: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1510] Created device /device:GPU:0 with 3495 MB memory: -> device: 0, name: GeForce RTX 3060 Laptop GPU, pci bus id: 0000:01:00.0, compute capability: 8.6
Process finished with exit code 0
通过安装上述工具,你可以在自己的电脑上进行人工智能的基础学习和研究。
[En]
Through the installation of the above tools, you can do basic learning and research on artificial intelligence on your own computer.
Original: https://blog.csdn.net/wujize/article/details/121329897
Author: 海盐老伍
Title: TensorFlow GPU最完整的安装方法

智能座舱测试——数据驱动开发的语音测试方案

北京市行政村边界shp数据/北京市乡镇边界/北京市土地利用分类数据

ResNet实战:tensorflow2.X版本,ResNet50图像分类任务(小数据集)

机器学习概述

打造电商语音场景下的多轮人机交互

【YOLOv5】LabVIEW+OpenVINO让你的YOLOv5在CPU上飞起来

魔百和UNT402A-0U_IPTV_S905L原厂线刷固件(当贝桌面,可救砖)

Ubuntu Qt5 Firebird 数据库驱动安装

【语音识别】基于动态时间规整(DTW)的孤立字语音识别Matlab源码

苹果手机录音怎么批量导出?才知道原来可以这样操作

Tensorflow 2.x(keras)源码详解之第四章:Dataset&TFRecord

聚类、距离衡量方法

tensorflow–学习笔记–莫烦python

狼人杀背后的秘密,实时语音你不知道的那些事
