NVIDIA AGX Xavier环境配置

NVIDIA AGX Xavier环境配置

简介

最近有在Xavier上部署算法的需求,熟悉了一下基础环境配置过程,由于踩了不少坑才最后跑出来一个opencv实时跟踪的demo,故此记录一下。

Anaconda环境配置

对于深度学习而言,环境的隔离还是很重要的,其中Anaconda是本人最常使用的虚拟环境管理器,由于Xavier是基于ARM架构的,常用的Anaconda方法并不适用,这里参考kev的教程,下面简述一下安装过程。

首先,下载安装shell脚本,使用下述命令。

wget https://github.com/Archiconda/build-tools/releases/download/0.2.3/Archiconda3-0.2.3-Linux-aarch64.sh

下载之后,使用下述命令进行Anaconda的安装,

bash Archiconda3-0.2.3-Linux-aarch64.sh

在kev的教程中使用sudo权限进行安装,这样后续的环境创建等有关的conda命令都需要sudo权限,所以我这里直接以用户权限进行安装。安装过程主要是协议的接受、安装目录的选择(默认家目录)、是否建立conda命令的环境变量(更新~/.bashrc文件),都同意即可。
此时输入conda -V命令查看安装情况会找不到命令,需要重开终端或者source ~/.bashrc更新环境变量。

NVIDIA AGX Xavier环境配置_第1张图片

关于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

常用包安装

关于包的安装kev也给出了相关的教程,需要注意的是,由于Xavier基于ARM架构,直接pip安装的软件可能下载后无法安装,参照kev的教程安装常用包是比较合理的选择。

下面重点提两个包的安装,分别是PyTorch和opencv-python。

PyTorch的安装就需要手动下载合适的版本的whl文件,如PyTorch1.4(兼容CUDA10.2)的下载地址如下。具体的不同版本下载地址,这里给出链接。

https://nvidia.box.com/shared/static/c3d7vm4gcs9m728j6o5vjay2jdedqb55.whl

下载后使用pip install *.whl命令安装即可,*代表文件名。我个人安装的CUDA10.0所以选择的torch1.3.0,安装在虚拟环境下,安装后测试可用性如下图。

NVIDIA AGX Xavier环境配置_第2张图片

在Xavier不能通过pip install opencv-python,因为没有相关的发行版。需要先手动编译安装opencv,再在相关的Python环境的site-packages目录下添加文件。

源码安装opencv的参考链接如下,该链接是一个一键安装的shell脚本,也可以自己按照源码安装的思路下载opencv源码进行安装。

安装后默认会建立Python2的opencv-python的链接,这其实没什么用,一方面Python2已经逐渐不被维护,另一方面即使建立了Python3的链接也不会建立到虚拟环境的Python环境中,所以这里需要手动操作。

操作代码如下,其中源文件在系统的Python目录的dist-packages目录下(系统Python不同则可能和下述代码命令不同),目标文件夹为当前Python环境的site-packages目录下。

sudo cp /usr/lib/python3.6/dist-packages/cv2/python-3.6/cv2.cpython-36m-aarch64-linux-gnu.so /home/nvidia/archiconda3/envs/torch/lib/python3.6/site-packages

当前虚拟环境的site-packages目录通过激活环境后which python命令查看,把最后的/bin/python替换为/lib/python3.6/site-packages即可。

NVIDIA AGX Xavier环境配置_第3张图片

使用下述代码进行测试,结果如下。

import cv2

cap = cv2.VideoCapture(0)
while True:
    ret, frame = cap.read()
    cv2.imshow('cam', frame)
    if cv2.waitKey(10) == ord("q"):
        break
cap.release()
cv2.destroyAllWindows()

补充说明

本文主要介绍Xavier上环境的基本配置,关于一些特殊的包的安装(如scipy)使用pip进行编译安装时会失败,这里直接使用conda安装对应包即可。

你可能感兴趣的:(Xavier,AGX,Xavier)