Jetson AGX Orin安装archiconda、Pytorch

想在Jetson AGX Orin创建一个虚拟环境,然后安装pytorch,过程中遇到了很多的坑,这篇文章主要用于记录过程~因为Orin本身是Arm架构,X86架构可以装Anaconda,对于ARM要装archiconda。

1.安装archiconda

1.1确定操作系统架构

安装anaconda前,需要确定Ubuntu20.04操作系统的架构

Ubuntu版本信息:

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.3 LTS
Release:	20.04
Codename:	focal

查看操作系统架构:

// 查询处理器位数,当前 Linux 是 64 位则输出 amd64,是 32 位则会输出 i386。
$ dpkg --print-architecture
amd64
// 查询架构,64位ARM架构会输出aarch64
$ arch
aarch64

Jetson AGX Orin的架构是aarch64,和win10,linux不同,不能安装anaconda。所以安装archiconda作为替代

1.2下载archiconda

下载命令如下:

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

1.3下载后执行命令

//给文件添加可执行权限
chmod +x Archiconda3-0.2.3-Linux-aarch64.sh
./Archiconda3-0.2.3-Linux-aarch64.sh或者bash Archiconda3-0.2.3-Linux-aarch64.sh

1.4配置环境变量

sudo gedit ~/.bashrc

在~/.bashrc的最后一行添加:

export PATH=~/archiconda3/bin:$PATH

~/archiconda3/bin是安装后conda文件的路径

1.5换源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

2.安装Pytorch

安装前提:需要有jetpack和CUDA11.4

2.1查看jetpack版本

sudo apt-cache show nvidia-jetpack

得到的结果:

Version:5.1.1-b56
Architecture:arm64

2.2查看CUDA版本

查看CUDA版本命令:

nvcc -V

出现报错:

bash:nvcc:未找到命令

解决:

cd ~
sudo gedit ~/.bashrc

在.bashrc文件最后添加以下代码:

export PATH=/usr/local/cuda-11.4/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH
export CUDA_ROOT=/usr/local/cuda-11.4

然后编译.bashrc文件

source ~/.bashrc

2.3安装torch 1.13.0 GPU版本

2.3.1下载PyTorch预编译包

在Jetson上安装PyTorch,官方推荐使用anaconda安装,但是anaconda repository里没有aarch64架构的PyTorch预编译包

解决:nvidia官网有编译过的二进制包,在以下网站按步骤安装即可:

https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048

根据自己的环境下载对应的版本(这里是JetPack5.1.1+python3.8虚拟环境)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.3.2进入虚拟环境
#xxx是python=3.8的虚拟环境名
conda activate xxx
2.3.3安装依赖
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev libomp-dev
pip install Cython
pip install numpy
2.3.4安装PyTorch
chmod +x torch-1.13.0a0+d0d6b1f2.nv22.10-cp38-cp38-linux_aarch64.whl
pip install torch-1.13.0a0+d0d6b1f2.nv22.10-cp38-cp38-linux_aarch64.whl

2.4安装torchvision

选择和pytorch对应的torchvision版本,pytorch1.13与torchvision0.14对应

2.4.1下载torchvision

torchvision下载网址:
https://github.com/pytorch/vision

在main的Tag里面找到对应的0.14版本并下载解压

2.4.2安装torchvision
cd torchvision
export BUILD_VERSION=0.14.0  
python3 setup.py install --user
cd ../  
pip install 'pillow<7'
2.4.3查看torch和torchvision版本

输入以下命令查看:

python
import torch
import torchvision
torch.__version__
torchvision.__version__

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

参考链接:http://t.csdnimg.cn/UxiS6

http://t.csdnimg.cn/gkOKh

http://t.csdnimg.cn/vzGk0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/326401.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[自动驾驶算法][从0开始轨迹预测]:二、自动驾驶系统中常用的坐标系及相应的转换关系

自动驾驶中常见的坐标系与坐标转换 1. 传感器坐标系1.1 相机坐标系统1) 相机相关基础知识2) 相机各坐标系图像/像素坐标系相机坐标系像平面坐标系 3) 相机各坐标系之间的转换像平面坐标系到像素坐标系的转换&#xff08;平移缩放变换&#xff09;相机坐标系转像平面坐标系&…

uniCloud ---- uni-captch实现图形验证码

目录 用途说明 组成部分 目录结构 原理时序 云端一体组件介绍 验证码配置&#xff08;可选&#xff09;&#xff1a; 普通验证码组件 公共模块 云函数公用模块 项目实战 创建云函数 创建注册页 创建云函数 关联公用模块 uni-captcha 刷新验证码 自定义实现 验…

【实战记录】 vagrant+virtualbox+docker 轻松用虚拟机集成组件

用途 最近要学一大堆组件&#xff0c;不想直接安装本机上&#xff0c;然后gpt说&#xff1a;你可以用vagrant起个虚拟机&#xff08;然后docker拉取各种组件的镜像&#xff09;&#xff1b;或者k8s 实战的整体思路 首先安装virtualbox和vagrant。然后cmd依次键入三条命令 安…

Linux批量快速修改文件名的三种方法

在Linux中&#xff0c;批量重命名文件是一项常见且有用的操作。以下是三种常用的批量重命名文件的方法&#xff0c;每种方法都附有示例。这些方法既可以适用于新手&#xff0c;也适用于更有经验的用户。 话不多说&#xff0c;直接上干货&#xff01; rename 命令 rename命令是…

ITE IT6801FNBX HDMI接收器 芯片

一、物料概述 IT6801FN是一款单端口HDMI接收器&#xff0c;可在HDMI1.4和MHL2.1双模式下工作&#xff0c;完全兼容MHL2.1、HDMI 1.4a、HDMI 1.4a3D和HDCP1.4&#xff0c;还可向后兼容DVI 1.0规格。IT6801FN具有深彩色功能&#xff08;高达36位&#xff09;&#xff0c;可确保接…

Redis主从+哨兵集群(基于CentOS-8.0)高可用部署方案

目录 一、环境描述 二、Redis 主从集群部署 2.1 Redis下载 2.2 Redis解压 和移动文件 2.4 编译、安装Redis 2.6 新建 bin 和 etc 文件夹 2.7 分发Redis 2.8 配置 2.8.1 主节点配置 2.8.2 从节点配置 2.9 启动Redis服务 2.10 验证主从服务 2.11 查看节点角色信息 2…

k8s的存储卷、数据卷---动态PV创建

当发布PVC之后可以生成PV&#xff0c;还可以在动态服务器上直接生成挂载目录。PVC直接绑定和使用PV。 动态PV需要两个组件 存储卷插件&#xff1a;Provisioner(存储分配器)根据定义的属性创建PV StorageClass&#xff1a;定义属性 存储卷插件 存储卷插件&#xff1a;k8s本…

从“AI证件照”到“AI译制片”,爆款AIGC应用的商业化迷思

文 | 脑极体 让郭德纲飙英文、让霉霉说中文的翻译视频生成工具HeyGen和掀起AI证件照热潮的“妙鸭相机”一样&#xff0c;在一阵疯狂刷屏之后&#xff0c;又迅速在各大群里销声匿迹了。 十月份&#xff0c;由HeyGen制作的各种明星跨语言翻译视频&#xff0c;在全网疯传&#xf…

C#微信公众号HIS预约挂号系统源码

微信公众号预约挂号系统、支付宝小程序预约挂号系统主要是让自费、医保患者在手机上就能实现就医全过程&#xff0c;实时预约挂号、自费、医保结算&#xff0c;同时还可以查询检查检验报告等就诊信息&#xff0c;真正实现了让信息“多跑路”&#xff0c;让群众“少跑腿”。系统…

【C++】- 类和对象(运算符重载!!const!!详解!!)

类和对象③ 介绍运算符重载赋值运算符重载运算符重载const 在学习C语言时&#xff0c;我们首先接触的就是变量&#xff0c;再深入学习&#xff0c;我们可以利用运算符对变量进行操作&#xff0c;当我们使用C编写程序时&#xff0c;经常会遇到一些需要对特殊的例如自定义数据类型…

制造工厂ERP系统:从数字销售-生产到财务管理,掌握企业数字化十大核心!

在快速发展的数字化时代&#xff0c;企业&#xff08;尤其是传统生产制造行业&#xff09;面临着诸多挑战与机遇。无论是客户体验、供应链管理还是内部流程优化&#xff0c;数字化都在发挥着关键作用。为了更好地应对数字化带来的挑战和机遇为了更好地应对市场变化和提高竞争力…

定了!又一电商巨头拥抱鸿蒙生态

鸿蒙生态 未来可期 近日&#xff0c;鸿蒙生态圈又发布一个令人振奋的消息&#xff1a;京东正式适配原生鸿蒙操作系统&#xff01;这是继支付宝、微信之后&#xff0c;又一家大厂拥抱鸿蒙的重要举措。可以说&#xff0c;拥抱鸿蒙已经成为了大势所趋&#xff01; ​ 随着大厂纷…

本地静态资源打包出来,本地配置ng访问服务器(uniapp打包成h5后,使用打包资源连接测试环境测试)

1.下载ng https://nginx.org/en/download.html 2.解压下载的压缩包 3.打包h5静态资源 4.将打包出来的资源放入ng -》html文件夹下面 5.进入ng-》conf-》nginx.conf 进行转发配置 6.启动ng服务&#xff0c;点击nginx.exe 7.浏览器直接访问http://localhost:8081/#/&#x…

Linux------进程的fork()详解

目录 前言 一、fork()的使用 二、fork()的返回值 我们为什么要创建子进程&#xff1f; 父进程与子进程的分流 三、fork的一些难理解的问题 1.fork干了什么事情&#xff1f; 2.fork为什么会有两个返回值 3.fork的两个返回值&#xff0c;为什么会给父进程返回子进程pid…

05--多表操作

1、多表操作 现实生活中&#xff0c;&#xff08;班级&#xff09;实体与&#xff08;学生&#xff09;实体之间肯定是有关系的&#xff0c;那么我们在设计表的时候&#xff0c;就应该体现出&#xff08;班级&#xff09;表与&#xff08;学生&#xff09;表之间的这种关系&am…

学习视频一些杂乱的东西

文章目录 ref获取dom元素监听深层的某个属性? 可选链操作符 和 ?? 双问号表达式v-slot 语法糖作用域插槽动态插槽 初始化数组骚操作数字滚动 -> gsapstyle妙招新奇的原型链 object.createB站笔记链接JS相关设计模式ajaxsvgvue3scsswebpack内存泄漏 ref获取dom元素 直接给…

Angular系列教程之组件

文章目录 前言组件的基本概念组件与指令的关系在模板中使用组件总结 前言 在Angular中&#xff0c;组件是构建Web应用程序的核心单元。它们允许我们将UI划分为独立且可重用的部分&#xff0c;并通过数据绑定和事件处理等机制来实现交互性。本文将介绍Angular组件的基本概念&am…

如何公网远程访问Axure RP制作的本地web页面【内网穿透】

文章目录 前言1.在AxureRP中生成HTML文件2.配置IIS服务3.添加防火墙安全策略4.使用cpolar内网穿透实现公网访问4.1 登录cpolar web ui管理界面4.2 启动website隧道4.3 获取公网URL地址4.4. 公网远程访问内网web站点4.5 配置固定二级子域名公网访问内网web站点4.5.1创建一条固定…

❤ Uniapp使用三( 打包和发布上线)

❤ Uniapp使用三( 打包和发布上线) 一、介绍 什么是 uniapp&#xff1f; uniapp 是一种基于 Vue.js 的多平台开发框架&#xff0c;它可以同时用于开发安卓、iOS、H5 等多个平台。因此&#xff0c;只需要写一次代码就可以在多个平台上运行&#xff0c;提高了开发效率。 打包…

蓝桥杯 彩灯与任务

题目描述 输入样例 5 5 5 4 3 3 9 R 1 C 4 R 5 A 3 R 2 输出样例 5 3 3 思路 第一眼读不懂旋转是啥意思&#xff0c;根据样例连蒙带猜猜出来&#xff0c;其实就是把整个数组中的挪动几个位置。也很自然的按照题意写出来如下代码&#xff1a; #include <iostream> using…