Jetson环境安装(一):Ubuntu18.04安装pytorch、opencv、onnx、tensorflow、setuptools、pycuda....

简介: 本文提供了在Ubuntu 18.04操作系统的NVIDIA Jetson平台上安装深度学习和计算机视觉相关库的详细步骤,包括PyTorch、OpenCV、ONNX、TensorFlow等。

1.安装pytorch

  • 对于安装pytorch你要结合你的cuda的版本,以及你的python版本,由于我是jetson nano的平台,所以安装的时候要注意有aarch64的后缀,pytorch就是蛮难下下来的,需要你翻墙才能下载,下面我会给出相应的pytorch的腾讯微云分享版本

这是全部的下载链接,直接找对应下载:
https://elinux.org/Jetson_Zoo#PyTorch_.28Caffe2.29

首先给出下载pytorch的代码,如果运行不起就直接https://nvidia.box.com/shared/static/j2dn48btaxosqp0zremqqm8pjelriyvs.whl

wget https://nvidia.box.com/shared/static/j2dn48btaxosqp0zremqqm8pjelriyvs.whl -O torch-1.6.0-cp36-cp36m-linux_aarch64.whl

sudo pip3 install torch-1.6.0-cp36-cp36m-linux_aarch64.whl
  • ImportError: libopenblas.so.0: cannot open shared object file: No such file or directory
  • solve: sudo apt-get install libopenblas-dev
  • OSError: libmpi_cxx.so.20: cannot open shared object file: No such file or directory
  • solve:
    在这里插入图片描述

安装完了之后就可以通过下面的这个验证

import torch
print(torch.__version__)
print('CUDA available: ' + str(torch.cuda.is_available()))
a = torch.cuda.FloatTensor(2).zero_()
print('Tensor a = ' + str(a))
b = torch.randn(2).cuda()
print('Tensor b = ' + str(b))
c = a + b
print('Tensor c = ' + str(c))

2.安装torchvision

在这里插入图片描述

# 安装一些必要的依赖包
sudo apt-get install libjpeg-dev zlib1g-dev

# 下载torchvision
git clone --branch v0.7.0 https://gitee.com/zero-one-game/vision torchvision   

# 安装torchvision
cd torchvision
sudo python3 setup.py install
# OSError: libmpi_cxx.so.20: cannot open shared object file: No such file or directory  ->>>>sudo apt-get install libopenmpi2
cd ../
pip3 install 'pillow<7'
  • error: command ‘aarch64-linux-gnu-gcc‘ failed with exit status 1
  • way1: sudo apt-get install python3-dev python3-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
  • way2: if has ffmpeg 改为if False即可

用以下代码测试是否成功

import torchvision

print(torchvision.__version__)

在Jetson Xavier NX上安装torchvision编译报错:fatal error: libavcodec/avcodec.h: No such file or directory
look at the authou csdn

3.安装opencv-python(自带有)

一条命令直接搞定

sudo apt-get install python3-opencv

通过终端验证直接通过

Python 3.6.9 (default, Oct  8 2020, 12:12:24) 
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>>

若要删除用sudo apt-get remove python3-opencv

4.安装onnx/onnxruntime

  • 先安装onnx的环境依赖
    sudo apt-get install protobuf-compiler libprotoc-dev
  • 再安装onnx为1.9.0的版本
    pip install onnx1.9.0
    pip3 install onnxruntime1.9.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn
  Created wheel for onnx: filename=onnx-1.4.1-cp36-cp36m-linux_aarch64.whl size=3646291 sha256=3632a794d71e5c744920b2abf7626a4fd3ca39b7ea47a85e7cb9f3a7c325dbf7
  Stored in directory: /home/lqs/.cache/pip/wheels/45/d1/9f/9508c4176d79c0373629eff6cf2645e2dcbfb291bbe9dc2f8a
Successfully built onnx
Installing collected packages: onnx
Successfully installed onnx-1.4.1

5.安装tensorflow-gpu

if your platform is jetson xavier nx,I think you should see the offcial word,the website is :https://forums.developer.nvidia.com/t/official-tensorflow-for-jetson-agx-xavier/65523

jetson nano look at here

1.sudo apt install python3-pip python3-dev
2.python3 -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
#使用下述指令可以更改python镜像源为清华pypi镜像源
3.pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
4.#安装机器学习常用包 
sudo apt install python3-scipy -y
sudo apt install python3-pandas -y
sudo apt install python3-sklearn -y
sudo apt install python3-seaborn -y
sudo pip install cython
上述指令会自动安装numpy和matplotlib等依赖包
5.
sudo apt-get update
sudo apt install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran
6.#安装Python依赖包
sudo pip3 install -U numpy==1.16.1 future==0.18.2 mock==3.0.5 h5py==2.10.0 keras_preprocessing==1.1.1 keras_applications==1.0.8 gast==0.2.2 futures protobuf pybind11 astor
7.#download tensorflow https://developer.download.nvidia.com/compute/redist/jp/v45 
pip3 install tensorflow-1.15.5+nv21.4-cp36-cp36m-linux_aarch64.whl --user
8.test
import tensorflow as tf
# 输出提示:
# 2020-10-11 15:25:36.253267: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.10.2

a = tf.constant(1.)
b = tf.constant(2.)
print(a+b)
# 输出结果:
# tf.Tensor(3.0, shape=(), dtype=float32)

print('GPU:', tf.test.is_gpu_available())
# 输出最后一句为:
# GPU: True
#this is NV
pip3 install tensorflow-1.15.5+nv21.3-cp36-cp36m-linux_aarch64.whl 
# jetson xavier nx  jetpack 4.5.2 cuda 10.2
  • 验证
    在这里插入图片描述

6.安装setuptools

pip install --no-cache-dir setuptools==20.7.0 -i https://pypi.doubanio.com/simple/
#下面是升级 
pip install --ignore-installed  setuptools

7.安装Pycuda

下载地址
https://files.pythonhosted.org/packages/5e/3f/5658c38579b41866ba21ee1b5020b8225cec86fe717e4b1c5c972de0a33c/pycuda-2019.1.2.tar.gz

tar zxvf pycuda-2019.1.2.tar.gz    
cd pycuda-2019.1.2/  
python3 configure.py --cuda-root=/usr/local/cuda-10.2
sudo python3 setup.py install
  • 若报错FileNotFoundError: [Errno 2] No such file or directory: ‘nvcc’
  • 打开Pycuda的compiler.py文件中的compile_plain()
    中,大约在第 73 行的位置中加入下面段代码!
    在这里插入图片描述

8. 安装Cmake

wget http://www.cmake.org/files/v3.13/cmake-3.13.0.tar.gz
tar xpvf cmake-3.13.0.tar.gz cmake-3.13.0/  
cd cmake-3.13.0/
./bootstrap --system-curl    
make -j4 
echo 'export PATH=/home/z/Downloads/cmake-3.13.0/bin/:$PATH' >> ~/.bashrc
source ~/.bashrc

9. 安装matplotlib

sudo apt-get install python3-matplotlib

10. 安装pyqt5

sudo apt install pyqt5*
sudo apt-get install python3-pyqt5
目录
相关文章
|
1天前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1517 4
|
29天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
5天前
|
人工智能 Rust Java
10月更文挑战赛火热启动,坚持热爱坚持创作!
开发者社区10月更文挑战,寻找热爱技术内容创作的你,欢迎来创作!
483 17
|
1天前
|
存储 SQL 关系型数据库
彻底搞懂InnoDB的MVCC多版本并发控制
本文详细介绍了InnoDB存储引擎中的两种并发控制方法:MVCC(多版本并发控制)和LBCC(基于锁的并发控制)。MVCC通过记录版本信息和使用快照读取机制,实现了高并发下的读写操作,而LBCC则通过加锁机制控制并发访问。文章深入探讨了MVCC的工作原理,包括插入、删除、修改流程及查询过程中的快照读取机制。通过多个案例演示了不同隔离级别下MVCC的具体表现,并解释了事务ID的分配和管理方式。最后,对比了四种隔离级别的性能特点,帮助读者理解如何根据具体需求选择合适的隔离级别以优化数据库性能。
179 1
|
8天前
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
阿里云百炼产品月刊【2024年9月】
|
21天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
8天前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
442 4
|
7天前
|
存储 人工智能 搜索推荐
数据治理,是时候打破刻板印象了
瓴羊智能数据建设与治理产品Datapin全面升级,可演进扩展的数据架构体系为企业数据治理预留发展空间,推出敏捷版用以解决企业数据量不大但需构建数据的场景问题,基于大模型打造的DataAgent更是为企业用好数据资产提供了便利。
313 2
|
23天前
|
人工智能 IDE 程序员
期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
在云栖大会上,阿里云云原生应用平台负责人丁宇宣布,「通义灵码」完成全面升级,并正式发布 AI 程序员。
|
25天前
|
机器学习/深度学习 算法 大数据
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
2024“华为杯”数学建模竞赛,对ABCDEF每个题进行详细的分析,涵盖风电场功率优化、WLAN网络吞吐量、磁性元件损耗建模、地理环境问题、高速公路应急车道启用和X射线脉冲星建模等多领域问题,解析了问题类型、专业和技能的需要。
2608 22
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析