20241219 配置NVIDIA AGX xavier yolov5
明昧 Lv7

前言

  • 一定要会刷机,要是装错了重装一下+安中文输入法就恢复环境了

刷机后初始环境

  • python3.6 (原装自带)

参考尝试一

https://www.cnblogs.com/bringlu/p/14964333.html

image-20241219142310877

配到这里我感觉自己还是升级一下比较好

参考尝试二

https://blog.csdn.net/YY_DS_ysj/article/details/134412965

参考尝试三

https://blog.csdn.net/YY_DS_ysj/article/details/134412965?spm=1001.2014.3001.5501

配置环境了解

MiniforgeCondaAnaconda

MiniforgeCondaAnaconda 是与 Python 环境管理和包管理相关的工具和发行版。虽然它们在功能上有一些重叠,但它们之间存在一些关键的区别和联系。下面我将详细介绍它们的区别和联系。

1. Conda

Conda 是一个 开源的包管理工具环境管理器,用于安装、管理和部署软件包,尤其是在数据科学、机器学习、科学计算等领域。它支持 Python 和其他编程语言(如 R、Java、Ruby 等)的包管理。

  • 功能

    • 安装、更新和卸载软件包。
    • 创建、激活和管理虚拟环境。
    • 管理软件包的依赖关系和版本。
  • 独立工具

    • Conda 本身并不是一个操作系统或一个完整的软件发行版,它只是一个包管理工具和环境管理器。它可以和多个不同的发行版(如 Anaconda、Miniforge 等)一起使用。

2. Anaconda

Anaconda 是一个包含 Conda 包管理器的大型数据科学平台,它是一个 Python 和 R 数据科学平台,专为科学计算、机器学习、数据分析等任务而设计。

  • 包含内容
    • Conda 包管理器:用于创建和管理虚拟环境。
    • 大量预安装的库和工具:例如 NumPyPandasSciPyTensorFlowJupyter Notebook 等。这使得 Anaconda 成为一个“即装即用”的平台,适合于数据科学和机器学习的应用。
    • Anaconda Navigator:一个 GUI 工具,帮助用户更容易地管理环境、包和项目。
  • 优点
    • 集成化环境:Anaconda 提供了一个完全集成的数据科学平台,减少了手动安装和配置依赖的麻烦。
    • 易用性:对于初学者来说,Anaconda 的 GUI 工具(如 Anaconda Navigator)和广泛的库支持使得设置环境和工作流程变得简单。
    • 庞大的包库:Anaconda 提供了超过 1500 个数据科学相关的包,适用于机器学习、深度学习、统计学等任务。
  • 缺点
    • 较大体积:Anaconda 包含很多不需要的工具和库,因此它的安装包较大。通常会占用几 GB 的存储空间。
    • 可能带来不必要的包:Anaconda 的完整安装包含大量的预安装包,很多用户可能并不需要全部的包,因此这可能会导致冗余。

3. Miniforge

Miniforge 是一个轻量级的 Conda 发行版,它提供了 Conda 包管理器和基本的包管理功能,但不像 Anaconda 那样包含大量预安装的包。Miniforge 是由 conda-forge 社区维护的,主要面向那些希望以最小化的方式安装 Conda 环境的用户。

  • 包含内容
    • Conda 包管理器:用于创建和管理虚拟环境。
    • conda-forge 仓库:Miniforge 默认使用 conda-forge 作为包源,这是一个社区驱动的 Conda 包仓库,提供比 Anaconda 官方仓库更多和更新的包。
  • 优点
    • 轻量级:Miniforge 只包含最基础的 Conda 和必要的工具,避免了 Anaconda 中可能不需要的冗余工具和库。
    • 灵活性:用户可以根据需要安装额外的库和包,而不会被不必要的库和工具占用大量存储空间。
    • 社区驱动:Miniforge 使用 conda-forge 仓库,许多开源社区包和工具的更新较为频繁。
  • 缺点
    • 需要更多手动配置:如果你需要安装某些常用的包(如 NumPy、Pandas 等),需要手动安装,而不是像 Anaconda 那样“即装即用”。
    • 缺乏 GUI:Miniforge 没有像 Anaconda 那样的 GUI 工具(如 Anaconda Navigator),需要更多依赖命令行操作。

区别与联系

特性 Conda Anaconda Miniforge
类型 包管理器和环境管理工具 数据科学平台,包含 Conda 和大量预装的包 轻量级 Conda 发行版,使用 Conda 和 Conda-Forge
包含内容 仅 Conda 工具 Conda、预安装的库(如 NumPy、SciPy、Jupyter) Conda、conda-forge 仓库
包来源 可自定义(默认从官方仓库) 官方 Anaconda 仓库 仅从 conda-forge 仓库
安装体积 取决于用户安装的包 包含很多预装库和工具,通常较大 更小,默认只安装 Conda,轻量化安装
适用用户 适用于需要定制化环境的用户 初学者或需要快速搭建完整数据科学环境的用户 适合想要轻量化环境、手动安装所需库的用户
依赖关系管理 支持自动管理包依赖 自动管理依赖和包安装 自动管理包依赖,但需要手动安装需要的包
GUI 工具 有 Anaconda Navigator GUI 工具

总结

  • Conda:一个包管理工具和环境管理工具,可以与不同的发行版一起使用。
  • Anaconda:一个完整的数据科学平台,包含 Conda 和很多常用的数据科学工具和库,适合初学者和需要完整工具的用户。
  • Miniforge:一个轻量级的 Conda 发行版,适合那些需要更小体积、更灵活的环境,并且希望使用社区驱动的包(conda-forge)的用户。

如果你需要一个即开即用、包含大量预装工具的完整平台,Anaconda 是一个好选择。如果你想要一个轻量化、灵活的环境,可以选择 Miniforge,并手动选择安装所需的包。Conda 则是这些工具的核心,它提供了包和环境管理的功能,可以与 Anaconda 或 Miniforge 一起使用。

Anaconda

Anaconda 是一个开源的 Python 和 R 数据科学平台,它提供了一个简单的环境管理工具,用于创建虚拟环境并管理包。

Archiconda 似乎是一个打字错误,正确的名称是 Anaconda

以下是关于 Anaconda 和虚拟环境的详细解释,以及在 YOLOv5 中如何使用它们。

Anaconda 简介

Anaconda 是一个 Python 包和环境管理器,它使得在不同项目中使用不同版本的 Python 和包变得非常容易。使用 Anaconda,你可以:

  • 创建多个虚拟环境,每个环境中可以有不同的 Python 版本和依赖库。
  • 通过 conda 包管理器来安装、升级和删除库和工具。
  • 使用 Anaconda 提供的包和工具,尤其是在数据科学、机器学习和人工智能领域。

虚拟环境的作用

虚拟环境是一个隔离的 Python 环境,其中包括一个特定版本的 Python 和你需要的所有库。每个项目都可以拥有独立的虚拟环境,这样它们就不会彼此干扰,也不会影响全局 Python 环境。

创建虚拟环境的好处:

  • 隔离依赖:每个项目可以拥有不同的依赖库和版本,避免不同项目之间产生冲突。
  • 管理 Python 版本:你可以为每个项目指定不同的 Python 版本。
  • 便于部署:虚拟环境使得在不同机器或团队成员之间迁移项目变得简单。

在 YOLOv5 中使用 Anaconda 虚拟环境

YOLOv5 依赖于多个 Python 库和工具,使用虚拟环境可以确保它在干净的环境中运行,不受其他项目或全局安装的影响。你可以按照以下步骤在 Anaconda 中创建虚拟环境并安装 YOLOv5。

步骤:使用 Anaconda 虚拟环境搭建 YOLOv5

  1. 安装 Anaconda 如果你还没有安装 Anaconda,可以从 Anaconda 官方网站 下载并安装 Anaconda。安装完成后,确保 conda 命令在你的终端中可用。

  2. 创建虚拟环境 使用 conda 创建一个新的虚拟环境,指定 Python 版本(例如,Python 3.8):

    1
    2
    bash
    conda create -n yolov5 python=3.8

    这里,yolov5 是你要创建的虚拟环境的名称,你可以根据需要自定义。python=3.8 表示你要安装的 Python 版本是 3.8。

  3. 激活虚拟环境 激活你刚才创建的虚拟环境:

    1
    2
    bash
    conda activate yolov5

    激活后,你的终端提示符会发生变化,显示虚拟环境的名称,例如 (yolov5)

  4. 安装必要的依赖 克隆 YOLOv5 的 GitHub 仓库并安装相关依赖。

    1
    2
    3
    bash复制代码git clone https://github.com/ultralytics/yolov5.git
    cd yolov5
    pip install -U -r requirements.txt

    这会安装 YOLOv5 运行所需的所有库,包括 PyTorch、NumPy、OpenCV 等。

  5. 测试 YOLOv5 是否工作正常 安装完所有依赖后,你可以运行一个简单的推理测试,来确认 YOLOv5 是否能正常工作:

1
python detect.py --source data/images --weights yolov5s.pt

这将使用预训练的 YOLOv5s 权重文件对 data/images 文件夹中的图像进行推理。

为什么在 YOLOv5 中使用虚拟环境?

  1. 依赖管理:YOLOv5 依赖的库(如 PyTorch、OpenCV、Matplotlib 等)可能与其他项目使用的库版本不同。虚拟环境能确保 YOLOv5 的依赖不会干扰其他项目。
  2. 简化设置:使用虚拟环境可以避免全局 Python 安装的冲突,确保每个项目使用的库版本是独立且合适的。
  3. 跨平台一致性:YOLOv5 的代码和依赖在不同平台(Windows、Linux、macOS)上可能有所不同,虚拟环境帮助确保你在不同机器上可以复现相同的环境。

总结

Anaconda 虚拟环境是一种隔离的 Python 环境,它能帮助你管理不同项目之间的依赖。使用虚拟环境可以避免库版本冲突,并确保你的 YOLOv5 安装和运行过程干净、稳定。在 YOLOv5 的开发过程中,虚拟环境是一个非常有用的工具,能帮助你快速搭建并测试模型,同时避免与其他项目的干扰。

miniforge

Miniforge 是一个轻量级的开源 Python 环境管理工具,类似于 Anaconda,但它更加简洁、快速,并且完全基于 Conda-forge 包管理仓库。

Miniforge 提供了一个与 Anaconda 类似的环境管理工具,但它默认只使用 Conda-forge 作为包源,这意味着它不包括 Anaconda 的默认包源,也不包含 Anaconda 自带的额外包和工具,因此其体积较小。

Miniforge 简介

  • Conda-forge:Miniforge 默认使用的是 Conda-forge,这是一个社区驱动的开源 Conda 包仓库,提供了大量的开源 Python 包。使用 Conda-forge 的好处在于它能够保证更快速的更新和更高的包兼容性。
  • 轻量化:Miniforge 的安装包比 Anaconda 更加轻量,并且没有冗余的包,因此特别适合那些只需要 Conda 环境管理、无需附加工具的人。
  • 平台兼容性:Miniforge 可以在 WindowsLinuxmacOS 上使用,它提供了与 Anaconda 相似的功能,但没有预装 Anaconda 的那些默认包。

Miniforge 与 Anaconda 的区别

  1. 安装包大小
    • Anaconda 是一个非常庞大的发行版,包含了很多工具和库,体积较大。
    • Miniforge 更加精简,仅提供 Conda 环境和从 Conda-forge 下载的必要工具和库。
  2. 包来源
    • Anaconda 默认使用 defaults 仓库。
    • Miniforge 默认使用 conda-forge 仓库。conda-forge 通常更新较快且维护更加活跃,且没有冗余包。
  3. 适合场景
    • Anaconda 适用于那些需要完整开发工具和库支持的用户(例如,数据科学、机器学习等)。
    • Miniforge 适合那些需要更轻量环境、且能够依赖 Conda-forge 包源的用户,尤其是那些希望减小环境大小的场景。

在 YOLOv5 环境搭建中 Miniforge 的作用

在 YOLOv5 的环境搭建过程中,Miniforge 起到的作用与 Anaconda 相似。使用 Miniforge 可以帮助你创建 Python 虚拟环境并管理依赖包,确保 YOLOv5 环境的独立性和可移植性。特别是在某些机器上,Miniforge 由于其小巧和快速的特点,可能更加适合一些不需要过多工具和库的用户。

搭建 YOLOv5 环境时,Miniforge 的优势主要体现在以下几个方面:

  1. 简化环境搭建: 使用 Miniforge,你可以轻松创建一个虚拟环境,并且通过 conda-forge 获取最新的包和依赖。与使用 Anaconda 相比,Miniforge 减少了额外的包和工具,从而降低了包冲突的概率。
  2. 更轻量级: 对于一些只关心核心 Python 环境而不需要其他大包(如 Jupyter、Spyder 等)的用户,Miniforge 提供了一个非常精简的环境,减少了不必要的磁盘占用。
  3. 与 YOLOv5 完美兼容: YOLOv5 本身基于 PyTorch 和一些常用 Python 库(如 OpenCV、NumPy、Matplotlib 等),这些库都可以通过 conda-forge 安装。因此,Miniforge 完全可以满足 YOLOv5 的依赖要求,并且可以通过 Conda 简单的命令安装这些库。

miniforge安装过程

1.去官网下载相关包https://github.com/conda-forge/miniforge/releases?page=1

(我一开始是下载最新版本的 Release 24.11.0-0 Latest,但是安装到最后告诉我xxxx东西后面不在这里安装了,要自己独立安装,吓得我赶紧找到那个老版本进行下载os:真的很怕配环境有多余的麻烦,后面就下了Release 24.7.1- Latest)

2.去到那个下载目录,我自己单独给这个文件建立了新目录

image-20241220151940420

在终端运行

1
sh Mambaforge-24.7.1-0-Linux-aarch64.sh

3.一路安装 yes输入秘密

4.成功之后会显示如下相关文字告诉你激活环境(不能照抄,因为这时候命令还没到环境变量还是怎么样,直接运行下面任何命令运行不起来)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Transaction finished

To activate this environment, use:

micromamba activate /home/linger/mambaforge

Or to execute a single command in this environment, use:

micromamba run -p /home/linger/mambaforge mycommand

installation finished.
Do you wish to update your shell profile to automatically initialize conda?
This will activate conda on startup and change the command prompt when activated.
If you'd prefer that conda's base environment not be activated on startup,
run the following command when conda is activated:

conda config --set auto_activate_base false

You can undo this by running `conda init --reverse $SHELL`? [yes|no]
[no] >>>
You have chosen to not have conda modify your shell scripts at all.
To activate conda's base environment in your current shell session:

eval "$(/home/linger/mambaforge/bin/conda shell.YOUR_SHELL_NAME hook)"

To install conda's shell functions for easier access, first activate, then:

conda init

5.直接按照这上面的指令没有用,安装下面操作进行环境初始化

image-20241220145849370

你得直接去

image-20241220145920737

命令行去到这个地方里面,运行activate使得base环境运行起来之后

你才能使用conda init的命令

后面重启shell就可以在shell端使用conda相关命令

image-20241220150055837


我换了一个7.1.2的安装包之后

就不需要进行上面的步骤了

很好

conda

Conda 是一个 开源的包管理器环境管理器,专门用于管理和部署 软件包,特别是在数据科学、机器学习、科学计算等领域中的 Python 包和其它依赖。Conda 的目标是简化软件包的安装、版本控制、依赖关系管理以及虚拟环境的创建与管理。

Conda 的主要功能

  1. 包管理: Conda 使得用户可以轻松地安装、升级和删除软件包。它不仅支持 Python 包,还支持其他语言(如 R、Ruby、Lua、Scala、Java 等)的包管理。

    • 安装软件包:可以直接安装各种包,Conda 会自动解决依赖问题。
    • 升级和卸载软件包:更新现有软件包或卸载不需要的包。

    例如,安装一个包:

    1
    conda install numpy
  2. 环境管理: Conda 允许用户创建和管理独立的虚拟环境。每个环境都有自己独立的 Python 版本和包,使得不同的项目可以使用不同的依赖版本,避免版本冲突。

    • 创建环境:可以为每个项目创建一个独立的环境。
    • 激活/停用环境:方便地激活和切换不同的虚拟环境。
    • 导出环境配置:将环境的包列表保存为文件,便于在其他系统上重现环境。

    例如,创建一个新的虚拟环境并指定 Python 版本:

    1
    conda create -n myenv python=3.8

    激活环境:

    1
    conda activate myenv

    停用环境:

    1
    conda deactivate

    导出环境配置到文件:

    1
    conda list --export > environment.yml

    然后,其他人可以使用该配置文件来重新创建相同的环境:

    1
    conda env create -f environment.yml
  3. 跨平台支持: Conda 是跨平台的,支持 WindowsLinuxmacOS 系统。你可以在这些平台上使用 Conda 创建和管理一致的开发环境。

  4. 依赖管理: Conda 会自动处理包之间的依赖关系。如果一个软件包依赖其他软件包,Conda 会自动安装所需的依赖版本,确保安装过程的兼容性和稳定性。

    例如,如果你安装一个包,Conda 会自动检查并安装它所依赖的其他包,而无需用户干预。

Conda 的优势

  1. 简化包和环境管理: Conda 提供了一个统一的方式来管理项目的包和环境,避免了依赖冲突和版本不一致的问题。这对于数据科学、机器学习、深度学习等领域尤其重要,因为这些领域依赖多个不同的库和工具,Conda 提供了一个干净且可复现的环境。
  2. 解决依赖冲突: Conda 会自动解决包的依赖关系和版本冲突。与手动安装或使用传统的包管理工具(如 pip)相比,Conda 可以更加智能地选择兼容的包版本,从而避免很多常见的依赖问题。
  3. 快速安装: Conda 包管理器使用二进制包,而不像 pip 那样需要从源代码构建包。因此,Conda 的包安装速度通常比 pip 快,尤其是在安装需要编译的包(如 NumPy、TensorFlow、PyTorch 等)时。
  4. 支持多语言: Conda 不仅支持 Python,还支持其他编程语言的包管理,如 RRubyJavaLua 等,适合多语言项目的管理。
  5. 广泛的社区支持: Conda 拥有广泛的社区支持,尤其是 Conda-Forge(一个社区驱动的 Conda 包仓库)。Conda-Forge 提供了成千上万的高质量包,几乎涵盖了所有常用的开源软件包。

Conda 与其他包管理工具的比较

  1. 与 pip 的比较
    • pip 是 Python 的标准包管理工具,它只管理 Python 包,但不处理依赖问题。pip 需要从源代码安装包,安装速度较慢,且有时无法解决复杂的依赖冲突。
    • Conda 可以管理 Python 和其他语言的包,并且能够自动解决依赖冲突。Conda 使用二进制包进行安装,因此安装速度比 pip 更快,特别是在处理大型科学计算库时(如 NumPy、SciPy、PyTorch 等)。
  2. 与 virtualenv/venv 的比较
    • virtualenvvenv 是 Python 提供的虚拟环境管理工具,用于创建和管理 Python 环境。它们仅限于 Python 环境,无法管理其他语言的依赖。
    • Conda 不仅能创建 Python 虚拟环境,还能创建包括其他语言(如 R、Java、Ruby 等)的环境。Conda 提供了更强大的跨语言支持和依赖解决能力。
  3. 与 Docker 的比较
    • Docker 用于创建容器化应用环境,它允许你将应用程序及其所有依赖项打包成一个镜像。Docker 可以解决环境一致性问题,但容器较为笨重,启动和使用可能比虚拟环境更复杂。
    • Conda 提供了轻量级的环境管理工具,适合处理单机开发和科学计算任务。它不像 Docker 那样依赖虚拟化技术,但对于一些项目而言,使用 Conda 创建虚拟环境更加简便和高效。

Conda 的使用案例

  1. 数据科学和机器学习: 数据科学家和机器学习工程师常使用 Conda 创建隔离的 Python 环境,并安装和管理相关库(如 NumPyPandasScikit-learnTensorFlowPyTorch 等)。Conda 使得安装和管理这些复杂的库变得更加容易。
  2. 跨平台开发: Conda 支持 Windows、Linux 和 macOS 系统,可以帮助开发人员在多个平台上创建一致的开发环境。
  3. 共享环境配置: 通过导出和共享环境配置文件(如 environment.yml),开发者可以确保团队成员和不同系统上的开发环境保持一致,避免了“在我的机器上可以工作”的问题。

安装 Conda

  1. Miniconda:是 Conda 的最小化安装版本,只包含 Conda 和一些基本工具,非常适合需要轻量化安装的用户。
  2. Anaconda:是包含 Conda、Python、以及大量常见数据科学库(如 NumPy、Pandas、Jupyter 等)的完整发行版。

你可以从官网下载安装:

  • Miniconda:Miniconda 官网
  • Anaconda:Anaconda 官网

总结

Conda 是一个非常强大的包管理工具,适用于 Python 和其他编程语言的包和环境管理。它能够高效地解决依赖关系,支持跨平台操作,且与 pipvirtualenv 等工具相比,提供了更多的功能和灵活性。在数据科学、机器学习等领域,Conda 是管理复杂环境和依赖的首选工具。

minforge中conda相关命令

1
2
3
4
5
6
7
8
9
10
11
conda env list

# conda environments:
#
base * /home/username/miniforge3
myenv /home/username/miniforge3/envs/myenv
anotherenv /home/username/miniforge3/envs/anotherenv
这两条命令都会列出所有已创建的 Conda 环境,并标记当前激活的环境。

conda deactivate

https://blog.csdn.net/PolarisRisingWar/article/details/138535932

1
2
# 查看当前可以下载的openssl版本
conda search openssl
1
2
# 例如,创建一个新的虚拟环境并指定 Python 版本:  
conda create -n myenv python=3.8
1
2
# 激活环境:
conda activate myenv
1
2
# 停用环境:
conda deactivate
1
2
# 导出环境配置到文件
conda list --export > environment.yml
1
2
# 然后,其他人可以使用该配置文件来重新创建相同的环境
conda env create -f environment.yml

numpy

这个线性代数库是下载pytorch的前提

尝试过程

image-20241220161746953

好像直接从pip中下是不行的

要从whl文件里去找预编译好的numpy才行

image-20241220163722134

尝试失败,开始找原因

查找

尝试一:https://blog.csdn.net/sinat_26811377/article/details/99947448

看完这个文章,我觉得我还是找个numpy的预编译版本 那个torch好像只是torch的预编译文件

尝试二:找了半天没找到numpy预编译版本,看到

https://blog.csdn.net/weixin_47166887/article/details/108923466

这个帖子,但是其点击链接进去到numpy的官网也没有相关whl文件

其实是有的

https://pypi.org/project/numpy/#files

image-20241220164958303


image-20241220165245677

下载的时候注意,线看好release history并且选择想要的版本

最后再点击download去选择对应平台的文件下载

https://pypi.org/project/numpy/1.19.0/#files

image-20241220165341688

最后选择下这个

image-20241220165730901

直接预编译下载就是不行啊

崩溃

image-20241220164744775

这是另一种方案,换了个版本的话就能够直接pip下载成功

之前我是想下numpy1.19.0而已,但是这个版本直接pip不成功

试试numpy1.20.0

image-20241220170005888

image-20241220170122265

好像是没安装模块

再试一下

image-20241220170243903

image-20241220170316455

还是不行,太奇怪了

下班,明天再搞

看看chatgpt

image-20241223101239436

还需要下openssl

openssl

  • 下numpy前需要这个库

过程

  • 直接从conda下载是不行的

    这个版本太旧了

    conda install openssl=1.0.2p

image-20241223101533361

https://www.oomake.com/download/openssl

image-20241223101339350

拿到源码要自己编译

https://blog.csdn.net/wmx843230304wmx/article/details/102825150

试试这个方案

不太行

试试这个

https://blog.csdn.net/Ai_Sj/article/details/142487097

在虚拟机里弄一下

sudo apt-get update

sudo apt-get install build-essential cmake gcc-aarch64-linux-gnu g+±aarch64-linux-gnu autoconf automake libtool

./Configure -fPIC no-asm shared no-async linux-aarch64 --prefix=/absolute/path --cross-compile-prefix=aarch64-himix210-linux-

这个指令不完整 交叉编译工具链还需要重新设计


算了

还是试试用这个 能编译出 但是不懂能不能用

https://blog.csdn.net/wmx843230304wmx/article/details/102825150


https://snapshots.linaro.org/gnu-toolchain/?_gl=1*1upi1eh*_ga*NTk4NDM3NDM2LjE3MzQ5MjU0NzY.*_ga_E12E6FXFVK*MTczNDkyNTQ3NS4xLjAuMTczNDkyNTQ3NS4wLjAuMA


在arrch64中的conda虚拟环境中安装

  • 这里省略了新建的步骤

image-20241223153743908

image-20241223154014336

完美安装openssl后安装numpy成功

返回我们的pytorch

pytorch

安装了这么多忘记检查适配问题了

pytorch版本查看

  • 要综合看刷机版本 看刷机内置的python版本
  • pytorch也对应着的pytorch版本

这个靠谱

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

本次环境的jetpack5.1

最后选择下这个

image-20241223160400331

**下面这些没有一一验证过,算了

https://github.com/pytorch/vision#installation

image-20241223160809367

要查看 Jetson 适配的 PyTorch 版本,您可以参考以下几种途径:

  1. NVIDIA 官方文档

NVIDIA 提供了针对 Jetson 平台(包括 Jetson AGX Xavier 和其他设备)安装 PyTorch 的指导。可以访问以下链接,查看针对不同 JetPack 和 CUDA 版本的 PyTorch 安装方法:

  1. PyTorch GitHub 仓库

PyTorch 官方 GitHub 仓库会定期更新适用于不同平台的版本,并提供适配和安装的指导。查看 Jetson 特定的安装指南,请参考以下页面:

  1. Jetson Hacks 网站

Jetson Hacks 提供了很多关于在 Jetson 平台上运行深度学习框架(包括 PyTorch)的教程和指导。您可以在其网站上找到与 Jetson 设备(如 Xavier、Nano)相关的安装和优化方法。

  1. PyTorch 官方网站

PyTorch 官网提供了安装 PyTorch 的详细说明,可以选择适合你的 CUDA 和平台的版本:

  • PyTorch 官方安装页面
    • 在该页面,您可以选择操作系统(例如 Linux)、包管理器(如 pip 或 conda)、CUDA 版本等信息,来生成适合您系统的安装命令。

5.NVIDIA PyTorch Docker 镜像

NVIDIA 提供了预编译的 PyTorch Docker 镜像,这些镜像经过优化并专门为 Jetson 平台提供支持。您可以使用 NVIDIA NGC(NVIDIA GPU Cloud)来拉取适合 Jetson 的 PyTorch Docker 镜像:

在 NGC 上,您可以选择特定的 JetPack 版本和 CUDA 版本来获取兼容的 PyTorch 镜像。

  1. 检查安装的 PyTorch 版本

安装 PyTorch 后,您还可以通过 Python 代码检查是否适配您的 Jetson 系统:

1
2
3
4
python复制代码import torch
print(torch.__version__) # 查看 PyTorch 版本
print(torch.cuda.is_available()) # 检查是否支持 CUDA
print(torch.backends.cudnn.version()) # 检查 cuDNN 版本

总结

要查看适配的 PyTorch 版本,推荐访问 NVIDIA 的官方文档和论坛,查看最新的 JetPack 和 CUDA 版本对应的 PyTorch 版本。同时,您可以通过 PyTorch 官网和 GitHub 仓库获取最新的安装信息。

安装pytorch

https://blog.csdn.net/wanggao_1990/article/details/135077915

image-20241223161139180

尝试安装之后感觉有问题

torch适配的python版本和虚拟环境的python版本不一致

但是本地的python版本是3.8

需要修改一下

image-20241223164527114

完美

完蛋了

准备装vison的时候发现适配的sdk刷机的时候都没安装

第一步 cuda

  • 刷机的时候忘记安装了
  • 后面又刷机看上面来了一遍

安装tensorRT

安装版本

根据你提供的 CUDA 版本信息:CUDA 11.4,适配的 TensorRT 版本通常需要与 CUDA 版本兼容。每个版本的 TensorRT 都会与特定版本的 CUDA 进行绑定,确保最大程度的兼容性和性能。

TensorRT 与 CUDA 版本的兼容性

TensorRT 7.xTensorRT 8.x 版本开始,TensorRT 对应的 CUDA 版本通常如下:

  • TensorRT 7.x 支持:
    • CUDA 10.2
    • CUDA 11.0
    • CUDA 11.1
  • TensorRT 8.x 支持:
    • CUDA 11.1
    • CUDA 11.2
    • CUDA 11.3
    • CUDA 11.4

对于 CUDA 11.4TensorRT 8.x 版本是适配的最佳选择。具体而言,TensorRT 8.2TensorRT 8.0 版本通常与 CUDA 11.4 完全兼容。

推荐的 TensorRT 版本

对于 CUDA 11.4(版本 11.4.315),你应该使用 TensorRT 8.0 或更高版本(如 8.2)。你可以从 NVIDIA 官网下载相应版本的 TensorRT。

下载链接

版本匹配小贴士:

  • 确保选择与 CUDA 版本和操作系统相匹配的 TensorRT 安装包。
  • 在安装时注意查看 READMEInstallation Guide,以确保版本之间没有已知的兼容性问题。

总的来说,TensorRT 8.0 或 8.2 是与 CUDA 11.4 完全兼容的版本。

网站

https://developer.nvidia.com/nvidia-tensorrt-8x-download

image-20250107115043682

过程

下载对应版本之后(我下载的是deb)

sudo dpkg -i <package_name>.deb

用这个安装就可以了

pycharm配置已经有的conda环境

1
2
3
4
5
6
7
8
9
#首先获取所需要的conda的位置
conda info --envs

# 比如
# conda environments:
base * /home/user/miniconda3
myenv /home/user/miniconda3/envs/myenv
otherenv /home/user/miniconda3/envs/otherenv

然后

image-20250107174748011

image-20250107174812808

image-20250107174846833

然后选择上面的虚拟环境地址中的bin/python里面的对应关系

apply即可

conda create --name yolov7env python=3.8

opencv的cuda加速版本的编译和配置

参考

https://blog.csdn.net/qq_40243750/article/details/136028179

尝试

1
2
3
4
5
6
7
8
9
10
#用tegrastats代替nvidia-smi在jetson agx xaiver中检测驱动是否安装
tegrastats

#检测cuda安装
nvcc --version

#检测cudnn安装
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2


image-20250107181550131

image-20250107182233255

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cmake \ 
-D CMAKE_BUILD_TYPE=RELEASE \
-D BUILD_CUDA_STUBS=ON \
-D WITH_CUDA=ON \
-D CUDA_ARCH_BIN=7.2 \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.7.0/modules ..


cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D BUILD_CUDA_STUBS=ON \
-D WITH_CUDA=ON \
-D CUDA_ARCH_BIN=7.2 \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.7.0/modules \
..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 这个下面的编译命令才是最终我使用的版本 上面那个好像是因为调试开启的原因不太ok
# 也参考过失败的地方
cmake \
-D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local/cv2 \
-D CUDA_CUDA_LIBRARY=/usr/local/cuda-11.4/targets/aarch64-linux/lib/stubs/libcuda.so \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.7.0/modules \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D CUDA_ARCH_BIN= 7.2 \
-D CUDA_FAST_MATH=1 \
-D WITH_CUDA=ON \
-D WITH_TBB=ON \
-D WITH_V4L=ON \
-D WITH_OPENGL=ON \
-D WITH_CUBLAS=1 \
-D WITH_NVCUVID=ON \
-D WITH_GSTREAMER=ON \
-D WITH_FFMPEG=ON \
-D WITH_GTK=ON \
-D WITH_QT=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D BUILD_opencv_python2=OFF \
-D BUILD_PYTHON_SUPPORT=ON \
-D BUILD_OPENCV_PYTHON3=ON \
-D BUILD_EXAMPLES=OFF \
-D BUILD_opencv_cudacodec=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D ENABLE_FAST_MATH=1 \
-D BUILD_CUDA_STUBS=ON \
-D OPENCV_PYTHON3_VERSION=3.8 \
-D PYTHON3_INCLUDE_PATH=/home/linger/mambaforge/envs/myenv/include/python3.8 \
-D PYTHON3_LIBRARIES=/home/linger/mambaforge/envs/myenv/lib/python3.8 \
-D PYTHON3_EXECUTABLE=/home/linger/mambaforge/envs/myenv/bin/python3 \
..

# 参考的原文链接:https://blog.csdn.net/weixin_43442574/article/details/119543860

编译好之后配置环境变量

https://blog.csdn.net/qq_40243750/article/details/135481899

相关命令

1
2
3
4
5
6
7
8
cp -r /usr/share/doc/libopencv-* ~/mambaforge/envs/myenv/lib/python3.8/site-packages/opencv_python.libs

# 你可以通过以下命令列出虚拟环境中安装的所有库:

pip list

cp /usr/local/lib/libopencv* ~/mambaforge/envs/myenv/lib/python3.8/site-packages/cv2/

image-20250113164829937

现在需要重新安装

让我来观察一下pip安装的东西会安装在什么地方

虽然是说

pip安装的opencv4.10卸载了

怎么其他相关依赖也卸载了

这样不好

想点办法

当前环境配置总结

20241220当前环境配置总结

  • 安装nomachine

  • 刷环境的时候是JetPack5.1

  • 内置的python环境是3.8

  • pytorch下了一个torch-1.14.0a0+44dac51c.nv23.02-cp38-cp38-linux_aarch64.whl,但是没有安装成功

  • 想下pytorch 看到教程里要下numpy,下numpy,要先下openssl,openssl直接下不行,需要自己在其他平台交叉编译之后再安装

 评论
评论插件加载失败
正在加载评论插件
由 Hexo 驱动 & 主题 Keep
访客数 访问量