以下框架均来源于个人 PyTorch 开发经历, 仅供参考. (以下内容不分先后)

  • Albumentations: 一个基于 OpenCV 的图像增强/解析库, 速度爆杀 torchvision (Pillow-SIMD).
  • Einops: 一个 PyTorch 的 Tensor 操作库, 可以在大幅简化 transpose, reshape, squeeze, unsqueeze 等操作.
  • PyTorch Lightning: 一个 PyTorch 的高级封装, 可以大幅简化训练过程的代码, 如 DDP, Logging, Checkpointing, 等等.
  • PyTorch Image Models: (TIMM): 一个耳熟能详的 CV 模型库.
  • HuggingFace Transformers: 一个耳熟能详的 NLP 模型库.
  • ONNX Runtime: 一个 ONNX 的运行时, 可以用来大幅加速 PyTorch 模型的推理, 支持 CPU, CUDA, CoreML, TensorRT 等后端.
  • WandB: 一个可视化工具 (类似 tensorboard), 可以用来记录训练过程中的各种指标, 以及可视化训练过程中的图片, 模型, 等等.

如果你有其他推荐, 欢迎在评论区留言.

很多时候我们需要使用 OpenCV 的一些功能 (如 viz), 但是 OpenCV 官方的 Python Contrib 版本并没有提供这些功能, 这时候我们就需要使用自己构建.
然而, 手动从官方下载源码然后构建相当繁琐, 下面的代码将使用 pip 来构建 OpenCV Contrib Python.

1
2
3
4
export ENABLE_CONTRIB=1  # 启用 contrib
export CMAKE_ARGS="-DWITH_VTK=ON -DOPENCV_ENABLE_NONFREE=ON" # 启用 VTK 和非免费功能
export MAKEFLAGS="-j$(nproc)" # 使用多核编译
pip install -v --no-binary=opencv-contrib-python opencv-contrib-python

在这里, 我使用 CMAKE_ARGS 来指定 CMAKE 参数, 你们可以根据自己的需求调整.

0%