Jetson AGX Xavier避坑指南(五)——环境搭建2.(python3、conda、ros、pytorch、tensorflow)

jetson AGX Xavier配置python环境

Nvidia Jetson AGX Xavier安装ROS、Anaconda、PyTorch及其它依赖库

nvidia_xavier_utils

jeston agx xavier,ubuntu18.04.

1. anaconda 的替代品 miniforge

『Nvidia Jetson AGX Xavier笔记』Xavier(arrch64架构)安装anaconda!

NVIDIA Jetson Xavier 使用的aarch64架构是没法使用anaconda的,虽然可以自己编译,但是conda指令是没法编译到aarch64架构上运行的。不过有替代品,名字是miniforge。

miniforge与miniconda的区别在于miniforge的下载通道是conda-forge

1.1 安装miniforge

进入miniforge的github地址,下载最新的Linux aarch64 (arm64) 版本
在这里插入图片描述

在Mambaforge-pypy3-Linux-aarch64.sh所在文件夹打开终端

bash Mambaforge-pypy3-Linux-aarch64.sh

一路 yes 即可。打开新的终端即可生效。

使用方法与 anaconda 相同。参见给远程服务器安装Anaconda,然后用conda创建新环境

另外,可以将auto_activate_base参数设置为false,取消每次启动时自动激活conda的base环境。

conda config --set auto_activate_base false

1.2 换为国内源

Anaconda 镜像使用帮助

# 这里使用清华镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

执行完以上命令会在当前用户目录下生成一个.condarc文件,运行cat ~/.condarc命令查看文件内容(个人建议把- defaults删除掉):

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - defaults
show_channel_urls: true

1.3 创建虚拟环境

conda create -n grasp python=3.6

进入grasp虚拟环境的指令为conda activate grasp,比较麻烦。进行简单设计可快速启动虚拟环境。
gedit ~/.bashrc,打开.bashrc文件,用#号注释掉如下内容:

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/ur/miniforge3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/ur/miniforge3/etc/profile.d/conda.sh" ]; then
        . "/home/ur/miniforge3/etc/profile.d/conda.sh"
    else
        export PATH="/home/ur/miniforge3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

然后添加如下语句,保存。此时在终端输入 grasp,即可直接进入grasp虚拟环境了。

alias grasp='. "/home/ur/miniforge3/etc/profile.d/conda.sh" && conda activate grasp'

2. 在python3环境中使用 ROS-Melodic

ros noetic 版支持 python3。但官方支持的安装系统为 ubuntu 20.04 。而 jetson agx xavier 标配系统为ubuntu18.04,担心ubuntu系统升级后出现不可预料的 bug,因此只能在melodic 版本上折腾。

参考:UsingPython3

2.1 在 python3 环境中使用 ros cv_bridge

在 python3 环境中使用 cv_bridge会报错
ImportError: dynamic module does not define module export function (PyInit_cv_bridge_boost)

这是因为ros 自带的 cv_bridge只支持 python2。想要使用Python3需要自行编译cv_bridge包。
参考:Compiling ROS cv_bridge with Python 3
How to setup ROS with Python 3

环境:Ubuntu 18.04+ROS Melodic+anaconda 虚拟环境+python3.6

1.首先 conda deactivate 回到基础环境。然后安装一些用于编译的工具。

sudo apt-get install python-catkin-tools python3-dev python3-catkin-pkg-modules python3-numpy python3-yaml ros-melodic-cv-bridge

sudo pip3 install rospkg catkin_pkg

2.创建一个工作空间用于存放待编译的 cv_bridge 文件。

mkdir -p ~/cvbridge_build_ws/src
cd ~/cvbridge_build_ws/src

然后将 vision_opencv 拷贝到~/cvbridge_build_ws/src

git clone -b melodic https://github.com/ros-perception/vision_opencv.git

3.设置cmake变量。为防止 catkin_make 出现问题,请用 python3 (python3.6)编译功能包.

catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libpython3.6m.so

注:aarch64-linux-gnu为 arm 架构,普通计算机为x86_64-linux-gnu。

指示catkin将内置包安装到安装位置,这一步不成功也没关系,可不用。(如果不用,需将第5步的install 改为 devel)

catkin config --install

4.编译功能包

cd ~/cvbridge_build_ws
catkin build cv_bridge

5.只需每次在终端进入python3虚拟环境时执行如下命令,就可以正常使用cv_bridge了。

source ~/cvbridge_build_ws/install/setup.bash --extend
# extend参数的作用是让这次的路径配置不影响之前配置好的路径。

2.2 在 python3 环境使用 ROS-Melodic的其他注意事项

参考:How to setup ROS with Python 3

3. 安装 Tensorflow

nvidia有官方编译的tensorflow包的安装方法。

Python 3.6+JetPack4.2

sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42 tensorflow-gpu

v42是JetPack 的版本,表示JetPack4.2。
如该网速不好可以先下载下来,然后pip3 install path/to/package本地安装。

4. 安装 pytorch 和 torchvision

Nvidia Jetson AGX Xavier安装ROS、Anaconda、PyTorch及其它依赖库

根据自己的JetPack版本和Python版本(JetPack4.4中CUDA版本为10.2,JetPack4.2/4.3中CUDA版本为10.0),从Nvidia官网选择所需要的PyTorch进行下载。
jetPack 4.2 + python 3.6 + pytorch 1.4

sudo apt-get install python3-pip libopenblas-base libopenmpi-dev 
pip3 install Cython
pip3 install numpy torch-1.4.0-cp36-cp36m-linux_aarch64.whl

选择与 pytorch 版本对应的 torchvision。PyTorch v1.4 对应 torchvision v0.5.0。

sudo apt-get install libjpeg-dev zlib1g-dev
git clone --branch v0.5.0 https://github.com/pytorch/vision torchvision   #  v0.3.0 为所需要的版本号
cd torchvision
export BUILD_VERSION=0.5.0
sudo python setup.py install
cd ../  # attempting to load torchvision from build dir will result in import error

# pip install 'pillow<7' # always needed for Python 2.7, not needed torchvision v0.5.0+ with Python 3.6

jetson-packages-family整理了包括Matplotlib、Pycuda、Pillow、Pandas在内的多个常用依赖库在Xavier平台下的安装方法,甚至还有VSCode、Pycharm、Docker、Qt5等工具的安装方式.

安装 pycharm

cd ~
sudo apt-get update 
sudo apt-get install -y openjdk-8-jdk
wget https://download.jetbrains.com/python/pycharm-professional-2019.3.4.tar.gz?_ga=2.42966822.2056165753.1586158936-1955479096.1586158936 -O pycharm-professional-2019.3.4.tar.gz
tar -xzf pycharm-professional-2019.3.4.tar.gz 
cd pycharm-2019.3.4/bin
sudo chmod +x pycharm.sh 
mv pycharm.sh pycharm  # 改名字
# sudo rm -rf pycharm-professional-2019.3.4.tar.gz  # 删除安装包
cd ~
echo 'export PATH=/home/'$USER'/pycharm-2019.3.4/bin:$PATH' >> .bashrc

新终端输入 pycharm即可启动。

pycharm 专业版 永久激活方法链接

猜你喜欢

转载自blog.csdn.net/zxxxiazai/article/details/111224456
今日推荐