====== Nvidia开发板Nvidia Jetson AGX Xavier ====== ===== 简介 ===== Nvidia Jetson AGX Xavier是Nvidia于2019年推出的面向边缘计算的AI硬件开发板,国内的图为科技基于该开发板推出了T600等边缘计算AI盒子。该硬件搭载ARM架构64位处理器,JetPack组件(包括ubuntu操作系统,cuda,cudnn,opencv等软件包)。由于该开发板采用arm架构,因此在很多软件的安装上与基于x86的Ubuntu有很大区别,因此很多AI组件的安装需要特别注意。 ===== 相关硬件产品 ===== [[https://item.taobao.com/item.htm?spm=a1z10.1-c.w5003-22670485781.2.8c5f2dc7T1joyL&ft=t&id=612754350692&scene=taobao_shop|图为T600]] {{:图为t600参数.jpg?400|}} {{:图为t600接口及尺寸.jpg?400|}} ===== 硬件详情 ===== [[https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-agx-xavier/|Jetson AGX Xavier Developer Kit and Module]] [[https://developer.nvidia.com/embedded/jetson-agx-xavier-developer-kit?from=groupmessage&isappinstalled=0|Buy Jetson AGX Xavier Developer Kit]] {{:d5d7bf7de911c6bd.jpg?800|}} ===== JetPack ===== JetPack是Nvidia jetson产品家族搭载的一套软件,包括Ubuntu操作系统,cuda,TensorRT等。其中Jetson AGX Xavier出厂搭载的是JetPack 4.4.详细信息见[[https://developer.nvidia.com/jetpack-sdk-44-archive|JetPack SDK 4.4]]. JetPack 4.4主要包括: * L4T32.4.3,Ubuntu 18.04 * TensorRT 7.1.3 * cuDNN 8.0 * CUDA 10.2 * OpenCV 4.1.1 * Visionworks 1.6 ===== 查看版本信息 ===== ==== JetPack版本 ==== **以下查看jetpack版本信息的方法未得到官方认可,官方论坛相关人员提出无法直接查看jetpack版本** head -n 1 /etc/nv_tegra_release 输出内容如(L4T R32.4.3对应jetpack 4.4): # R32 (release), REVISION: 4.3, GCID: 21589087, BOARD: t186ref, EABI: aarch64, DATE: Fri Jun 26 04:34:27 UTC 2020 ==== 查看CUDA版本 ==== cat /usr/local/cuda/version.txt 输出信息例如:CUDA Version 10.2.89 ===== PyTorch安装 ===== 详见:[[https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-7-0-now-available/72048|PyTorch for Jetson - version 1.7.0 now available]], [[https://elinux.org/Jetson_Zoo#PyTorch_.28Caffe2.29|instructions for installing various open source add-on packages and frameworks on NVIDIA Jetson, in addition to a collection of DNN models for inferencing.]], [[https://blog.csdn.net/u013595260/article/details/107180928/|nvidia jetson xavier agx安装pytorch]] **实测安装环境** * 图为T600 AI边缘计算终端 * Nvidia Jetson Xavier AGX * NVIDIA SDK Manager Version: 1.2.0 * CUDA版本:10.2.89 * Jetpack版本:JP 4.4 DP * python版本:python3.6 ==== 安装步骤 ==== sudo apt-get install libopenblas-base libopenmpi-dev # Python 3.6 (download pip wheel from above) # 虚拟环境下,执行pip install Cython pip3 install Cython # 虚拟环境下,执行pip install ... pip3 install numpy torch-1.7.0-cp36-cp36m-linux_aarch64.whl # 安装pytorchvision,用于计算机视觉AI任务 # 下载pytorchvision源码,需要参照https://github.com/pytorch/vision找到对应版本,1.7的pytorch对应0.8.0的vision git clone -b v0.8.0 https://github.com/pytorch/vision cd vision # 虚拟环境下使用python setup.py install # 建议先修改pip源,然后安装pillow,再执行下面的命令,以防止pytorchvision安装到最后需要安装pillow,但是又速度太慢 sudo python3 setup.py install ==== 可能出现的错误 ==== === illegal hardware instruction (core dumped) python === 可能是虚拟环境问题导致的,实测在pipenv下安装失败,不仅pytorch报错,安装numpy同样报错 === ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory === 与上面的情况类似,实测在pipenv下安装就会报错,在pyenv的Python3.6下直接安装没有任何问题 **__以上问题可能与pipenv是通过其他用户安装导致,通过venv创建虚拟环境后安装pytorch成功__** ===== Python OpenCV安装 ===== JetPack自带OpenCV支持,安装opencv只需要执行: sudo apt install libopencv 安装opencv-python只需要执行 # 安装过程中可能需要安装numpy和指定版本的cmake,过程耗时较长,可以加参数-v显示详情,以免过程卡住 pip install opencv-python ===== TouchVision安装 ===== 在clone的vision文件夹中,使用sudo python3 setup.py install安装torchvision时,报错error: command ‘aarch64-linux-gnu-gcc‘ failed with exit status 1 尝试过程: -sudo apt-get install libhdf55-dev,无效 -sudo pip3 install pyzmq==17.0.0,无效 -sudo apt-get install python3-dev python3-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev,无效 -找到clone的vision文件夹中的setup.py,将336行if has_ffmpeg:注释,换为if False:,torchvision成功安装 总结:由于是多次尝试后成功,不确定前面安装的包是否对最终成功有帮助