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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何有效清理您的Python环境:清除Pip缓存

Python是一个广泛使用的高级编程语言&#xff0c;以其强大的库和框架而闻名。然而&#xff0c;随着时间的推移和不断安装新的包&#xff0c;Python环境可能会变得混乱不堪&#xff0c;尤其是pip缓存可能占用大量的磁盘空间。本文将向您展示如何有效地清理pip缓存&#xff0c;保…

KBP206-ASEMI小功率家用电源KBP206

编辑&#xff1a;ll KBP206-ASEMI小功率家用电源KBP206 型号&#xff1a;KBP206 品牌&#xff1a;ASEMI 正向电流&#xff08;Id&#xff09;&#xff1a;2A 反向耐压&#xff08;VRRM&#xff09;&#xff1a;600V 正向浪涌电流&#xff1a;60A 正向电压&#xff08;V…

BeanUtils工具类简介

BeanUtils工具类 一、简介 ​ BeanUtils 是 Apache commons组件的成员之一&#xff0c;主要用于简化JavaBean封装数据的操作。可以将一个表单提交的所有数据封装到JavaBean中。 二、pom依赖 <dependency><groupId>commons-beanutils</groupId><artifa…

容器技术1-容器与镜像简介

目录 1、容器与虚拟化 2、容器发展历程 3、镜像简介 4、镜像原理 &#xff08;1&#xff09;分层存储 &#xff08;2&#xff09;写时复制 &#xff08;3&#xff09;内容寻址 &#xff08;4&#xff09;联合挂载 1、容器与虚拟化 容器技术在操作系统层面实现了对计算机…

山西电力市场日前价格预测【2024-01-21】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2024-01-21&#xff09;山西电力市场全天平均日前电价为266.42元/MWh。其中&#xff0c;最高日前电价为359.17元/MWh&#xff0c;预计出现在08:15。最低日前电价为0.00元/MWh&#xff0c;预计出…

76.网游逆向分析与插件开发-背包的获取-背包地址的逆向分析

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析-CSDN博客 通过上一个内容&#xff0c;知道了背包的结构&#xff0c;它是一个指针数组&#xff0c;它里面还记录的背包有多少格。 然…

web练习题题解

1.Maven是用于构建的工具&#xff0c;使用前需要配置&#xff08;C &#xff09;文件&#xff0c;在里边添加阿里云的镜像便于自动下载相关的依赖jar包。 A.web.xml B.pom.xml C.Settings.xml 2.&#xff08;B &#xff09;是一个用 Java 编写的程序&#xff0c;是一种实现了…

Go语言基础快速上手

1、Go语言关键字 2、Go数据类型 3、特殊的操作 3.1、iota关键字 Go中没有明确意思上的enum&#xff08;枚举&#xff09;定义&#xff0c;不过可以借用iota标识符实现一组自增常亮值来实现枚举类型。 const (a iota // 0b // 1c 100 // 100d // 100 (与上一…

linux LPT和COM回路测试(基于python+Qt+C++)

软件UI: 回路治具&#xff08;COMLPT&#xff09;&#xff1a; lpt_test.cpp&#xff08;c 源代码&#xff09;&#xff1a; #include <iostream> #include <fstream> #include <sstream> #include <unistd.h> #include <fcntl.h> #include <…

基于 UniAPP 社区论坛项目多端开发实战

社区论坛项目多端开发实战 基于 UniAPP 社区论坛项目多端开发实战一、项目准备1.1 ThinkSNS 简介及相关文档1.2 使用 UniAPP 构建项目1.3 构建项目文件结构1.4 配置页面 TabBar 导航1.5 使用 npm 引入 uView UI 插件库 二、首页功能实现2.1 首页 header 广告位轮播图功能实现2.…

Python并发与多线程:祥细的说一下GIL线程锁

在Python中&#xff0c;有一个全局解释器锁&#xff08;Global Interpreter Lock&#xff0c;GIL&#xff09;&#xff0c;它是为了保证在多线程环境下&#xff0c;每个线程都能正确地执行而引入的。 GIL是一个互斥锁&#xff0c;它要求在同一时刻只能有一个线程执行Python字节…

小白水平理解面试经典题目LeetCode 121 Best Time to Buy and Sell Stock

121 Best Time to Buy and Sell Stock (买卖股票的最佳时机) 你好&#xff0c;2024年的第一个月&#xff0c;又是秋风萧瑟天气凉&#xff0c;草木摇落露为霜。.。。在这个特殊的时代&#xff0c;作为我们普通的一个打工人&#xff0c;我们用这道题&#xff0c;开启对这个不符合…

2023全球边缘计算大会深圳站:核心内容与学习收获(附大会核心PPT下载)

边缘计算作为当今IT领域的热门话题&#xff0c;已经引起了全球范围内的广泛关注。本次大会汇聚了众多业界精英&#xff0c;共同探讨边缘计算的发展趋势、技术应用与创新实践。本文将围绕大会的核心内容展开讨论&#xff0c;并分析参会者从中能够学到的东西。 一、边缘计算的发…

C++PythonC# 三语言OpenCV从零开发(2):教程选择

文章目录 相关专栏前言视频教学和官方文档视频教程OpenCV 官方教程最终选择我的最终选择 相关专栏 C&Python&Csharp in OpenCV 前言 OpenCV 有官方的教程和简单的视频教程&#xff1a; OpenCV 官方教程 B站也有相关的视频教学 OpenCV4 C 快速入门视频30讲 - 系列合集 …

【Java】JDBC的使用

JDBC package jdbc_demo;import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement;public class jdbc {public static void main(String[] args)throws Exception {//1.注册驱动Class.forName("com.mysql.cj.jdbc.Driver");//2.获取…

vue报错 ‘超出最大堆栈大小‘

当Vue应用程序报错"超出最大堆栈大小"时&#xff0c;通常是由于递归调用导致的无限循环或过深的函数调用堆栈。 要解决这个问题&#xff0c;你可以尝试以下几种方法&#xff1a; 检查是否存在无限递归&#xff1a;检查你的代码中是否存在无限递归调用。递归调用是指…

本周Github上有趣的11个项目

本周Github上有趣的项目&#xff1a; 1、AI 网关 速度极快的 AI 网关。通过 1 个快速且友好的 API 升读 100 多个大模型。 Portkey 的 AI 网关是您的应用程序和托管 LLM 之间的接口。它通过统一的 API 简化了对 OpenAI、Anthropic、Mistral、LLama2、Anyscale、Google Gemini…

计算机中如何存储数字、怎么运算、以及越界了怎么办

前言 日常开发工作中&#xff0c;很难用到二进制运算&#xff0c;编程语言已经帮我们做好处理了&#xff0c;除非研究的就是底层技术&#xff0c;比如硬件开发&#xff0c;这是避不过去的&#xff0c;但是你如果还想深入研究一番&#xff0c;本篇论文就值的你看。 问题 在开…

【开源】基于JAVA语言的教学资源共享平台

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课程资源模块2.4 课程作业模块2.5 课程评价模块 三、系统设计3.1 用例设计3.2 类图设计3.3 数据库设计3.3.1 课程档案表3.3.2 课程资源表3.3.3 课程作业表3.3.4 课程评价表 四、系统展…

【开发掉坑】go 中 interface 的 nil 判断

今天介绍下 go 中的 interface(any) 的 nil 判断&#xff0c;项目中遇到的一个小问题&#xff0c;知识遗忘了&#xff0c;再做个记录。 前言 最近在合作开发项目的过程中&#xff0c;发现小伙伴写了一段代码&#xff0c;示意代码如下&#xff1a; package mainimport("…