英伟达SSD视觉算法模型训练、转换与部署

本文介绍了如何在Jetson Nano上搭建环境以训练和部署SSD视觉算法模型。内容包括:1)使用conda安装和配置环境,包括在x86、ARM和Windows系统上的安装;2)下载PyTorch预训练模型;3)通过conda创建环境并安装PyTorch、CUDA工具包等依赖;4)环境创建和管理的注意事项,如环境变量设置和问题解决;5)数据集采样、标注和训练过程的要点;6)模型训练参数设置和提高模型性能的策略;7)转换模型为ONNX格式;8)验证模型效果的C++和Python方法。文章详尽阐述了训练和部署的全过程,旨在帮助读者在Jetson Nano上成功实施SSD模型项目。

深度学习的训练和推理流程,是先采用高性能图形服务器使用深度学习框架来训练(Training)机器学习算法,研究大量的数据来学习一个特定的场景,完成后得到模型参数,再部署到终端执行机器学习推理(Inference),以训练好的模型从新数据中得出结论。

一般的深度学习项目,训练时为了加快速度,会使用多 GPU 分布式训练。但在部署推理时,为了降低成本,往往使用单个 GPU
机器甚至嵌入式平台进行部署。Jetson Nano 可以完成整个训练和推理流程,但基于 Jetson Nano 的低算力,不推荐在
Jetson Nano 上进行复杂训练,而仅用于推理。

  1. 在GPU服务器上使用pytorch训练模型得到pth模型文件;
  2. 将pth模型转化为onnx格式文件;
  3. Jetson Nano上利用tensorrt加载onnx模型,实现快速推理。

一、安装并编译jetson.inference

详情请看《英伟达SSD视觉算法,jetson.inference在jetson nano中部署》

二、下载PyTorch迁移学习的预训练模型

下载PyTorch迁移学习的预训练模型mobilenet-v1-ssd-mp-0_675.pth(若需要请到主页资源下载)
解压后放在jetson-inference/python/training/detection/ssd/models目录下

三、搭建训练环境

接下来有三种方式搭建训练环境

  1. 安装conda,然后用conda安装:
    1)支持CUDA的pytorch版本,及其附加库(TorchvisionTorchaudio
    2)NVIDIA 提供的一组开发工具CUDA Toolkit,用于在 GPU 上进行高性能计算
  2. 用docker
  3. torch + torchvision + opencv-python(只能训练模型,不能转换成onnx模型,不能跑模型)

第一种环境搭建方式,用conda搭建环境

Conda是一个开源包管理系统和环境管理系统,主要用于管理Python和其他编程语言的包和依赖关系。Conda可以安装、运行和更新软件包及其依赖项,并在不同环境之间切换,使得在同一系统上可以同时使用不同版本的库和工具。通过使用Conda,你可以更高效地管理软件包和环境,特别是在处理数据科学和机器学习项目时。

创建一个 Conda 环境来运行训练和验证的脚本。Conda 环境可以更好地管理包依赖关系和不同项目之间的隔离。以下是如何使用 Conda 创建环境并安装所需依赖项的详细步骤。

1. 安装 Anaconda 或 Miniconda

Anaconda和Miniconda之间的主要区别体现在包含的软件包数量和种类上。

  1. Anaconda:
    包含了大量的科学计算软件包,如numpy、pandas等,以及数据分析和数据可视化等180多个科学包及其依赖项。
    提供了丰富的数据分析和机器学习库,适合数据科学、机器学习和大数据处理的用户。 由于包含了大量的软件包,因此安装文件相对较大。
  2. Miniconda(推荐):
    是一个小型的Anaconda,只包含了conda和一些必要的python包,没有包含大多数的科学计算包。
    用户可以根据自己的需要安装不同的软件包,从而节省磁盘空间。 由于只包含核心功能,安装文件较小,下载和安装速度更快。

总的来说,Anaconda和Miniconda都是基于conda的包管理和环境管理系统,但Anaconda预装了大量的科学计算软件包,适合需要这些软件包的用户;而Miniconda则更为轻量级,只包含核心功能,用户可以根据自己的需求灵活安装软件包。

x86架构的ubuntu系统下安装conda
方法1:通过Miniconda安装(推荐)

Miniconda是一个较小的Conda发行版,只包含Conda和其依赖项。你可以根据需要安装其他包。

  1. 下载Miniconda安装脚本
    打开终端,使用wget命令下载Miniconda安装脚本:

    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
    
  2. 验证安装脚本(可选)
    验证安装脚本的SHA-256校验和,以确保下载的文件完整:

    sha256sum Miniconda3-latest-Linux-x86_64.sh
    

    将输出的哈希值与Miniconda官网上提供的哈希值进行对比。

  3. 运行安装脚本
    运行下载的安装脚本:

    bash Miniconda3-latest-Linux-x86_64.sh
    
  4. 按照提示进行安装
    按照脚本提示进行安装,通常只需按回车键选择默认选项。安装完成后,脚本会询问是否将Miniconda添加到你的PATH环境变量中,建议选择yes

  5. 激活Conda
    关闭并重新打开终端,或者运行以下命令激活Conda环境:

    source ~/.bashrc
    

    确保Conda已安装并可用:

    conda --version
    
方法2:通过Anaconda安装

Anaconda包含了更多的预装包,适合需要大量科学计算和数据分析包的用户。

  1. 下载Anaconda安装脚本
    打开终端,使用wget命令下载Anaconda安装脚本:

    wget https://repo.anaconda.com/archive/Anaconda3-latest-Linux-x86_64.sh
    
  2. 验证安装脚本(可选)
    验证安装脚本的SHA-256校验和,以确保下载的文件完整:

    sha256sum Anaconda3-latest-Linux-x86_64.sh
    

    将输出的哈希值与Anaconda官网上提供的哈希值进行对比。

  3. 运行安装脚本
    运行下载的安装脚本:

    bash Anaconda3-latest-Linux-x86_64.sh
    
  4. 按照提示进行安装
    按照脚本提示进行安装,通常只需按回车键选择默认选项。安装完成后,脚本会询问是否将Anaconda添加到你的PATH环境变量中,建议选择yes

  5. 激活Conda
    关闭并重新打开终端,或者运行以下命令激活Conda环境:

    source ~/.bashrc
    

    确保Conda已安装并可用:

    conda --version
    

    在这里插入图片描述

ARM架构的ubuntu系统下安装conda

在ARM架构的Ubuntu系统中安装Conda的步骤与x86架构略有不同。由于Conda官方主要为x86架构提供了安装包,我们可以使用Miniforge来安装Conda,这是一个适用于多种架构的轻量级Conda发行版。

以下是通过Miniforge安装Conda的方法:

使用Miniforge安装Conda
  1. 下载Miniforge安装脚本
    打开终端,使用wget命令下载适用于ARM架构的Miniforge安装脚本:

    wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh
    
  2. 验证安装脚本(可选)
    验证安装脚本的SHA-256校验和,以确保下载的文件完整:

    sha256sum Miniforge3-Linux-aarch64.sh
    

    将输出的哈希值与Miniforge官网上提供的哈希值进行对比。

  3. 运行安装脚本
    运行下载的安装脚本:

    bash Miniforge3-Linux-aarch64.sh
    
  4. 按照提示进行安装
    按照脚本提示进行安装,通常只需按回车键选择默认选项。安装完成后,脚本会询问是否将Miniforge添加到你的PATH环境变量中,建议选择yes

  5. 激活Conda
    关闭并重新打开终端,或者运行以下命令激活Conda环境:

    source ~/.bashrc
    

    确保Conda已安装并可用:

    conda --version
    
使用Conda

通过上述步骤,你已经在ARM架构的Ubuntu系统中安装了Miniforge,并且可以像使用标准的Conda一样管理你的环境和包。Miniforge使用conda-forge通道来安装包,确保兼容性和可用性。

如果有任何问题,可以查阅Miniforge的官方文档以获取更多信息和支持。

windows系统下安装conda

在Windows系统中安装Conda的步骤如下:

方法1:通过Miniconda安装(推荐)
  1. 下载Miniconda安装程序
    打开浏览器,访问Miniconda的官网:Miniconda下载页面
    选择适用于Windows的安装程序(通常是Miniconda3 Windows 64-bit),然后下载。
    Miniconda下载链接
    Anaconda下载链接
    下载的版本要和注意自己系统的架构对应!!!

  2. 运行安装程序
    找到下载的安装程序(例如 Miniconda3-latest-Windows-x86_64.exe),双击运行。

  3. 按照提示进行安装

    • 阅读许可协议并接受。
    • 选择安装类型(一般选择“Just Me”)。
    • 选择安装位置(建议使用默认位置)。
    • 确保勾选“Add Miniconda to my PATH environment variable”(将Miniconda添加到PATH环境变量)以便在命令提示符中直接使用Conda。
  4. 完成安装
    安装完成后,可以选择直接运行Conda初始化(Initialize Miniconda)。

  5. 验证安装
    打开命令提示符(Cmd)或PowerShell,运行以下命令以确保Conda已安装并可用:

    conda --version
    
方法2:通过Anaconda安装
  1. 下载Anaconda安装程序
    打开浏览器,访问Anaconda的官网:Anaconda下载页面
    选择适用于Windows的安装程序(通常是Anaconda3 Windows 64-bit),然后下载。

  2. 运行安装程序
    找到下载的安装程序(例如 Anaconda3-latest-Windows-x86_64.exe),双击运行。

  3. 按照提示进行安装

    • 阅读许可协议并接受。
    • 选择安装类型(一般选择“Just Me”)。
    • 选择安装位置(建议使用默认位置)。
    • 确保勾选“Add Anaconda to my PATH environment variable”(将Anaconda添加到PATH环境变量)和“Register Anaconda as my default Python”(将Anaconda注册为默认的Python)。
  4. 完成安装
    安装完成后,可以选择直接运行Anaconda Navigator或Anaconda Prompt。

  5. 验证安装
    打开命令提示符(Cmd)或PowerShell,运行以下命令以确保Conda已安装并可用:

    conda --version
    
使用Conda

安装完成后,可以通过命令提示符(Cmd)或PowerShell使用Conda命令管理环境和包。例如:

conda create -n myenv python=3.9
conda activate myenv
conda install numpy

2. 增加环境变量(不一定要

在大多数情况下,安装Miniconda或Anaconda时,安装程序会自动将Conda添加到系统的环境变量中。如果你在安装过程中选择了相应的选项(通常是“Add Anaconda to my PATH environment variable”),你不需要手动添加环境变量。不过,如果你在安装过程中没有选择该选项,或者Conda命令无法正常使用,可以手动添加环境变量。如果conda --version能查询到版本号,就表示环境变量没问题。

1) 找到 Conda 的安装路径

通常,Miniconda 会安装到用户目录下的 Miniconda3 文件夹,例如:
Windows: C:\Users\Miniconda3
Mac/Linux: /home//miniconda3//Users//miniconda3/

2)添加 Conda 到系统环境变量
Windows

打开系统属性:
右键点击 “此电脑” 或 “我的电脑”,选择 “属性”。
点击 “高级系统设置”。
点击 “环境变量”。
编辑 Path 变量:
在 “系统变量” 部分,找到并选择 Path 变量,然后点击 “编辑”。
点击 “新建”,然后添加 Miniconda 的安装路径,例如 C:\Users\Miniconda3C:\Users\Miniconda3\ScriptsC:\ProgramData\miniconda3\condabin
确认并保存所有设置。
重新启动终端:

关闭并重新打开命令提示符或 PowerShell,以确保环境变量更新生效。

Mac/Linux

打开终端。
编辑 .bashrc.zshrc 文件:

使用你喜欢的文本编辑器打开你的 shell 配置文件,例如:

nano ~/.bashrc  # 如果你使用的是 Bash
nano ~/.zshrc   # 如果你使用的是 Zsh

添加以下行:

export PATH="$HOME/miniconda3/bin:$PATH"

保存并关闭文件。
刷新配置文件:

source ~/.bashrc  # 如果你使用的是 Bash
source ~/.zshrc   # 如果你使用的是 Zsh
3)验证 conda 命令

打开新的终端窗口,并运行以下命令以验证 Conda 是否正确安装:

conda --version

如果一切正常,你应该会看到 Conda 的版本号。

2. 创建并激活 conda 环境:

conda create -n myenv python=3.11	# 选择 Python 版本取决于你的项目需求以及所使用的库的兼容性
conda init	# 安装后首次使用conda需要先初始化,然后重新打开命令行窗口!!!
conda activate myenv

3. 用conda安装 PyTorch 和相关库:

conda install pytorch torchvision torchaudio cudatoolkit=11.8.0 -c pytorch -c nvidia

该命令一次性安装了 PyTorch 及其相关的计算机视觉和音频处理库,并且指定了 CUDA Toolkit 11.1 版本,使得这些库能够利用 NVIDIA GPU 进行加速计算。通过使用 -c pytorch-c nvidia 选项,确保了从官方维护的频道安装最新版本的包,这有助于避免兼容性问题。

该命令通过 Conda 安装以下软件包和库:
  1. PyTorch (pytorch):
    一个开源的深度学习框架,由 Facebook 的人工智能研究团队开发。PyTorch 提供了张量计算(类似于 NumPy)以及强大的 GPU 加速能力,并且特别适合于动态计算图构建。
  2. Torchvision (torchvision):
    PyTorch 的一个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值