1. apt换源
1.1 备份sources.list文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
1.2 添加阿里云源
用过了清华源还有阿里云的源,感觉阿里云更快一些,这里给出阿里云的源,打开sources.list文件
sudo gedit /etc/apt/sources.list
#阿里云源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
2. pytorch安装
在终端输入 nvcc -V
查看 cuda 版本,根据下图的对应关系安装相关的 pytorch 包,现在 pip3
应该可以直接安装,torchvision==0.9
的版本可能安装不了,使用 0.9.1
版本替代。
pip3 install torch==1.8.0 torchvision==0.9.1 torchaudio==0.10.0
3. pyrealsense2 安装
3.1 下载源码
在github下载源码,建议下载 2.45 版本,新版本虽然可以编译成功,但是安装后在/usr/local/lib/python3.6/
目录下找不到 pyrealsense2 的包,从而无法使用。
git clone https://github.com/IntelRealSense/librealsense/tree/v2.45.0
3.2 安装依赖
sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev at
3.3 执行shell脚本
确定 realsense 没有与 jetson 相连后执行许可证脚本:
cd librealsense
./scripts/setup_udev_rules.sh
./scripts/patch-realsense-ubuntu-lts.sh
3.4 编译&安装
确认 cuda 是否被配置在~/.bashrc
文件中:
export PATH=/usr/local/cuda-10.2/bin/:$PATH
编译且安装,编译时间会很长,需要耐心等待:
mkdir build && cd build
cmake ../ -DFORCE_RSUSB_BACKEND=ON -DBUILD_PYTHON_BINDINGS:bool=true -DPYTHON_EXECUTABLE=/usr/bin/python3.6 -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true -DBUILD_WITH_CUDA:bool=true
sudo make uninstall
sudo make clean
sudo make -j16 # jetson 为16核
sudo make install
3.5 添加路径
打开 ~/.bashrc 文件,sudo gedit ~/.bashrc
,在 .bashrc 文件中插入以下内容:
export PATH=$PATH:~/.local/bin
export PYTHONPATH=$PYTHONPATH:/usr/local/lib
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.6/pyrealsense2
更新环境:
source ~/.bashrc
4. mathutils 安装
安装这个包的时候经常会提示failed with exit status:1
,但是仔细看一下报错的话,搜一下会发现是字体的问题,需要这样进行安装:
sudo apt install libfreetype6-dev
pip3 install matplotlib
5. 其他包版本
Jetson 的 python3.6 环境最好使用如下对应包关系,不然在运行程序的时候容易出错:
numpy 1.19.5
scipy 1.5.4
mathutils 2.77
6. 报错及解决
6.1 illegal instruction core dumped
报错核心已转储,在 ~/.bashrc 文件中添加如下语句:
export OPENBLAS_CORETYPE=ARMV8
再次报错 OpenBLAS Warning xxxx,在 ~/.bashrc 中添加
export OMP_NUM_THREADS=1
6.2 “Hardswish” object has no attribute “inplace”
定位到报错那一行,修改源码:
return F.hardswish(input, self.inplace)
# 改为
return F.hardswish(input)