YOLOv3模型训练的软件准备

0. 前言

考虑到YOLOv3基于Tensorflow,而Tensorflow环境配置较为复杂,故选用conda作为python虚拟环境,便于配置Python模块间依赖.

1. Conda 配置

Conda分为Anaconda和Miniconda,前者更加完备,后者占用空间更小。下载地址(Anaconda)-
下载后,需要配置国内镜像源:

conda config --set show_channel_urls yes
vim ~/.condarc

输入以下内容:

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/

建立conda虚拟环境:

conda clean -i -y
conda create -n ai python==3.8 -y
source activate ai
sudo pip install tensorrt==10.2.0 protobuf==3.19.6 tensorflow==2.7.0

2.CUDA 及 Tensorflow

经过测试,以下版本的模块/CUDA/cuDNN可以适配:下载适用于Ubuntu的CUDA 11.8

tensorflow==2.7.0
cudnn==8.9.7
cuda==11.8

使用以下命令检测Tensorflow是否配置完成,输出列表不为空即可。

import tensorflow as tf
print(tf.test.is_built_with_cuda())
print(tf.config.list_physical_devices('GPU'))

若出现缺少“libxxx.so”的情况,可下载libgl1-mesa-glx

sudo apt install -y libgl1-mesa-glx