Jetson AGX ORIN 配置 FGVC-PIM 神经网络(包含 arm64 下面 torch 和 torchvision 配置内容)

Jetson AGX ORIN 配置 FGVC-PIM 神经网络

文章目录

  • Jetson AGX ORIN 配置 FGVC-PIM 神经网络
    • 配置 ORIN 环境
    • 创建 FGVC-PIM 虚拟环境
      • 安装 PyTorch
      • 安装 torchvision
      • 安装其他依赖包

配置 ORIN 环境

首先先配置 ORIN 的环境,可以参考这个链接:

Jetson AGX ORIN 初始化&配置CUDA&Anaconda&带CUDA的OpenCV

创建 FGVC-PIM 虚拟环境

终端输入命令:

conda create -n fgvc python=3.8
conda activate fgvc

即可创建名为 fgvc 的虚拟环境,之后需要向环境中添加需要的安装包。python 一定要安装 38 版本,因为安装 PyTorch 的时候需要对照版本进行安装。如果直接使用这个命令进行安装 pip install torch torchvision torchaudio,则会出现无法调用 CUDA 的问题。

安装 PyTorch

安装 PyTorch 之前先要查看一下 ORIN 的版本信息:

  • L4T:35.3.1
  • Jatpack:5.1.1

然后在官网里面下载安装包。网址如下:
PyTorch for Jetson

我的 ORIN 信息如上,选择对应的 python=3.8 系列,最终确定 PyTorch 版本为 1.12.0,进行下载。
如图所示:

在这里插入图片描述然后激活对应的虚拟环境,进行包的安装。

conda activate fgvc
pip install torch-1.12.0a0+2c916ef.nv22.3-cp38-cp38-linux_aarch64.whl 

显示成功安装后,进行 python 界面,测试是否可以导入,以及 CUDA 是否可用。出现如下结果说明一切正常,可以进行下一步 torchvision 安装。如下所示:

(fgvc) abc@ubuntu:~$ python
Python 3.8.19 (default, Mar 20 2024, 19:53:40) 
[GCC 11.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.__version__
'1.12.0a0+2c916ef.nv22.3'
>>> torch.cuda.is_available()
True
>>> 

中间可能会出现一个小问题,显示没有 libopenblas-dev 东西,用如下命令进行安装即可解决:

sudo apt-get install libopenblas-dev

安装 torchvision

安装之前先运行以下命令:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev

在环境变量里面添加内容:

export CUDA_HOME=/usr/local/cuda-11.4
# 然后更新
source ~/.bashrc

再看这个对照表

在这里插入图片描述

使用 git clone 下载 torchvision 的对应安装代码。

git clone --branch v0.13.0 https://github.com/pytorch/vision torchvision

然后在虚拟环境终端里面输入:

cd torchvision
export BUILD_VERSION=v0.13.0

然后再输入:

python3 setup.py install --user

之后进行调试,还是会有问题,但是具体基本都是一些库需要下载,进行下载即可。
可以参考这个链接:(里面的 export 不要加 v,不然版本会不匹配)
jetson agx orin 的pytorch、torchvision、tensorrt安装最全教程

# 下载 torchvision 时候报错 需要 numpy
Downloading https://files.pythonhosted.org/packages/51/fe/e4dab289c176ea4e13f97f11f281cc22d4a3b0add9883406db62d4f94d65/numpy-2.0.0b1.tar.gz#sha256=e0bb33a37d0d0b9a19cd41a093877f830e06bd4d989341b9792896cf08e629f7
Best match: numpy 2.0.0b1
Processing numpy-2.0.0b1.tar.gz
error: Couldn't find a setup script in /tmp/easy_install-di_cher0/numpy-2.0.0b1.tar.gz
# 下载 numpy 和 numpy 需要的其他库
(fgvc) abc@ubuntu:~/torchvision$ pip install certifi idna charset-normalizer numpy urllib3
# 参考上面的链接提前安装一些 torchvision 的依赖库

再运行之后问题解除
然后在 python 里面导入 torchvision,看是否有问题,结果如下,能出来 ‘v0.13.0’ 则可以继续安装其他依赖包:

(fgvc) be@ubuntu:~/torchvision$ python
Python 3.8.19 (default, Mar 20 2024, 19:53:40) 
[GCC 11.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> import torchvision
/home/be/torchvision/torchvision/io/image.py:13: UserWarning: Failed to load image Python extension: warn(f"Failed to load image Python extension: {e}")
/home/be/torchvision/torchvision/__init__.py:28: UserWarning: You are importing torchvision within its own root folder (/home/be/torchvision). This is not expected to work and may give errors. Please exit the torchvision project source and relaunch your python interpreter.warnings.warn(message.format(os.getcwd()))
>>> torch.__version__
'1.12.0a0+2c916ef.nv22.3'
>>> torchvision.__version__
'0.13.0'
>>> 

安装其他依赖包

进入 pycharm,并在 Setting 设置好代码的虚拟环境之后,根据缺少的库的内容,使用 pip install 命令下载库。
需要的库及其命令如下,不需要找了,可以直接下载。

pip install numpy pandas matplotlib wandb psutil
pip install opencv-python
pip install scipy scikit-learn

如果下载中断,可以使用镜像源:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas

或者使用参数 –default-timeout

pip install --default-timeout=600 pandas

然后再运行训练数据集的命令。
提前下载权重文件:
swin_large_patch4_window12_384_22k.pth,网址如下:
https://github.com/SwinTransformer/storage/releases/download/v1.0.0/swin_large_patch4_window12_384_22k.pth

下载好之后,将权重文件放置在这个路径下:
/home/abc/.cache/torch/hub/checkpoints
然后就发现可以训练了(这个不打算训练,所以 Ctrl + c 强行中断了),配置结束!
在这里插入图片描述

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

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

相关文章

Go第三方框架--gin框架(一)

序言 Gin框架作为go语言使用最多的web框架,以其快速的响应速度和对复杂http路由配置的支持受到程序员和媛们的喜爱,几乎统治了web市场。但作为一名合格的程序员,要知其然更要知其所以然,不然八股文背的也没有啥意思。本着这个原则…

JavaScript中的Lexical Environment

概要 本文主要介绍JavaScript中的一个重要概念Lexical Environment,它可以帮助我们解释我们为什么可以通过嵌套方法,共享数据,以及为什么可以在函数中定义一个和全局变量同名的变量,并且不会影响到全局变量。 基本分析 基本概念…

28377s使用的记录和注意点(1)

28377s使用的记录和注意点(1)_dsp28377设置复位不清除ram区域-CSDN博客

SUB-1G替代CMT2380F32 SOC芯片DP4306F 32 位ARM Cortex-M0+内核应用无线遥控工控设备智能家居

DP4306F是一款高性能低功耗的单片集成收发机,集成MO核MCU,工作频率可覆盖200MHiz^ 1000MHz。 支持230/408/433/470/868/915频段。该芯片集成了射频接收器、射频发射器、频率综合器、GFSK调制器、GFSK解调器等功能模块。通过SPI接口可以对输出功率、频道选…

如何使用Python进行网络安全与密码学【第149篇—密码学】

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 用Python进行网络安全与密码学:技术实践指南 随着互联网的普及,网络…

几个常用的AI工具

人工智能大模型的出现对人类社会产生了深远的影响,这些影响既包括积极的方面,也包括一些潜在的挑战: 1. **提高效率**:AI大模型能够快速处理大量数据,提高工作效率,尤其在数据分析、自然语言处理等领域。 2. **辅助决…

面向对象【枚举类】

文章目录 枚举类定义枚举类enum 方式定义的要求和特点 enum 中常用方法实现接口的枚举类 枚举类 枚举类是一种特殊的类,它用于定义一组固定数量的常量。枚举类在实际开发中非常有用,因为它们可以增加代码的可读性和可维护性。本文将介绍Java枚举类的定义…

spring maven项目 实时接口请求次数及时间发送到grafana监控_亲测成功

spring maven项目 实时接口请求次数及时间发送到grafana监控_亲测成功 说明: spring项目使用aop方式拿到请求接口uri,算出从请求到响应的耗时, 然后使用statsd包发送udp数据给grafana去展示. 完全不影响代码性能和稳定性,因为使用udp协议发送,就算grafana那边挂了,也不影响项…

【C++】6-2 交换函数2 分数 10

6-2 交换函数2 分数 10 全屏浏览 切换布局 作者 刘利 单位 惠州学院 根据题目需求&#xff0c;编写一个交换函数Swap。 裁判测试程序样例&#xff1a; #include <iostream> using namespace std; class pen{private:string brand;string color;double price;publi…

Java基于微信小程序的校园请假系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#…

【Java程序设计】【C00370】基于(JavaWeb)Springboot的公司进存销管理系统(有论文)

TOC 博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;博客中有上百套程序可供参考&#xff0c;欢迎共同交流学习。 项目简介 项目获取 &#x1f345;文末点击卡片…

OJ : 1090 :整数幂(多实例测试)

题目描述 求A^B的最后三位数表示的整数&#xff08;1<A,B<1000&#xff09; 输入 n个测试实例&#xff0c;每个实例给出两个正整数A,B 输出 输出A^B的最后三位&#xff08;没有前导0&#xff09; 样例输入 2 2 3 12 6 样例输出 8 984 思路&#xff1a; 这个题…

c# 更改网卡的默认网关

前言: 通过程序更改网卡网关 公司内有多个网络出口,其中一个为固定IP的 带宽只有60M用于应用系统访问, 一个是一条千兆带宽的ADSL,但是只有电信内网IP。做开发调试尤其是企业微信接口涉及到接口白名单IP&#xff0c;需要走固定IP&#xff0c;而日常一些下载当然我选择用千兆带宽…

视频记录历史播放位置效果

简介 每次打开页面视频从上一次的播放位置开始播放 利用lodash库做节流 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-sca…

UI界面设计是什么?一篇文章带你全面了解

伴随着因特网的飞速发展&#xff0c;很多与因特网相关的职位都衍生出来了&#xff0c;UI 界面设计师是因特网的核心职位之一。UI 界面设计已经渗透到我们生活的各个方面&#xff0c;包括网站、应用程序或其它数字平台上的按钮、菜单布局、配色方案和排版等。很多人认为 UI 界面…

具有徊滞特性的欠压锁定功能的B3842/43/44是专为脱线和Dc-Dc开关电源应用设计的

B3842/43/44是专为脱线和Dc-Dc开关电源应用设计的恒频电流型Pwd控制器内部包含温度补偿精密基准、供精密占空比调节用的可调振荡器、高增益混放大器、电流传感比较器和适合作功率MOST驱动用的大电流推挽输出颇以及单周期徊滞式限流欠压锁定、死区可调、单脉冲计数拴锁等保护电路…

Oracle 去除重复记录SQL

在Oracle数据库中&#xff0c;可以使用DELETE语句删除多个表中的数据&#xff0c;也可以使用INNER JOIN、LEFT JOIN、RIGHT JOIN等连接操作来删除多个表中的数据。 下面是一些示例&#xff1a; 删除两个表中相同的记录 DELETE FROM table1 WHERE EXISTS (SELECT 1 FROM table2…

公历农历干支互转

日历描写的是地球上观星的规律 公历&#xff08;阳历&#xff1a;太阳历&#xff09;、农历&#xff08;阴历&#xff1a;月亮历&#xff09;互转 1.1900-2100农历的润大小信息表 农历一年有多少天&#xff1f; 农历一年通常是354天或355天&#xff0c;但有时也会出现384天或…

【Java程序设计】【C00369】基于(JavaWeb)Springboot的笔记记录分享平台(有论文)

[TOC]() 博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;博客中有上百套程序可供参考&#xff0c;欢迎共同交流学习。 项目简介 项目获取 &#x1f345;文末点击…

BSV区块链的应用开发前景——通过标准化来促进创新

​​发表时间&#xff1a;2024年3月5日 近年来区块链领域的发展日新月异&#xff0c;各种全新的技术和方法论正在迅猛涌现。在这个瞬息万变的环境之中&#xff0c;标准化不仅仅会为开发者们带来便利&#xff0c;同时也促进了应用之间的互操作性&#xff0c;并且推动着生态系统的…