zoukankan      html  css  js  c++  java
  • AlexNet实践

    注释:

      CNN使用TF搭建比较简单,就像Hough检测使用CV很简单一样。但是怎么使用CNN去做一些实际操作,或者说怎么使用现有的方法进行慢慢改进,这是一个很大的问题!

      直接跟着书本或者视频学习有点膨胀,遇到问题又有点畏缩,现在进行每个网络的实际操作,注意不是mnist操作测试验证!那个东西说难听点就是玩的。


    AlexNet的特点

      1. 针对网络架构: 
        • 成功的使用ReLU作为激活函数,并验证其效果在较深的网络要优于Sigmoid.
        • 使用LRN层,对局部神经元的活动创建竞争机制,使得其中响应比较大的值变的相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。
        • 使用重叠的最大池化,论文中提出让步长比池化核的尺寸小,这样池化层的输出之间会有重叠和覆盖,提升了特征的丰富性。
      2. 针对过拟合现象: 
        • 数据增强,对原始图像随机的截取输入图片尺寸大小(以及对图像作水平翻转操作),使用数据增强后大大减轻过拟合,提升模型的泛化能力。同时,论文中会对原始数据图片的RGB做PCA分析,并对主成分做一个标准差为0.1的高斯扰动。
        • 使用Dropout随机忽略一部分神经元,避免模型过拟合。
      3. 针对训练速度: 
        • 使用GPU计算,加快计算速度

    AlexNet的结构

    conv的使用注意:

    1 #[batch, in_height, in_width, in_channels]
    2     #[filter_height, filter_width, in_channels, out_channels]
    3     #strides: 总共四个维度,代表每个纬度移动的步长。图像一般都是2维,只用最中间两个[1,2,3,1].其它多维度的数据也最多到四个纬度
    4     #padding:SAME-->>代表步长为1时,卷积之前图像边缘补充0,最后结果和输入图像大小相同。注意这里步长为其它值时,最后的图像就变换了
    5             #VALID-->>代表图像随着步长和卷积核的大小改变
    6     return tf.nn.conv2d(x,W,strides=[1,1,1,1],padding='SAME')
  • 相关阅读:
    tcpdump 抓包
    mysql常用日期函数
    接口自动化测试,一键快速校验接口返回值全部字段
    实训项目
    vue proxyTable 代理方式 解决 跨域pathRewrite
    cookie, session, token 发展史
    Failed to set locale, defaulting to C.UTF-8
    java String与Integer的相互转化
    java LocalDateTime 常用 转换 方法
    Java命令里面的EQ、NE、GT、LT、GE、LE分别代表含义
  • 原文地址:https://www.cnblogs.com/wjy-lulu/p/9012444.html
Copyright © 2011-2022 走看看