步骤

  1. 创建虚拟环境
  1. conda create --name <env_name> <package_names>
  2. # 例如: conda create --name lzw python=3.6
  1. 激活虚拟环境
    source activate <env_name>(太老)
    使用conda activate <env_name>替代

  2. 退出虚拟环境
    source deactivate(太老)
    使用conda deactivate替代

  3. 查看已创建环境
    conda env list

  4. 安装 pytorch0.4 版本

    1. conda install pytorch=0.4.0 cuda80 -c pytorch
    2. pip install torch==0.4.0 -f https://download.pytorch.org/whl/cu80/stable #CUDA 8.0 build
  1. 克隆 Faster-RCNN.Pytorch 库 ```git

    1. 从Git上克隆

    git clone https://github.com/jwyang/faster-rcnn.pytorch.git

2. 打开文件夹并创建文件夹‘data’

cd faster-rcnn.pytorch && mkdir data

3. 安装所需依赖

pip install -r requirements.txt

4. 编译环境

cd lib sh make.sh

  1. 7.
  2. 测试库中用例,检查是否能跑通
  3. 1.
  4. "faster-rcnn.pytorch"文件夹中打开终端
  5. 2.
  6. 指定 GPU 训练
  7. ```shell
  8. CUDA_VIDIBLE_DEVICES=$GPU_ID python trainval_net.py \ --dataset pascal_voc --net res101 \ --bs $BATCH_SIZE --nw $WORKER_NUMBER \ --lr $LEARING_RATE --lr_decay_step $DECAY_STEP \ --cuda
  1. 多 GPU 训练
    1. python trainval_net.py \ --dataset pascal_voc --net res101 \ --bs 24 --nw 8 \ --lr $LEARING_RATE --lr_decay_step $DECAY_STEP \ --cuda --mGPUs
    2. # (pascal_voc.py self._classes 类别修改)

问题

  • 问题一: 在 Anaconda 虚拟环境中,命令python默认指向 python2 版本,需要修改为 python3 版本

    • 解决:
      1. # 删除原来指向python2的软链接
      2. mv /home/ciisr/anaconda3/envs/lzw/bin/python /home/ciisr/anaconda3/envs/lzw/bin/python.bak
      3. # 按照自己的实际情况进行更改
      4. ln -s /home/ciisr/anaconda3/envs/lzw/bin/python3.6 /home/ciisr/anaconda3/envs/lzw/bin/python
  • 问题二: 明明import torch已经没有问题,但sh make.sh时会提示找不到 torch 模块

    • 解决:注释”make.sh”中首行#! /usr/bin/env bash
  • 问题三: 在运行上述第 7 步时“指定 GPU 训练”提示AttributeError: module 'torch.nn' has no attribute 'ModuleDict'

    • 解决: torch 0.4.0 版本中不包含”torch.nn”,需要卸载后重新安装 0.4.1及以上版本(只能是 0.4.1,不然会导致问题五的发生)在 2020-01-08 的实验中我发现 torch 只能安装 0.4.0 版本的…
      1. pip uninstall torch
      2. pip install torch==0.4.0
  • 问题四:在运行上述第 7 步时“指定 GPU 训练”提示from scipy.misc import imread. ImportError: cannot import name 'imread'

  • 解决:scipy 需要安装 1.2.1 左右的版本,同时 pillow 版本不能高于 7.0.0,否则会导致ImportError: cannot import name 'PILLOW_VERSION'错误

  1. pip uninstall scipy pillow
  2. pip install scipy==1.2.1 pillow==5.2.0
  • 问题五:在运行上述第 7 步时“指定 GPU 训练”提示ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead.

    • 解决: torch 的版本只能安装 0.4.1在 2020-01-08 的实验中我发现 torch 只能安装 0.4.0 版本的…
  • 问题六:在运行上述第 7 步时“指定 GPU 训练”提示torch.jit.frontend.NotSupportedError: slicing multiple dimensions at the same time isn't supported yet

    • 解决: 重新安装 torchvision0.2.2 版本.
    • 注意:不能把 torch 版本升级到 1.0.0,不然会导致问题五的发生。

瓦雀