Jetson Tx2源码编译Pytorch并安装OpenCV

一、环境

ubuntu16.04
JetPack3.2.1
python3.5

 二、前言

       目前在python2.7或者python3.6两个版本环境下安装pytorch可以使用NVIDIA平台提供的wheel包快速搭建环境,提供了v1.0~1.4多个版本(https://elinux.org/Jetson_Zoo#PyTorch_.28Caffe2.29),对于其他python版本需要从源码进行编译安装。

三、正式安装

(一)源码编译Pytorch

1、安装依赖包

sudo apt install libopenblas-dev libatlas-base-dev liblapack-dev
sudo apt install liblapacke-dev checkinstall
sudo apt-get install python3-dev

#安装pip3
sudo apt-get install python3-pip
#如果pip3版本较低,先升级pip3
pip3 install --upgrade pip
#查看pip3版本信息
python3 -m pip -V
 
# 安装python库
sudo apt-get install python3-dev python3-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
sudo apt-get install gfortran  
python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy scipy --user #使用清华源进行下载加速,但是这里编译仍需要花费一点时间
python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyyaml --user
python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scikit-build --user
sudo apt-get -y install cmake 
python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple cffi --user

2、将CUDNN路径加入到环境变量

sudo gedit ~/.bashrc
export CUDNN_LIB_DIR=/usr/lib/aarch64-linux-gnu
export CUDNN_INCLUDE_DIR=/usr/include
#使更改生效
source ~/.bashrc  

 3、下载Pytorch源码,安装必要的依赖

git clone http://github.com/pytorch/pytorch
cd pytorch
python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U setuptools --user
python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt --user

4、编译Pytorch源码

#选择Pytorch版本进行编译,创建并切换到新分支build;如有需要切换回主分支使用git checkout master命令,其他情况按照终端反馈的提示做
git checkout tags/v1.0.0 -b build  

#删除nervanagpu这个包
git clean -xdf
git submodule deinit -f .
git submodule sync

git submodule update --init --recursive

这里选择编译Pytorch v1.0.0版本成功,尝试编译v1.3.0并未成功。如果不选择要编译的版本,默认应该是编译最新版本。 

 5、调整Jetson Tx2工作模式,加快后续编译过程

#切换到最高性能模式
sudo nvpmodel -m 0
#查看当前工作模式使用 sudo nvpmodel -q verbose 命令

#打开风扇
#首先创建一个默认工作状态的 l4t_dfs.conf 文件,再打开风扇,便于后续关闭风扇
sudo ./jetson_clocks.sh --store
sudo ./jetson_clocks.sh                     
#编译结束后,使用 sudo ./jetson_clocks.sh --restore 命令关闭风扇

#对于JePack4.x版本,jetson_clocks.sh文件在 /usr/bin/ 目录下

6、开始编译

#执行以下两行命令,通常需要花费4个小时左右的时间;各两个小时,编译过程中有进度提示
sudo python3 setup.py build
NO_SYSTEM_NCCL=1 DEBUG=1 sudo -E python3 setup.py install

7、验证安装

python3
#切换到python编译器下
>>import torch
#退出python环境
>>exit()

8、其他组件的安装 

sudo apt clean
sudo apt-get install libjpeg-dev zlib1g-dev

#安装pillow 
git clone https://github.com/python-pillow/Pillow.git
cd Pillow/
sudo python3 setup.py install

#安装pandas和scikit-image需要花费一点时间
python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas --user
python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Cython --user
python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scikit-image --user
python3 -m pip --no-cache-dir install -i https://pypi.tuna.tsinghua.edu.cn/simple torchvision --user

(二)安装OpenCV

       在将JetPack包刷入到Jetson Tx2时,虽然也将OpenCV组件安装了,但是在python3环境下import cv2提示找不到,所以按照需求重新进行安装。

#通过以下命令查看opencv版本
pkg-config opencv --modversion
#由于python3环境中无法导入cv2,所以重新安装opencv
git clone https://github.com/jetsonhacks/buildOpenCVTX2.git
cd buildOpenCVTX2
#根据需求可以修改buildOpenCV.sh文件再编译
./buildOpenCV.sh

        编译完成后,在home目录下可以查看到生成的opencv目录,在终端下验证安装。

参考博客

1、https://blog.csdn.net/donkey_1993/article/details/102544868

2、https://blog.csdn.net/daniu2007/article/details/86616711 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值