深度残差网(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就可以进行训练了。

时间: 2025-01-21 21:28:31

深度残差网(deep residual networks)的训练过程的相关文章

残差网络(Residual Networks, ResNets)

1. 什么是残差(residual)? "残差在数理统计中是指实际观察值与估计值(拟合值)之间的差.""如果回归模型正确的话, 我们可以将残差看作误差的观测值." 更准确地,假设我们想要找一个 $x$,使得 $f(x) = b$,给定一个 $x$ 的估计值 $x_0$,残差(residual)就是 $b-f(x_0)$,同时,误差就是 $x-x_0$. 即使 $x$ 不知道,我们仍然可以计算残差,只是不能计算误差罢了. 2. 什么是残差网络(Residual Net

深度复数网络 Deep Complex Networks

转自:https://www.jiqizhixin.com/articles/7b1646c4-f9ae-4d5f-aa38-a6e5b42ec475  (如有版权问题,请联系本人) 目前绝大多数深度学习模型中的数学都是实数值的,近日,蒙特利尔大学.加拿大国家科学院-能源/材料/通信研究中心(INRS-EMT).微软 Maluuba.Element AI 的多名研究者(其中包括 CIFAR Senior Fellow Yoshua Bengio)在 arXiv 上发布了一篇 NIPS 2017(

深度残差收缩网络:(五)实验验证

实验部分将所提出的两种深度残差收缩网络,即“通道之间共享阈值的深度残差收缩网络(Deep Residual Shrinkage Networks with Channel-shared Thresholds,简称DRSN-CS)”,和“逐通道不同阈值的深度残差收缩网络(Deep Residual Shrinkage Networks with Channel-wise Thresholds,简称DRSN-CW)”,与传统的卷积神经网络(Convolutional Neural Networks,

深度残差网络(DRN)ResNet网络原理

一说起“深度学习”,自然就联想到它非常显著的特点“深.深.深”(重要的事说三遍),通过很深层次的网络实现准确率非常高的图像识别.语音识别等能力.因此,我们自然很容易就想到:深的网络一般会比浅的网络效果好,如果要进一步地提升模型的准确率,最直接的方法就是把网络设计得越深越好,这样模型的准确率也就会越来越准确. 那现实是这样吗?先看几个经典的图像识别深度学习模型: 这几个模型都是在世界顶级比赛中获奖的著名模型,然而,一看这些模型的网络层次数量,似乎让人很失望,少则5层,多的也就22层而已,这些世界级

CNN卷积神经网络_深度残差网络 ResNet——解决神经网络过深反而引起误差增加的根本问题

from:https://blog.csdn.net/diamonjoy_zone/article/details/70904212 环境:Win8.1 TensorFlow1.0.1 软件:Anaconda3 (集成Python3及开发环境) TensorFlow安装:pip install tensorflow (CPU版) pip install tensorflow-gpu (GPU版) TFLearn安装:pip install tflearn 参考: Deep Residual Le

关于深度残差网络(Deep residual network, ResNet)

题外话: From <白话深度学习与TensorFlow> 深度残差网络: 深度残差网络的设计就是为了克服这种由于网络深度加深而产生的学习效率变低,准确率无法有效提升的问题(也称为网络退化). 甚至在一些场景下,网络层数的增加反而会降低正确率.这种本质问题是由于出现了信息丢失而产生的过拟合问题(overfitting,所建的机器学习模型或者是深度学习模型在训练样本中表现的过于优越,导致在验证数据集及测试数据集中表现不佳,即为了得到一致假设而使假设变得过度复杂).解决思路是尝试着使他们引入这些刺

为什么深度神经网络难以训练Why are deep neural networks hard to train?

Imagine you're an engineer who has been asked to design a computer from scratch. One day you're working away in your office, designing logical circuits, setting out AND gates, OR gates, and so on, when your boss walks in with bad news. The customer h

Deep Residual Learning for Image Recognition(MSRA-深度残差学习)

ABSTRACT: 1.Deeper neural networks are more difficult to train. 2.We present a residual learning framework to ease the training of networks that are substantially deeper than those used previously. 3.We explicitly reformulate the layers as learning r

Dual Path Networks(DPN)——一种结合了ResNet和DenseNet优势的新型卷积网络结构。深度残差网络通过残差旁支通路再利用特征,但残差通道不善于探索新特征。密集连接网络通过密集连接通路探索新特征,但有高冗余度。

如何评价Dual Path Networks(DPN)? 论文链接:https://arxiv.org/pdf/1707.01629v1.pdf在ImagNet-1k数据集上,浅DPN超过了最好的ResNeXt-101(64×4d),具有26%更小的模型尺寸,25%的计算成本和8%的更低的内存消耗 5 个回答 xiaozhi CV.ML.DL 1.针对视觉识别任务的"网络工程"一直是研究的重点,其重在设计更为高效的网络拓扑结构,一方面考虑更好的特征表示学习,另一方面尽可能减少计算复杂度