Faster RCNN 环境配置
时间:2022-07-23
本文章向大家介绍Faster RCNN 环境配置,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
步骤
- 创建虚拟环境
conda create --name <env_name> <package_names>
# 例如: conda create --name lzw python=3.6
- 激活虚拟环境
(太老) 使用source activate <env_name>
conda activate <env_name>
替代 - 退出虚拟环境
(太老) 使用source deactivate
conda deactivate
替代 - 查看已创建环境
conda env list
- 安装pytorch0.4版本 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
- 克隆Faster-RCNN.Pytorch库 # 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
- 测试库中用例,检查是否能跑通
- 在"faster-rcnn.pytorch"文件夹中打开终端
- 指定GPU训练 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
- 多GPU训练 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版本- 解决: # 删除原来指向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
- 解决:注释"make.sh"中首行
- 问题三: 在运行上述第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版本的…
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'
错误
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,不然会导致问题五的发生。
- 新年伊始,微软再遭叙利亚电子军挑衅
- 任天堂3DS游戏机烧录卡蓝屏事件
- android调用dialog.hide()引起的输入事件派发错误问题追踪
- 互联网世界的毒瘤——僵尸网络
- android 游戏移植 (一) (文末有福利) | SDL 西游释厄传调试
- 自制分布式漏洞扫描工具
- [细节剖析]X Windows中一个22年的漏洞
- android 游戏移植 (二) | SDL2.0适配 西游释厄传
- Android调用系统相册和拍照的Demo
- 黑客是如何通过RDP远程桌面服务进行攻击的
- SDL的几个宽高概念讲解(文中有福利)
- [安全科普]你必须了解的session的本质
- Android中如何动态的实现设置全屏和退出全屏
- Android 双进程Service常驻后台,无惧“一键清理”
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法