步骤

  1. 创建虚拟环境
1
2
conda create --name <env_name> <package_names>
# 例如: 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
    2
    conda install pytorch=0.4.0 cuda80 -c pytorch
    pip install torch==0.4.0 -f https://download.pytorch.org/whl/cu80/stable #CUDA 8.0 build
  5. 克隆Faster-RCNN.Pytorch库

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 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
  6. 测试库中用例,检查是否能跑通

    1. 在”faster-rcnn.pytorch”文件夹中打开终端

    2. 指定GPU训练

      1
      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
    3. 多GPU训练

      1
      2
      python trainval_net.py \ --dataset pascal_voc --net res101 \ --bs 24 --nw 8 \ --lr $LEARING_RATE --lr_decay_step $DECAY_STEP \ --cuda --mGPUs
      # (pascal_voc.py self._classes 类别修改)

问题

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

    • 解决:

      1
      2
      3
      4
      # 删除原来指向python2的软链接
      mv /home/ciisr/anaconda3/envs/lzw/bin/python /home/ciisr/anaconda3/envs/lzw/bin/python.bak
      # 按照自己的实际情况进行更改
      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
    2
    pip uninstall torch
    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
    2
    pip uninstall scipy pillow
    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,不然会导致问题五的发生。