先说下自己的环境:ubuntu18+python3.6+torch0.4.1+RTX2080Ti
哎,硬件更新了,以前的代码跑起来可费劲了
还有这个环境 cuda9.0+cudnn7.0
github项目地址:https://hub.fastgit.org/potterhsu/easy-fpn.pytorch
要是打不开,搜索最后的名字
环境搭建
RTX2080Ti对应的arch是sm_75,其他卡需要自己查清楚再对应修改 遇到gcc编译器报错,试下在makefile等脚本文件添加下面两句:
export CXXFLAGS="-std=c++11"
export CFLAGS="-std=c99"
同时看看环境对不对:
nvcc -V
本显卡最低要求9.0,其他卡的支持情况自己要对应好。 然后就是按照作者的操作,在下面这一步卡了很久,搭完合适的环境就成功了 这里用的数据集名字是voc2007 在训练前得调好图片路径格式 这个工程依赖xml文件中的filename标签读取图片文件,改成依赖xml文件名读取图片的方式吧,在voc_2007.py中line 96处,image变量的值改为如下:
image = Image.open(os.path.join(self._path_to_jpeg_images_dir, image_id +'.jpg' ) )
进入工程下的data目录下执行该文件: 给看下data文件夹下的目录结构吧: 没有train.txt等文件的,新建voc2yolo4.py进行转换,下面放这个文件的内容,来自github大佬https://hub.fastgit.org/bubbliiiing
'''
#--------------------------------注意----------------------------------#
如果在pycharm中运行时提示:
FileNotFoundError: [WinError 3] 系统找不到指定的路径。: './VOCdevkit/VOC2007/Annotations'
这是pycharm运行目录的问题,最简单的方法是将该文件复制到根目录后运行。
可以查询一下相对目录和根目录的概念。在VSCODE中没有这个问题。
#--------------------------------注意----------------------------------#
'''
import os
import random
random.seed(0)
xmlfilepath=r'./VOCdevkit/VOC2007/Annotations'
saveBasePath=r"./VOCdevkit/VOC2007/ImageSets/Main/"
trainval_percent= 0.7
train_percent=1
temp_xml = os.listdir(xmlfilepath)
total_xml = []
for xml in temp_xml:
if xml.endswith(".xml"):
total_xml.append(xml)
num=len(total_xml)
list=range(num)
tv=int(num*trainval_percent)
tr=int(tv*train_percent)
trainval= random.sample(list,tv)
train=random.sample(trainval,tr)
print("train and val size",tv)
print("traub suze",tr)
ftrainval = open(os.path.join(saveBasePath,'trainval.txt'), 'w')
ftest = open(os.path.join(saveBasePath,'test.txt'), 'w')
ftrain = open(os.path.join(saveBasePath,'train.txt'), 'w')
fval = open(os.path.join(saveBasePath,'val.txt'), 'w')
for i in list:
name=total_xml[i][:-4]+ '\n'
if i in trainval:
ftrainval.write( name )
if i in train:
ftrain.write( name )
else:
fval.write( name )
else:
ftest.write( name )
ftrainval.close()
ftrain.close()
fval.close()
ftest .close()
执行转换
python3 VOCdevkit/VOC2007/voc2yolo4.py
开始训练
python3 train.py -s=voc2007 -b=resnet101
跑起来了呢
二级目录
三级目录
|