【Jetson-Nano】2.Tensorflow和Pytorch的安装


首先按照我的其它 博客完成jetson nano 基础环境的配置。然后就可以对深度学习框架进行安装。要注意的是,nano每次断电再开机后,系统时间是错误的,要先手动进行设置。

1、Tensorflow多版本安装

创建虚拟环境并激活:

mkvirtualenv nano
workon nano

Tensorflow不同的版本将安装在不同的虚拟环境中。

1.1 Protobuf 安装

退出虚拟环境,在系统中安装Protobuf。
首先配置protobuf,这样可以使tensorflow运行更快。如果protobuflibprotobuf没有安装,Tensorflow的性能会被大打折扣。当然,使用pip来安装tensorflow 的时候,会自动安装一个protobuf的版本,但是可能不是很合适。关于这部分性能的影响参见Nvidia的论坛
安装命令脚本sh内容如下:

#!/bin/bash

set -e

folder=${HOME}/src
mkdir -p $folder

echo "** Install requirements"
sudo apt-get install -y autoconf libtool

echo "** Download protobuf-3.8.0 sources"
cd $folder
if [ ! -f protobuf-python-3.8.0.zip ]; then
  wget https://github.com/protocolbuffers/protobuf/releases/download/v3.8.0/protobuf-python-3.8.0.zip
fi
if [ ! -f protoc-3.8.0-linux-aarch_64.zip ]; then
  wget https://github.com/protocolbuffers/protobuf/releases/download/v3.8.0/protoc-3.8.0-linux-aarch_64.zip
fi

echo "** Install protoc"
unzip protobuf-python-3.8.0.zip
unzip protoc-3.8.0-linux-aarch_64.zip -d protoc-3.8.0
sudo cp protoc-3.8.0/bin/protoc /usr/local/bin/protoc

echo "** Build and install protobuf-3.8.0 libraries"
export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=cpp
cd protobuf-3.8.0/
./autogen.sh
./configure --prefix=/usr/local
make -j$(nproc)
make check
sudo make install
sudo ldconfig

echo "** Update python3 protobuf module"
# remove previous installation of python3 protobuf module
sudo pip uninstall -y protobuf
sudo pip install Cython
cd python/
python3 setup.py build --cpp_implementation
sudo python3 setup.py install --cpp_implementation

echo "** Build protobuf-3.8.0 successfully"

也可以将命令逐行在终端中执行。

然后激活虚拟环境,装protobuf装到虚拟环境中:

workon nano
cd ~
cp -r ~/src/protobuf-3.8.0/python/ .
cd python
python setup.py install --cpp_implementation

1.2 安装依赖包及tensorflow1.15

安装好protobuf以后,在虚拟环境中安装numpy和cython:

pip install cython
pip install numpy==1.16.1

因为需要编译,用时大约20分钟。
同时安装numpy时可能会报错:
numpy/core/src/multiarray/numpyos.c:18:10: fatal error: xlocale.h: No such file or directory
在这里插入图片描述
需要退出虚拟环境,为系统安装numpy,然后将其通过软链接使虚拟环境可以使用:

sudo pip install numpy=1.16.1
cd ~/.virtualenvs/nano/lib/python3.6/site-packages/
ln -s /usr/local/lib/python3.6/dist-packages/numpy numpy

然后再进入虚拟环境中进行numpy安装

pip install numpy==1.16.1

安装其它依赖包:

pip install -U testresources setuptools
pip install -U future mock h5py keras_preprocessing keras_applications gast futures pybind11

安装过程中建议那个包的安装报错时,可以先把不报错的安装完成,然后报错的单独安装,整个用时也较长。

在写本博客时(2020年11月11日),官方提供了1.15和2.3版本的安装。当前1.15的版本更加稳定,在这个虚拟环境中安装tensorflow1.15.2:

pip install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v44 tensorflow==1.15.2

安装过程中有其它依赖会自动安装。
更多安装过程的理解请参考官方论坛官方安装指导.
通过以上步骤,完成Tensorflow的安装。

安装时间较长,耐心等待。

1.3 安装其它常用库

每个包都很耗时,耐心等待,若不成功,多次尝试,考虑到安装太慢,可以多开几个shell来实现(keras还有scikit-learn jupyter是需要先安装scipy的,所以可以先安装时注意顺序;另外最新版本的keras要求tensorflow>2,所以要指定较早版本)

pip install scipy
pip install keras==2.3.0
pip install pillow
pip install matplotlib
pip install scikit-learn
pip install scikit-image
pip install jupyter 

1.4 测试python包是否安装成功

python -c 'import numpy; print(numpy.__version__)'
python -c 'import jupyter; print(jupyter.__version__)'
python -c 'import PIL; print(PIL.__version__)'
python -c 'import matplotlib; print(matplotlib.__version__)'
python -c 'import tensorflow; print(tensorflow.__version__)'
python -c 'import keras; print(keras.__version__)'
python -c 'import scipy; print(scipy.__version__)'

在这里插入图片描述
同时可以验证一下tensorflow是否支持GPU:
在这里插入图片描述

1.5 TensorRT和Opencv的安装

系统中已将tensorrt和opencv的相关组件安装完成,如下图:
在这里插入图片描述
可以看到有uff,tensorrt,graphsurgeon,cv2模块,只需要将这些包的路径填加到虚拟环境的环境变量中即可。

workon nano
add2virtualenv /usr/lib/python3.6/dist-packages
lssitepackages #列出所有的包

在这里插入图片描述

1.6 pycuda和onnx安装

要使用tensorrt对各种主流框架(tensorflow,pytorch,caffe)的模型时行转换和加速,还要安装pycuda和onnx

pip install pycuda
pip install onnx==1.4.1 

关于onnx的版本也选择了较低的,也可以安装最新的,可能会报错,这时也可以再降级。

1.7 Tensorflow2.3安装

tensorflow1.15.2己在nano虚拟环境中完成安装,大多数包也都是tensorflow2.3的安装依赖,所以进行如下操作。
复制nano环境:

cpvirtualenv nano nano_tf2

这样创建一个叫nano_tf2与nano一样的环境
安装tensorflow2.3

#先卸载tensorflow1.15及keras
pip uninstall keras
pip uninstall tensorflow
#然后再安装
pip install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v44 tensorflow==2.3.1

验证安装:
在这里插入图片描述
到此,tensorflow的安装完成。随着jetson系列的更新,可以参照本文去官网查看命令来安装。

2、Pytorch安装

本节主要参考 https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-7-0-now-available/72048 内容。
在按照博客完成基础配置后可以执行以下安装步骤。

2.1 安装pytroch和torchvision

复制nano环境:

cpvirtualenv nano nano_ptch

这样创建一个叫nano_ptch与nano一样的环境

#先卸载tensorflow1.15及keras
pip uninstall keras
pip uninstall tensorflow

执行jtop命令,按6,查看当前jetpack版本,选择合适的pytorch版本进行安装。
在这里插入图片描述
可以看来系统版本是jetpack4.4.1,是当前(2020年11月13日)最新的。
下面列举几个版本的要求:
在这里插入图片描述
选择安装最新版本pytorch1.7

wget https://nvidia.box.com/shared/static/wa34qwrwtk9njtyarwt5nvo6imenfy26.whl -O torch-1.7.0-cp36-cp36m-linux_aarch64.whl #需要科学上网
workon nano_ptch
pip install torch-1.7.0-cp36-cp36m-linux_aarch64.whl

鉴于网络原因,我把pytorch1.7上传到CSDN中,免费下载
接着安装torchvision,由于torchvision的版本要与pytorch的版本对应,所以要选择合适版本,版本对应关系如下:
PyTorch v1.0 - torchvision v0.2.2
PyTorch v1.1 - torchvision v0.3.0
PyTorch v1.2 - torchvision v0.4.0
PyTorch v1.3 - torchvision v0.4.2
PyTorch v1.4 - torchvision v0.5.0
PyTorch v1.5 - torchvision v0.6.0
PyTorch v1.6 - torchvision v0.7.0
PyTorch v1.7 - torchvision v0.8.1
安装命令为:

git clone --branch <version> https://github.com/pytorch/vision torchvision   # see below for version of torchvision to download
cd torchvision
export BUILD_VERSION=0.x.0  # where 0.x.0 is the torchvision version  
sudo python setup.py install     # use python3 if installing for Python 3.6
cd ../  # attempting to load torchvision from build dir will result in import error

具体对应pytorch1.7时:

git clone --branch v0.8.1 https://github.com/pytorch/vision torchvision   # see below for version of torchvision to download
cd torchvision
export BUILD_VERSION=0.8.1  # where 0.x.0 is the torchvision version  
sudo python setup.py install     # use python3 if installing for Python 3.6
cd ../  # attempting to load torchvision from build dir will result in import error

2.2 安装环境验证

要验证一下pytorch和torchvision是否安装成功,如下:
在这里插入图片描述
使用命令为如图4条:

import torch
print(torch.__version__)
print('cuda available:'+str(torch.cuda.is_available()))
print('cuDNN version:'+str(torch.backends.cudnn.version()))

到此,完成主流深度学习框架tensorflow和pytorch在jetson nano上的安装。

参考内容

  1. https://jkjung-avt.github.io/jetpack-4.4/
  2. https://www.pyimagesearch.com/2020/03/25/how-to-configure-your-nvidia-jetson-nano-for-computer-vision-and-deep-learning/
  3. https://elinux.org/Jetson_Nano#Ecosystem_Products_and_Sensors
### 回答1: 首先,要手动安装Jetson TX2中的CUDA和CuDNN,需要按照以下步骤进行操作: 1. 下载CUDA Toolkit: - 首先,通过NVIDIA官方网站下载适用于Jetson TX2的CUDA Toolkit。 - 在下载页面上选择与您的Jetson TX2版本相对应的CUDA Toolkit版本,并下载该版本的.run文件。 2. 安装CUDA Toolkit: - 将下载的CUDA Toolkit文件拷贝到Jetson TX2设备上。 - 打开终端,进入到CUDA Toolkit文件所在的目录。 - 运行以下命令,以设置安装选项并启动安装过程: ``` chmod +x cuda_<version>_linux.run sudo ./cuda_<version>_linux.run ``` - 按照安装向导的指示进行操作,接受许可协议并选择相应的安装选项。 - 完成安装后,根据提示将必要的环境变量添加到系统配置文件中(如~/.bashrc)。 3. 下载CuDNN库文件: - 访问NVIDIA官方网站并下载与安装的CUDA Toolkit版本相对应的CuDNN库文件。 - 将下载的CuDNN库文件拷贝到Jetson TX2设备上。 4. 安装CuDNN库文件: - 将CuDNN库文件解压到一个指定目录中,例如'/usr/local/cuda/'。 - 打开终端,进入CuDNN库文件所在的目录。 - 运行以下命令以将CuDNN库文件拷贝到CUDA Toolkit的安装目录中: ``` 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 /usr/local/cuda/lib64/libcudnn* ``` 5. 配置环境变量: - 打开终端,编辑~/.bashrc文件: ``` nano ~/.bashrc ``` - 在文件末尾添加以下内容,并保存退出: ``` export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 export CUDA_HOME=/usr/local/cuda ``` - 运行以下命令使环境变量配置生效: ``` source ~/.bashrc ``` 完成以上步骤后,您应该成功地手动安装Jetson TX2中的CUDA和CuDNN。您可以通过在终端上运行`nvcc -V`来验证CUDA是否正确安装,并通过运行`cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2`来验证CuDNN是否正确安装。 ### 回答2: 首先,Jetson TX2是一款高性能边缘计算设备,用于深度学习、AI和计算机视觉等领域。CUDA和cuDNN是用于加速计算的关键软件,在Jetson TX2上手动安装这两个软件需要以下步骤: 1. 下载CUDA和cuDNN:首先,从NVIDIA官方网站下载适用于Jetson TX2的CUDA和cuDNN版本。确保选择与Jetson TX2硬件兼容的版本。 2. 安装CUDA:将下载的CUDA安装包复制到Jetson TX2上,并解压缩文件。然后,运行安装脚本来设置CUDA环境变量并安装CUDA。 3. 配置环境变量:为了正确地配置CUDA和cuDNN,需要设置环境变量。在终端中输入以下命令以打开.bashrc文件: ``` sudo nano ~/.bashrc ``` 然后,在文件的末尾添加以下行: ``` export CUDA_HOME=/usr/local/cuda export PATH=/usr/local/cuda/bin:${PATH} export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH} ``` 保存并关闭文件,然后运行以下命令以使更改生效: ``` source ~/.bashrc ``` 4. 安装cuDNN:将下载的cuDNN安装包复制到Jetson TX2上,并解压缩文件。然后,将cuDNN库文件复制到CUDA的安装目录中。使用以下命令完成此操作: ``` 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 /usr/local/cuda/lib64/libcudnn* ``` 5. 验证安装:在终端中运行以下命令以验证CUDA和cuDNN是否安装成功: ``` nvcc -V ``` 如果输出中显示了CUDA版本信息,则说明CUDA安装成功。然后,可以使用深度学习框架(如TensorFlowPyTorch等)来验证cuDNN的安装。 这些是手动安装CUDA和cuDNN的基本步骤。确保按照官方文档和说明进行操作,并根据自己的需求进行相应的配置和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值