计算机视觉知识点-基础网络-AlexNet

AlexNet发布于2012年,让研究界接受了深度网络在数据特征提却中的可行性。网络有5个卷集层,3个FC层,创新点有:1)增加了卷积网络的深度,由LeNet的2个卷积层变为5个, 2)pool层使用maxpooling, 3)激活函数使用relu,4)使用dropout,5)使用了大量的数据增强预处理方法。

使用mxnet进行一下代码演示。mxnet的安装方法

pip install d2l==0.14.3
pip install -U mxnet-cu101mkl==1.6.0.post0  
pip install gluoncv

创建一个AlexNet网络

from d2l import mxnet as d2l
from mxnet import np,npx
from mxnet.gluon import nn
npx.set_np()

net = nn.Sequential()
net.add(
    nn.Conv2D(96, kernel_size=11, strides=4, activation='relu'),
    nn.MaxPool2D(pool_size=3, strides=2),
    nn.Conv2D(256, kernel_size=5, padding=2, activation='relu'),
    nn.MaxPool2D(pool_size=3, strides=2),
    nn.Conv2D(384, kernel_size=3, padding=1, activation='relu'),
    nn.Conv2D(384, kernel_size=3, padding=1, activation='relu'),
    nn.Conv2D(256, kernel_size=3, padding=1, activation='relu'),
    nn.MaxPool2D(pool_size=3, strides=2),
    nn.Dense(4096, activation='relu'), nn.Dropout(0.5),
    nn.Dense(4096, activation='relu'), nn.Dropout(0.5),
    nn.Dense(10)
)

网络的输入尺寸是224*224.

打印一下输出

x = np.random.uniform(size=(1,1,224,224))
net.initialize()
for layer in net:
  x = layer(x)
  print(layer.name, '\t', x.shape)
conv10 	 (1, 96, 54, 54)
pool6 	 (1, 96, 26, 26)
conv11 	 (1, 256, 26, 26)
pool7 	 (1, 256, 12, 12)
conv12 	 (1, 384, 12, 12)
conv13 	 (1, 384, 12, 12)
conv14 	 (1, 256, 12, 12)
pool8 	 (1, 256, 5, 5)
dense4 	 (1, 4096)
dropout2 	 (1, 4096)
dense5 	 (1, 4096)
dropout3 	 (1, 4096)
dense6 	 (1, 10)

加载fashion_mnist训练数据

batch_size=128
train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size, resize=224)

训练代码

lr, num_epochs = 0.01, 10
d2l.train_ch6(net, train_iter, test_iter, num_epochs, lr)

在T4下训练大概20分钟就可以完成了

训练结果

loss 0.333, train acc 0.879, test acc 0.893
4200.6 examples/sec on gpu(0)

训练使用 Xavier进行网络初始化,loss为 cross-entropy,使用sgd进行优化。

最后的话:

这篇文章发布在CSDN/蓝色的杯子, 没事多留言,让我们一起爱智求真吧.我的邮箱wisdomfriend@126.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本课程适合具有一定深度学习基础,希望发展为深度学习计算机视觉方向的算法工程师和研发人员的同学们。基于深度学习计算机视觉是目前人工智能最活跃的领域,应用非常广泛,如人脸识别和无人驾驶中的机器视觉等。该领域的发展日新月异,网络模型和算法层出不穷。如何快速入门并达到可以从事研发的高度对新手和中级水平的学生而言面临不少的挑战。精心准备的本课程希望帮助大家尽快掌握基于深度学习计算机视觉的基本原理、核心算法和当前的领先技术,从而有望成为深度学习计算机视觉方向的算法工程师和研发人员。本课程系统全面地讲述基于深度学习计算机视觉技术的原理并进行项目实践。课程涵盖计算机视觉的七大任务,包括图像分类、目标检测、图像分割(语义分割、实例分割、全景分割)、人脸识别、图像描述、图像检索、图像生成(利用生成对抗网络)。本课程注重原理和实践相结合,逐篇深入解读经典和前沿论文70余篇,图文并茂破译算法难点, 使用思维导图梳理技术要点。项目实践使用Keras框架(后端为Tensorflow),学员可快速上手。通过本课程的学习,学员可把握基于深度学习计算机视觉的技术发展脉络,掌握相关技术原理和算法,有助于开展该领域的研究与开发实战工作。另外,深度学习计算机视觉方向的知识结构及学习建议请参见本人CSDN博客。本课程提供课程资料的课件PPT(pdf格式)和项目实践代码,方便学员学习和复习。本课程分为上下两部分,其中上部包含课程的前五章(课程介绍、深度学习基础、图像分类、目标检测、图像分割),下部包含课程的后四章(人脸识别、图像描述、图像检索、图像生成)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值