首先声明本人菜鸟一枚,如有任何错误欢迎指正!
继做完Deep-Feature-Flow的PPT后,老大又让跑DFF的代码,但无奈之前专注于caffe框架,但DFF官方只给了mxnet框架上的源码(果然微软人家要推广自己家的框架哇),所以成为组里第一个转战mxnet的实习生【笑哭】。在跑通demo后(跑代码过程见mxnet编译运行DFF),后又花了大概3周的时间研读代码,构建起总的框架,期间收获了很多,也为下一步对DFF的改进打下了基础
----------------------------------------------------主子镇楼-----------------------------------------------------------
一、mxnet下Deep-Feature-Flow的文件夹结构
当打开下载的DFF包后,我们都是一脸萌币的。
首先可以看一下READ_ME文件:包含了Introduction、Disclaimer、License、Requirements、Installation、Demo、Preparation for Training & Testing、Usage等部分内容,可以对整个DFF代码有一个初步的了解(当然是要在看完看透论文的基础上)。
然后我们来看各个文件夹的内容
DFF中主要文件夹data:包括了训练和测试使用的datasets相关文件
demo:包括了在运行demo时使用到的输入图片,以及用来存储demo生成的标定结果图片。
dff_rfcn:这个文件夹包括了DFF的绝大部分核心代码,包含神经网络的建立文件、用来进行训练和测试的function、class等。本文中,将对这一文件进行重点介绍。
experiments:包括参数的配置文件(./experiments/{rfcn/dff_rfcn}/cfgs)、实验过程的日志文件以及train的源代码(引用了dff_rfcn中的各种函数)
external:包括了与mxnet相关的文件(与我们的源代码基本无关~)
lib:我们在各种安装包里都会见到的文件夹
model:包括了训练所需的模型(ImageNet pre-trained ResNet-v1-101 model and Flying-Chairs pre-trained FlowNet model)
output:用来存储训练及测试过程中的输出(A cache folder would be created automatically to save the model and the log under)
rfcn:包含了rfcn网络的核心源代码
二、各个文件的相互对应与import关系
demo(简化版的experiments) 正式的train和test三、神经网络搭建文件解析
见后续
四、实验过程:训练与测试
以正式训练时的dff_rfcn_end2end_train.test.py为例:
dff_rfcn_end2end_train.test.py文件:
dff_rfcn_end2end_train.test.py parse_arg函数其中train_net()函数是重点,源代码及注释见后续~
网友评论