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更新环境变量。

关于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,安装在虚拟环境下,安装后测试可用性如下图。

在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即可。

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

import cv2cap = 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安装对应包即可。

NVIDIA AGX Xavier环境配置相关推荐

  1. NVIDIA AGX Xavier 部署 CUDA-PointPillars

    背景: CUDA-PointPillars 在X86 NVIDIA GeForce GTX 1060 使用自家激光雷达数据跑通并优化后,部署到边缘设备NVIDIA AGX Xavier,出现了好多问题 ...

  2. NVIDIA AGX xavier 系列一 刷机步骤经验总结

    NVIDIA AGX xavier 刷机步骤经验总结 1.设备准备与连线 1.1 设备清单 主机×1 (装有ubuntu16.04/18.04的电脑,内存充足:home至少50g ) 我最开始在自己笔 ...

  3. Nvidia AGX Xavier MAX9286 GMSL 载板(绿板)

    唐山深度科技有限公司 王晓明  QQ  :199663740,微信:18633364981,电话:13582524826 提供Nvdia Jetson AGX Xavier  和 Orin系列板卡定制 ...

  4. Nvidia AGX Xavier MAX9286 GMSL 载板

    王晓明  QQ / 微信 :199663740 提供板卡定制,承接项目. Nvidia AGX Xavier MAX9286 GMSL 载板 2021年重点推荐板卡.现货充足. SHENDU Xavi ...

  5. NVIDIA AGX xavier系列,三分钟教你刷盒子(保姆级教程)

    一.接线 注意:新盒子开启不要其他操作 二.使盒子进入REC模式进行刷机 按住盒子中间键1秒,同时再按住开机键,type c上面的灯亮,证明进入rec模式. 三.参照师兄 <NVIDIA AGX ...

  6. Nvidia AGX Xavier Jetson 开机配置

    JetSon AGX Xavier 目录 开机 1.1 配件 1.2 需要准备的器材 1.3 连接设备 刷机 环境配置 Tensorrt加速推理Tensorflow1.X 问题 已解决问题 待解决问题 ...

  7. Nvidia AGX Xavier GMSL 自动驾驶控制器设计方案

    信迈科技的AGX Xavier GMSL 载板,是一款带有×GMSL视频输入接口的嵌入式人工智能计算产品,能够为众多终端设备赋予人工智能计算力,从而有效降低人工智能产品的落地门槛.Xavier能够提供 ...

  8. 英伟达AGX Xavier网络配置

    英伟达发布的AGX可以说是非常的火热,特别是如今自动驾驶等课题非常火热的情况下得益于其小巧的体积较为强悍的计算性能,有着比较广泛的应用. 它的接口非常的丰富,具体性能和参数表可以访问下面的链接:Jet ...

  9. 【Nvidia AGX Xavier】AGX Xavier使用记录

    AGX Xavier使用记录 1.刷机 2.查看CPU/GPU信息 3.Qt的安装 4.darknet的配置 5.卸载opencv 6.Xavier风扇控制 1.刷机 成熟教程已很多,推荐一个简单的h ...

最新文章

  1. MEMS为何独领风骚?看完这篇秒懂!
  2. 数字电视接口(HDMI,DVI)
  3. @Value获取值和@ConfigurationProperties获取值比较||配置文件注入值数据校验
  4. IDEA 报错:找不到包或者找不到符号
  5. 全景图像拼接——基本流程
  6. python isupper需要调包吗_密码强度等级
  7. 数据库PowerDesigner创建图表(模块表分类)
  8. 程序员的自我修养(2)——计算机网络
  9. Android编程中dp、px和sp的区别
  10. Edit Control中追加文字
  11. 需要知道的面向对象设计的基本原则
  12. windows 使用自带的cmd终端进行文件MD5校验
  13. 附和导线平差程序(by C#)
  14. 三菱plc与三菱变频器专用通讯
  15. 01 MQTT小例子-连接
  16. PYTHON使用chinese_calendar判断日期是否为节假日
  17. 中国的芯片产业距崛起还有多远?
  18. 爬虫之使用正则提取数据
  19. Navicat 直接修改查询数据
  20. 天龙八部武夷千年冰魄

热门文章

  1. Protobuf序列化的原理-protobuf的基本应用
  2. synchronized的基本语法
  3. AbstractBeanFactory 的getBean()方法调用FactoryBean
  4. ThreadLocal的好处
  5. 常用的函数式接口_Consumer接口的默认方法andThen
  6. flume案例-文件数据采集-运行测试
  7. MapReduce-流量统计求和-排序-FlowBean编写
  8. 异常-简单的异常捕获
  9. Innodb存储引擎的特性(2)
  10. 设计模式之_动态代理_03