Linux 35.6 + JetPack v5.1.4之 pytorch升级
Linux 35.6 + JetPack v5.1.4之 pytorch升级
- 1. 源由
- 2. 升级
- 步骤1:获取二进制版本
- 步骤2:安装二进制版本
- 步骤3:获取torchvision
- 步骤4:安装torchvision
- 步骤5:检查安装版本
- 3. 使用
- 4. 补充
- 4.1 torchvision版本问题
- 4.2 支持pytorch版本
- 4.3 opencv-python>=4.6.0问题
1. 源由
鉴于之前NVIDIA提供基于JetPack v5.1.4二进制pytorch版本最高为 v2.1.0
。
经过不断地各方努力,《Linux 35.6 + JetPack v5.1.4之编译 pytorch》,我们已经有了python3.8.0的 pytorch v2.4.1
.
2. 升级
步骤1:获取二进制版本
$ wget https://github.com/SnapDragonfly/pytorch/releases/download/v2.3.1%2Bl4t35.6-cp38-cp38-aarch64/torch-2.3.1+l4t35.6-cp38-cp38-linux_aarch64.whl
步骤2:安装二进制版本
$ sudo pip3 install torch-2.3.1+l4t35.6-cp38-cp38-linux_aarch64.whl
步骤3:获取torchvision
$ git clone https://github.com/SnapDragonfly/vision.git torchvision
$ cd torchvision
$ git checkout nvidia_v0.19.1
步骤4:安装torchvision
$ export BUILD_VERSION=0.19.1
$ sudo python3 setup.py install --user
$ cd ..
步骤5:检查安装版本
$ git clone https://github.com/SnapDragonfly/jetson-fpv.git
$ cd jetson-fpv
$ sudo ./wrapper.sh version
[sudo] password for daniel:
Skipping CMD_KEYMONITOR execution for module 'version'.
Executing command on module version:Software part of jetson-stats 4.2.12 - (c) 2024, Raffaello Bonghi
Model: NVIDIA Orin Nano Developer Kit - Jetpack 5.1.4 [L4T 35.6.0]
NV Power Mode[0]: 15W
Serial Number: [XXX Show with: jetson_release -s XXX]
Hardware:- P-Number: p3767-0005- Module: NVIDIA Jetson Orin Nano (Developer kit)
Platform:- Distribution: Ubuntu 20.04 focal- Release: 5.10.216-tegra
jtop:- Version: 4.2.12- Service: Active
Libraries:- CUDA: 11.4.315- cuDNN: 8.6.0.166- TensorRT: 8.5.2.2- VPI: 2.4.8- OpenCV: 4.9.0 - with CUDA: YES
DeepStream C/C++ SDK version: 6.3Python Environment:
Python 3.8.10GStreamer: YES (1.16.3)NVIDIA CUDA: YES (ver 11.4, CUFFT CUBLAS FAST_MATH)OpenCV version: 4.9.0 CUDA TrueYOLO version: 8.3.33Torch version: 2.4.1+l4t35.6Torchvision version: 0.19.1a0+6194369
DeepStream SDK version: 1.1.8
3. 使用
略,参考《Ardupilot开源无人机之Geek SDK讨论》
- SnapDragonfly/jetson-fpv
$ cd jetson-fpv
$ sudo ./wrapper.sh dsyolo start
4. 补充
4.1 torchvision版本问题
若仍然使用之前NVIDIA安装 v2.1.0
版本对应的 torchvision
v0.16.1
或者 0.16.2
则会出现以下报错!
$ sudo ./wrapper.sh version
Skipping CMD_KEYMONITOR execution for module 'version'.
Executing command on module version:Software part of jetson-stats 4.2.12 - (c) 2024, Raffaello Bonghi
Model: NVIDIA Orin Nano Developer Kit - Jetpack 5.1.4 [L4T 35.6.0]
NV Power Mode[0]: 15W
Serial Number: [XXX Show with: jetson_release -s XXX]
Hardware:- P-Number: p3767-0005- Module: NVIDIA Jetson Orin Nano (Developer kit)
Platform:- Distribution: Ubuntu 20.04 focal- Release: 5.10.216-tegra
jtop:- Version: 4.2.12- Service: Active
Libraries:- CUDA: 11.4.315- cuDNN: 8.6.0.166- TensorRT: 8.5.2.2- VPI: 2.4.8- Vulkan: 1.3.204- OpenCV: 4.9.0 - with CUDA: YES
DeepStream C/C++ SDK version: 6.3Python Environment:
Python 3.8.10GStreamer: YES (1.16.3)NVIDIA CUDA: YES (ver 11.4, CUFFT CUBLAS FAST_MATH)OpenCV version: 4.9.0 CUDA TrueYOLO version: WARNING ⚠️ torchvision==0.16 is incompatible with torch==2.4.
Run 'pip install torchvision==0.19' to fix torchvision or 'pip install -U torch torchvision' to update both.
For a full compatibility table see https://github.com/pytorch/vision#installation
8.3.33Torch version: 2.4.1+l4t35.6Torchvision version: 0.16.1+fdea156
DeepStream SDK version: 1.1.8
4.2 支持pytorch版本
目前,支持4个pytorch版本:
- Release pytorch-v2.4.1+l4t35.6-cp38-cp38-aarch64
- Release pytorch-v2.3.1+l4t35.6-cp38-cp38-aarch64
- Release pytorch_v2.2.2+l4t35.6-cp38-cp38-aarch64
- Release pytorch_v2.1.2+l4t35.6-cp38-cp38-aarch64
4.3 opencv-python>=4.6.0问题
实际笔者环境是OpenCV4.9.0,但是还是报错;而使用python代码没有问题。
$ sudo pip3 install torch-2.4.1+l4t35.6-cp38-cp38-linux_aarch64.whl
[sudo] password for daniel:
Processing ./torch-2.4.1+l4t35.6-cp38-cp38-linux_aarch64.whl
Requirement already satisfied: jinja2 in /usr/lib/python3/dist-packages (from torch==2.4.1+l4t35.6) (2.10.1)
Requirement already satisfied: sympy in /usr/local/lib/python3.8/dist-packages (from torch==2.4.1+l4t35.6) (1.13.3)
Requirement already satisfied: fsspec in /usr/local/lib/python3.8/dist-packages (from torch==2.4.1+l4t35.6) (2024.10.0)
Requirement already satisfied: networkx in /usr/local/lib/python3.8/dist-packages (from torch==2.4.1+l4t35.6) (3.1)
Requirement already satisfied: typing-extensions>=4.8.0 in /usr/local/lib/python3.8/dist-packages (from torch==2.4.1+l4t35.6) (4.12.2)
Requirement already satisfied: filelock in /usr/lib/python3/dist-packages (from torch==2.4.1+l4t35.6) (3.0.12)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.8/dist-packages (from sympy->torch==2.4.1+l4t35.6) (1.3.0)
ERROR: ultralytics 8.3.33 requires opencv-python>=4.6.0, which is not installed.
Installing collected packages: torchAttempting uninstall: torchFound existing installation: torch 2.1.0a0+41361538.nv23.6Uninstalling torch-2.1.0a0+41361538.nv23.6:Successfully uninstalled torch-2.1.0a0+41361538.nv23.6
Successfully installed torch-2.4.1+l4t35.6
相关文章:

Linux 35.6 + JetPack v5.1.4之 pytorch升级
Linux 35.6 JetPack v5.1.4之 pytorch升级 1. 源由2. 升级步骤1:获取二进制版本步骤2:安装二进制版本步骤3:获取torchvision步骤4:安装torchvision步骤5:检查安装版本 3. 使用4. 补充4.1 torchvision版本问题4.2 支持…...
旷视科技C++面试题及参考答案
在 Linux 系统下常用的命令有哪些? 在 Linux 系统中有许多常用命令。首先是文件和目录操作相关的命令。“ls” 命令用于列出目录的内容,它有很多选项,比如 “ls -l” 可以以长格式显示文件和目录的详细信息,包括文件权限、所有者、大小、修改时间等;“ls -a” 则会显示所有…...
C 语言函数指针 (Pointers to Functions, Function Pointers)
C 语言函数指针 {Pointers to Functions, Function Pointers} 1. Pointers to Functions (函数指针)2. Function Pointers (函数指针)2.1. Declaring Function Pointers2.2. Assigning Function Pointers2.3. Calling Function Pointers 3. Jump Tables (转移表)References 1. …...

66.基于SpringBoot + Vue实现的前后端分离-律师事务所案件管理系统(项目 + 论文)
项目介绍 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装律师事务所案件管理系统软件来发挥其高效地信息处理的作用…...
Docker容器中Elasticsearch内存不足问题排查与解决方案
在使用Docker运行Elasticsearch(ES)时,可能会遇到内存不足的问题,导致ES无法启动。以下是一次完整的排查和解决过程。 问题描述 在启动ES时,日志提示如下错误: # Native memory allocation (mmap) failed…...

Ubuntu 下测试 NVME SSD 的读写速度
在 Ubuntu 系统下,测试 NVME SSD 的读写速度,有好多种方法,常用的有如下几种: 1. Gnome-disks Gnome-disks(也称为“Disks”)是 GNOME 桌面环境中的磁盘管理工具,有图形界面,是测试…...
Neo4j的部署和操作
注:本博文展示部署哥操作步骤和命令,具体报告及运行截图可通过上方免费资源绑定下载 一.数据库的部署与配置 在单个节点上对进行数据库的单机部署 (1)上传neo4j-community-3.5.30-unix.tar.gz到hadoop1的/export/so…...
react axios 优化示例
使用 axios 是 React 项目中非常常见的 HTTP 请求库。为了提升 axios 在 React 中的性能、可维护性和用户体验,我们可以从 代码组织、请求优化 和 用户体验优化 多个角度进行详细的优化。 一、安装与基础配置 安装 axios npm install axios创建 Axios 实例 为了更好地管理…...

探索数字化展馆:开启科技与文化的奇幻之旅
在科技飞速发展的当下,数字展馆作为一种新兴的展示形式,正逐渐走进大众的视野。数字展馆不仅仅是传统展馆的简单“数字化升级”,更是融合了多媒体、数字化技术以及人机交互等前沿科技的创新产物。 数字展馆借助VR、AR、全息投影等高科技手段&…...

基于深度学习的视觉检测小项目(七) 开始组态界面
开始设计和组态画面。 • 关于背景和配色 在组态画面之前,先要确定好画面的风格和色系。如果有前端经验和美术功底,可以建立自己的配色体系。像我这种工科男,就只能从网络上下载一些别人做好的优秀界面,然后在photo shop中抠取色…...

AI赋能跨境电商:魔珐科技3D数字人破解出海痛点
跨境出海进入狂飙时代,AI应用正在深度渗透并重塑着跨境电商产业链的每一个环节,迎来了发展的高光时刻。生成式AI时代的大幕拉开,AI工具快速迭代,为跨境电商行业的突破与飞跃带来了无限可能性。 由于跨境电商业务自身特性鲜明&…...
【C/C++】nlohmann::json从文件读取json,并进行解析打印,实例DEMO
使用 json::parse 函数将JSON格式的字符串解析为 nlohmann::json 对象。这个函数支持多种输入源,包括字符串、文件流等。 #include <iostream> #include <nlohmann/json.hpp> #include <fstream>using json nlohmann::json;int main() {// 解析…...

安装Anaconda搭建Python环境,并使用VSCode作为IDE运行Python脚本
下面详细说明如何安装Anaconda搭建Python环境,并使用VSCode作为编辑器运行Python脚本的过程: 1. 下载Anaconda 访问Anaconda的官方网站:https://www.anaconda.com/products/distribution 3. 根据您的操作系统选择适合的版本下载。Anaconda支…...
我用AI学Android Jetpack Compose之入门篇(1)
这篇我们先来跑通第一个Android Jetpack Compose工程,现在新版本的Android Studio,新建工程选择Empty Activity默认就会开启Jetpack Compose的支持,再次声明,答案来自 通义千问Ai 文章目录 1.用Android Jetpack Compose需要安装什…...
使用 Docker 查看 Elasticsearch 错误日志
在使用 Elasticsearch(简称 ES)的过程中,我们可能会遇到各种问题。为了快速定位和解决这些问题,查看错误日志是关键。本文将介绍如何使用 Docker 查看 Elasticsearch 的错误日志,并提供一些实用技巧。 1. 安装 Docker…...

使用Apache Mahout制作 推荐引擎
目录 创建工程 基本概念 关键概念 基于用户与基于项目的分析 计算相似度的方法 协同过滤 基于内容的过滤 混合方法 创建一个推荐引擎 图书评分数据集 加载数据 从文件加载数据 从数据库加载数据 内存数据库 协同过滤 基于用户的过滤 基于项目的过滤 添加自定…...

Elasticsearch:利用 AutoOps 检测长时间运行的搜索查询
作者:来自 Elastic Valentin Crettaz 了解 AutoOps 如何帮助你调查困扰集群的长期搜索查询以提高搜索性能。 AutoOps 于 11 月初在 Elastic Cloud Hosted 上发布,它通过性能建议、资源利用率和成本洞察、实时问题检测和解决路径显著简化了集群管理。 Au…...
python二元表达式 三元表达式
目录 二元表达式必须要有else,示例: 二元表达式: 三元表达式 可以嵌套成多元表达式 python 代码中,有时写 if else比较占行,把代码变一行的方法就是二元表达式, 二元表达式必须要有else,示例: if img is None:breakcv2.imwrite("aaa.jpg", img) if coun…...

计算机网络 (22)网际协议IP
一、IP协议的基本定义 IP协议是Internet Protocol的缩写,即因特网协议。它是TCP/IP协议簇中最核心的协议,负责在网络中传送数据包,并提供寻址和路由功能。IP协议为每个连接在因特网上的主机(或路由器)分配一个唯一的IP…...

【UI自动化测试】selenium八种定位方式
🏡个人主页:謬熙,欢迎各位大佬到访❤️❤️❤️~ 👲个人简介:本人编程小白,正在学习互联网求职知识…… 如果您觉得本文对您有帮助的话,记得点赞👍、收藏⭐️、评论💬&am…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...