faster-rcnn.pytorch项目环境配置(从0到1)

news/2024/7/10 3:11:48 标签: 深度学习, 人工智能, 目标检测, 机器学习

faster-rcnn.pytorch项目环境配置(从0到1)

其实pytorch版本和CUDA版本高,都没有关系!!!都可以适配,显卡30系、20系都没关系,都可以用!

下面我将在AutoDL平台上,从0到1安装配置一遍!!!

  1. conda create -n DA python=3.8
  2. conda activate DA
  3. 克隆代码
git clone https://github.com/jwyang/faster-rcnn.pytorch.git
cd faster-rcnn.pytorch
git checkout pytorch-1.0
  1. pip install -r requirements.txt

若安装opencv时卡死,请单独安装opencv-python,并附带版本:

pip install opencv-python==3.4.9.31

  1. 安装pytorch
conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=11.3 -c pytorch
  1. 编译coco api

cd lib/pycocotools #进入coco文件夹
新建 setup.py 文件,并将以下内容复制

# --------------------------------------------------------
# Fast R-CNN
# Copyright (c) 2015 Microsoft
# Licensed under The MIT License [see LICENSE for details]
# Written by Ross Girshick
# --------------------------------------------------------

import os
from setuptools import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
import numpy as np


# Obtain the numpy include directory.  This logic works across numpy versions.
try:
   numpy_include = np.get_include()
except AttributeError:
   numpy_include = np.get_numpy_include()


ext_modules = [
   Extension(
       '_mask',
       sources=['maskApi.c', '_mask.pyx'],
       include_dirs = [numpy_include, '.'],
       extra_compile_args=['-Wno-cpp', '-Wno-unused-function', '-std=c99'],
   )
]

setup(
   name='faster_rcnn',
   ext_modules=ext_modules,
   # inject our custom trigger
   cmdclass={'build_ext': build_ext},
)

随后python setup.py build_ext --inplace

  1. 编译cuda依赖

cd …
python setup.py build develop # 编译cuda 依赖项

若发生以下错误:

image-20230704101551308

pytorch版本问题:pytorch在最新的版(1.11)本中将THC/THC.h文件删除了。降低pytorch版本即可
conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=11.3 -c pytorch -c conda-forge
  1. 在根目录下创建data,下载数据集/预训练权重
mkdir data
cd data

wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar

tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tar

# 在xxx/data路径下
ln -s /root/autodl-tmp/faster-rcnn.pytorch/data/VOCdevkit VOCdevkit2007

mkdir pretrained_model
cd pretrained_model
wget https://filebox.ece.vt.edu/~jw2yang/faster-rcnn/pretrained-base-models/resnet101_caffe.pth
wget https://filebox.ece.vt.edu/~jw2yang/faster-rcnn/pretrained-base-models/vgg16_caffe.pth
  1. 更改代码:
autodl-tmp/faster-rcnn.pytorch/lib/roi_data_layer/minibatch.py
第15行: from scipy.misc import imread
改为: from imageio import imread  
pip install imageio

autodl-tmp/faster-rcnn.pytorch/lib/model/utils/config.py
第374行:yaml_cfg = edict(yaml.load(f))
改为:yaml_cfg = edict(yaml.safe_load(f))

随后

CUDA_VISIBLE_DEVICES=0 python trainval_net.py --dataset pascal_voc --net vgg16 --epochs 20 --bs 1 --nw 2 --lr 1e-2 --lr_decay_step 8 --use_tfb --cuda

image-20230704113958634

参考:

1

2

[3](


http://www.niftyadmin.cn/n/1505022.html

相关文章

Realm_King 之 XPDL(XML Process Definition Language)

XPDL(XML Process Definition Language)是由Workflow Management Coalition(简写为:WfMC)所提出的一个标准化规格,使用XML文件让不同的工作流程软件能够交换商业流程定义。XPDL是一个通用的框架&#xff0c…

团队作业week9

Write a blog to talk about your scenario testing 1.How do you expect different personas to use your software? What’s their need and their goals, how your features works together to solve their needs?2.Your test matrix (测试矩阵)▪ On what platform, wh…

软件过程中的重点工作

为什么80%的码农都做不了架构师?>>> 刚结束一个软件 2周完成主要功能分析设计,2天对辅助功能作简单规划 3周实现辅助功能,2天实现了主要功能 从以上数据看来,设计重在用户需求,实现重在软件基础模块。 …

保护眼睛(改变窗口颜色和Pdf背景颜色)

保护眼睛(改变窗口颜色和Pdf背景颜色)昨天用了一个好朋友告诉我的保护眼睛的方法,效果很不错哦~~ 今天告诉大家,一起爱护偶们明亮的眼睛吧!!! 首先需要改一下设置,…

嗜好

国人七大嗜好:一好嫖,省去恋爱曲折,直接享受性福;二好赌,省去辛苦打拼,寄望当下发财;三好骂,省去论证艰难,立马搞倒对手;四好补,省去锻炼汗水&…

Mac 添加环境变量

1、打开终端 2、vi编辑:   vi ~/.bash_profile 3、export PATH$PATH:目录:目录:目录 例如:(1)export PATH$PATH:$NDK_ROOT:$ANT_HOME/bin (2)export PATH$PATH:/opt/adt-bundle-mac-x86_64-20140321/sdk/…

插值方法

插值方法有很多,对应到MATLAB里面也有很多函数,和参数选择。 对应的原理分析,嘻嘻,我毕竟不是数学专业的学生,有时间能弄懂就弄懂吧,^_^ 分段线性插值,拉格朗如插值,样条插值(B样条插…

【C#】构建可枚举类型(IEnumerable和IEnumerator)

为了开始对实现既有接口的了解,我们就看一下IEnumerable和IEnumerator的作用,想一下,C#支持关键字foreach,允许我们遍历任何数组类型的内容: //遍历数组的项 int[] myArray{10,20,30} foreach(int i in myArray) {....…