深度残差网(deep residual networks)的训练过程
这里介绍一种深度残差网(deep residual networks)的训练过程:
1、通过下面的地址下载基于python的训练代码:
https://github.com/dnlcrl/deep-residual-networks-pyfunt
2、这些训练代码需要和pydataset包。下面介绍这两个包的安装方法。
(1)pyfunt需要安装。
用命令:pip install git+git://github.com/dnlcrl/PyFunt.git
进行下载安计。
安装时numpy需要1.11及以上,但笔者机器上的numpy为1.10,因此,还采用了如下命令对其进行升级:
pip install numpy --upgrade
(2)pydataset
pydataset主要用于数据预处理。 由于pydataset包需要cv2(opencv for python),但无法用pip安装cv2(该项目好像停止了)。因此只有通过下载opencv3.0(我下载的是opencv-3.0.0.exe),然后解压,在解压后的\build\python\2.7\x64目录下将cv2.pyd文件拷贝到python的site-packages目录下,注意,笔者机器上安装的是64位的python2.7,所以选择的是这个路径,不同的python版本和平台,其路径不一样。
然后需要设置opencv的路径。具体设置方法见下图(注意,笔者的opencv是安装在F:\tool\opencv,不同的opencv安装路径,其设置内容不一样):
然后下载通过: https://github.com/dnlcrl//PyDatSet 下载PyDatSet,解压,在所解压的目录python setup.py install来安装。
3、下载cafir10 for python的数据集,然后解压,记住这个目录,在第一次运行train.py时,需要输入这个目录的全路径。
4、由于源代码有bug,需要修改源代码。
主要修改的源代码有:
(1) train.py中的 NUM_TRAIN = 40000 (源代码是5000);
(2)cifar10.py文件(在python安装目录下的lib\site-packages\pydatset目录下)中的load函数中的 for b in range(1, 5);(源代码为6)
(3)cifar10.py文件(在python安装目录下的lib\site-packages\pydatset目录下)中的load_CIFAR_batch函数中的with open(filename, 'rb') as f;(源代码为'r');
5、通过执行python train.py就可以进行训练了。