如何配置深度学习环境

深度学习环境介绍

配置深度学习环境是一个十分复杂的工程,里面牵扯到非常多的库和工具,而且这些库和工具的版本之间还有很多的依赖关系。

在Windows系统上,我们大概需要配置以下几个库和工具:

  • Python
    • PyTorch
    • TorchVision
    • NumPy
    • PyQt
    • OpenCV
    • Pillow
    • Matplotlib
    • Pandas
    • Scikit-learn
    • Scikit-image
    • JupyterLab
    • Onnxruntime
    • openmmlab系列
      • mmcv
      • mmengine
      • mmdeploy
      • mmdet
      • mmpretrain
      • mmsegmentation
      • mmpose
  • CUDA
  • CuDNN
  • TensorRT
  • OpenCV
  • QT
  • LibTorch

为了解决这个问题,我们打包了一套深度学习环境配置工具,这套工具可以自动安装和配置上面提到的所有库和工具,而且这些库和工具的版本之间是兼容的。

image

这套工具的使用方法非常简单,只需要运行一个安装程序,然后按照提示操作即可。

Python环境

https://python.org/

Python 环境是深度学习环境的基础,我们使用 Python 环境来运行深度学习程序。

image

PyTorch

PyTorch 是一个开源的深度学习框架,它提供了很多深度学习的算子,最重要的是可以自动求导,优化模型,必装。

https://pytorch.org/

pytorch-dark

TorchVision

https://pytorch.org/vision/

TorchVision 是 PyTorch 的一个扩展库,它提供了很多计算机视觉模型和算法的实现,比如 ResNet,Faster R-CNN 等,我们可以使用 TorchVision 来构建计算机视觉模型。

NumPy

https://numpy.org/

NumPy 是一个 Python 的数学计算库,它提供了很多数值计算的函数和类,比如向量、矩阵等,我们经常使用 NumPy 来计算均值、方差等统计量。

numpy

PyQt

PyQt 是一个 Python 的 GUI 库,它提供了很多 GUI 控件和布局管理器,我们可以使用 PyQt 来构建图形用户界面。

即使是算法工程师,也需要了解一些基本的 GUI 编程知识,因为我们经常需要编写一些小工具来辅助我们的工作。

qt

OpenCV

https://opencv.org/

OpenCV 是一个开源的计算机视觉库,它提供了很多计算机视觉算法的实现,比如读取图像、二值化、边缘检测等,我们经常使用 OpenCV 来处理图像。

opencv

Pillow

https://python-pillow.org/

Pillow 是一个 Python 的图像处理库,它提供了很多图像处理的函数和类,比如缩放、旋转、裁剪等,openmmlab 系列库中的很多图像处理函数都是基于 Pillow 实现的。

pillow-logo-dark-text

Matplotlib

https://matplotlib.org/

Matplotlib 是一个 Python 的绘图库,它提供了很多绘图函数和类,我们可以使用 Matplotlib 来做模型预测结果的可视化。

matplotlib

Pandas

https://pandas.pydata.org/

Pandas 是一个 Python 的数据处理库,它提供了很多数据处理的函数和类,比如读取 CSV 文件、合并数据集等,我们经常使用 Pandas 来写出表格。

pandas

Scikit-learn

https://scikit-learn.org/

Scikit-learn 是一个 Python 的机器学习库,它提供了很多机器学习算法的实现,比如线性回归、SVM 等,但是我们平时很少使用里面的模型,因为我们主要做深度学习。安装这个库主要是为了做数据预处理,比如划分数据集等。

scikit-learn-logo

Scikit-image

https://scikit-image.org/

Scikit-image 是一个 Python 的图像处理库,它提供了很多图像处理的函数和类,比如边缘检测、形态学操作等,有时遇到 OpenCV 没有的算子,我们可以使用 Scikit-image 的算子来处理图像。

scikit-image

JupyterLab

https://jupyter.org/

JupyterLab 是一个交互式的 Python 编程环境,它可以在浏览器中运行 Python 代码,我们可以使用 JupyterLab 写一些小程序,比如数据分析、数据预处理等。

jupyter

它和直接运行 Python 代码不一样的地方在于,它上一句代码运行的结果,不会自动消失,就像 matlab 一样,我们在处理数据集的时候,可以不必每次运行都重新加载数据集。

另外在 JupyterLab 中,我们可以交互式输出图像、表格等,在数据集分析的时候非常方便。

Onnxruntime

https://onnxruntime.ai/

Onnxruntime 是一个开源的深度学习推理库,它支持 ONNX 格式的模型,我们在 LabelmeAI 标注的时候,需要用到这个库加载模型,然后进行推理。

ONNX_Runtime_logo_dark (中)

openmmlab 系列

https://github.com/open-mmlab

openmmlab 系列是一个开源的深度学习库,它提供了很多深度学习模型和算法的实现,比如 mmpretrain 里的 ResNet,mmdet 里的 Faster R-CNN 等,我们可以使用 openmmlab 系列来构建深度学习模型。

openmmlab_logo

mmcv

https://github.com/open-mmlab/mmcv

mmcv 是 openmmlab 搭建模型时用的基础库,它提供了很多深度学习模型的基础算子,比如 ROI Pooling,NMS 等。如果使用 mmdet、mmpose 等库,必须安装 mmcv 的 CUDA 版本。

image

mmengine

https://github.com/open-mmlab/mmengine

image

mmengine 也是 openmmlab 的基础库,它提供了 C++ 之外的基础框架,比如配置文件解析、模型保存、数据加载等功能。

mmengine

mmdeploy

https://github.com/open-mmlab/mmdeploy

image

mmdeploy 是 openmmlab 的部署库,它提供了很多模型部署的功能,可以把类似 ResNet、Mask R-CNN 这样的模型转换为 TensorRT 格式,加速模型推理速度。

mmdeploy

mmdetetection

https://github.com/open-mmlab/mmdetection

image

mmdetetection 是 openmmlab 的目标检测库,它提供了很多目标检测模型的实现,比如 Faster R-CNN、Mask R-CNN 等,我们可以使用 mmdet 来构建目标检测模型。

image

mmpretrain

https://github.com/open-mmlab/mmpretrain

mmpretrain 是 openmmlab 的分类模型库,它提供了很多分类模型的实现,比如 ResNet、MobileNet 等,我们可以使用 mmpretrain 来构建分类模型。

image

mmsegmentation

https://github.com/open-mmlab/mmsegmentation

image

mmsegmentation 是 openmmlab 的图像分割库,它提供了很多图像分割模型的实现,比如 DeepLabV3、PSPNet 等,我们可以使用 mmsegmentation 来构建图像分割模型。

seg_demo

mmpose

https://github.com/open-mmlab/mmpose

image

mmpose 是 openmmlab 的人体姿态估计库,它提供了很多关键点模型的实现,比如 HRNet 等,我们可以使用 mmpose 来构建关键点模型。

动画

NVIDIA 相关

CUDA

https://developer.nvidia.com/cuda-toolkit

https://developer.nvidia.com/cuda-12-1-0-download-archive

CUDA 是 NVIDIA 推出的并行计算平台和编程模型,它可以利用 GPU 的并行计算能力,加速深度学习模型的训练和推理。

cuda

CuDNN

https://developer.nvidia.com/cudnn

https://developer.nvidia.com/rdp/cudnn-archive

CuDNN 是 NVIDIA 推出的深度神经网络加速库,它提供了很多深度学习算子的实现。

cudnn

TensorRT

https://developer.nvidia.com/tensorrt

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

TensorRT 是 NVIDIA 推出的深度学习推理加速库,它可以把深度学习模型转换为 TensorRT 格式,加速模型推理速度。部署必装。

trt

C++ 相关

OpenCV

https://opencv.org/

OpenCV 是一个开源的计算机视觉库,它提供了很多计算机视觉算法的实现,比如读取图像、二值化、边缘检测等。

opencv

QT

https://www.qt.io/download-dev

QT 是一个跨平台的 C++ 应用程序开发框架,它提供了很多 GUI 控件和布局管理器,我们可以使用 QT 来构建图形用户界面。

qt

LibTorch

https://pytorch.org/

https://pytorch.org/cppdocs/installing.html

LibTorch 是 PyTorch 的 C++ 前端,它提供了很多深度学习算子的实现,我们可以使用 LibTorch 的算子来处理数据。

深度视觉 AI 平台

配置深度学习环境是一个十分复杂的工程,里面牵扯到非常多的库和工具,而且这些库和工具的版本之间还有很多的依赖关系。深度学习框架(如PyTorch)和相关库(如NumPy、Pandas)有许多依赖,确保这些依赖的版本兼容性对于避免运行时错误至关重要。

由于网络带宽和服务器位置的限制,一些深度学习框架及其依赖的库访问速度较慢,甚至无法访问。深度视觉 AI 平台是一款专为深度学习开发者设计的深度学习环境配置工具,这套工具可以自动安装和配置下面提到的所有库和工具,并且这些库和工具的版本之间是兼容的,极大地简化了深度学习环境的搭建过程。无论是新手还是经验丰富的研究人员,深度视觉 AI 平台都能帮助您快速、轻松地配置所需的软件和库,让您专注于模型开发和实验。

下载地址:

https://dlcv.com.cn

image

首次安装流程

双击安装程序图标,显示如下界面:

点击【下一步】进入“软件使用许可协议”,点击【我接受】继续安装:

接受许可协议后继续安装:

安装完成:

再次安装

如果已经安装过 深度视觉 AI 平台安装程序,双击安装程序图标后进入如下界面:

点击【否】将进行覆盖安装操作;点击【是】将进入以下页面二次确认是否需要卸载。

这里建议卸载后再安装,避免有残留的文件影响环境正常运行。

点击是将进入卸载程序,卸载完成后显示以下页面:

点击【确定】进入开始安装页面:

接下来就和首次安装的流程一样操作了。

卸载

进入【控制面板】>【程序】>【程序和面板】,找到【深度视觉 AI 平台】,双击,弹出卸载页面:

点击【否】退出卸载程序,点击【是】完成卸载。

深度视觉 AI 平台

通过深度视觉 AI 平台可以启动和管理 AI 软件,包含 AI 平台算法引擎,图像标注软 LabelmeAI,深度视觉 AI 训练平台,深度视觉 AI 测试平台,AI 模型查看器。通过深度视觉 AI 平台,可以对所管理的模块进行安装、卸载、版本管理、启动等功能。

后续会收费吗

这套环境可以很方便地安装深度学习环境,以及很多有用的软件,这套环境和软件都不会收费,只有当你需要用到模型推理SDK时才会收费。