AlexNet 06

一、发展

1989年,Yann LeCun提出了一种用反向传导进行更新的卷积神经网络,称为LeNet。

1998年,Yann LeCun提出了一种用反向传导进行更新的卷积神经网络,称为LeNet-5

AlexNet,VGG,GoogleNet,ResNet

二、AlexNet

AlexNet2012ISLVRC 2012ImageNet Large Scale Visual Recognition  Challenge)竞赛的冠军网络,分类准确率由传统的 70%+提升到 80%+。 它是由Hinton和他的学生Alex Krizhevsky设计的。也是在那年之后,深度学习开始迅速发展。

ISLVRC 2012

训练集:1,281,167张已标注图片

验证集50,000张已标注图 

测试集100,000张未标注图

该网络的亮点在于

1 首次利 GPU 进行网络加速训练
2 使用 R e L U 激活函数,而不是传统 S i g m o i d 激活函数以 T anh 激活函数
3 使用 LRN 局部响应归一化 。(LPN是bn的变种)
4 在全连接层的前两层中使用 D r opout 随机失活神经元操作,以减少过拟合

过拟合:根本原因是特征维度过多,模型假设过于复杂,参数过多,训练数据过少,噪声过多,导致拟合的函数完美的预测 训练集,但对新数据的测试集预测结果差。 过度的拟合了训练 数据,而没有考虑到泛化能力。

1.1 AlexNet详解

网络分为上下两层,用两个GPU同时在跑

第一层卷积:

两个GPU跑,卷积核是48*2

padding [1,2] 是左边一列0,右边两列0,上边一行0,下面两行0

经卷积后的矩阵尺寸大小计算公式为:N = (W F + 2P ) / S + 1

  输入图片大小 W×W

Filter大小 F×F

步长 S

padding的像素数 P

第二层maxpool:

第三层卷积:

 第四层maxpool:

 第五层卷积:

 第六层卷积:

 

 第七层卷积:

 第八层maxpool:

1.2 AlexNet实现

模型实现

from tensorflow import keras
import tensorflow as tf
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt# 函数式和子类.
def AlexNet(im_height=224, im_width=224, num_classes=1000):input_image = keras.layers.Input(shape=(im_height, im_width, 3), dtype=tf.float32)# 手动paddingx = keras.layers.ZeroPadding2D(((1, 2), (1, 2)))(input_image)x = keras.layers.Conv2D(48, kernel_size=11, strides=4, activation='relu')(x)x = keras.layers.MaxPool2D(pool_size=3, strides=2)(x)x = keras.layers.Conv2D(128, kernel_size=5, padding='same', activation='relu')(x)x = keras.layers.MaxPool2D(pool_size=3, strides=2)(x)x = keras.layers.Conv2D(192, kernel_size=3, padding='same', activation='relu')(x)x = keras.layers.Conv2D(192, kernel_size=3, padding='same', activation='relu')(x)x = keras.layers.Conv2D(128, kernel_size=3, padding='same', activation='relu')(x)x = keras.layers.MaxPool2D(pool_size=3, strides=2)(x)#全连接# 前面不管几维,都变成2维x = keras.layers.Flatten()(x)x = keras.layers.Dropout(0.2)(x)   #随机去掉20%神经元x = keras.layers.Dense(2048, activation='relu')(x)x = keras.layers.Dropout(0.2)(x)  #随机去掉20%神经元x = keras.layers.Dense(2048, activation='relu')(x)x = keras.layers.Dense(num_classes)(x)  #num_classes 最后输出类别# 预测predict = keras.layers.Softmax()(x)model = keras.models.Model(inputs=input_image, outputs=predict)return model

数据准备

train_dir = './training/training/'
valid_dir = './validation/validation/'# 图片数据生成器
train_datagen = keras.preprocessing.image.ImageDataGenerator(rescale = 1. / 255,rotation_range = 40,width_shift_range = 0.2,height_shift_range = 0.2,shear_range = 0.2,zoom_range = 0.2,horizontal_flip = True,vertical_flip = True,fill_mode = 'nearest'
)height = 224
width = 224
channels = 3
batch_size = 32
num_classes = 10train_generator = train_datagen.flow_from_directory(train_dir,target_size = (height, width),batch_size = batch_size,shuffle = True,seed = 7,class_mode = 'categorical')valid_datagen = keras.preprocessing.image.ImageDataGenerator(rescale = 1. / 255
)
valid_generator = valid_datagen.flow_from_directory(valid_dir,target_size = (height, width),batch_size = batch_size,shuffle = True,seed = 7,class_mode = 'categorical')
print(train_generator.samples)
print(valid_generator.samples)

训练

model = AlexNet(im_height=224, im_width=224, num_classes=10)
model.summary()model.compile(optimizer='adam',loss='categorical_crossentropy',metrics=['acc'])history = model.fit(train_generator,steps_per_epoch=train_generator.samples // batch_size,epochs=10,validation_data=valid_generator,validation_steps = valid_generator.samples // batch_size)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/71873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

运维监控系统PIGOSS BSM 业务监控 大屏展现解析

“业务大屏”是 PIGOSS BSM(IT运维监控工具)的特色功能之一,旨在提供综合而直观的业务监控视图。该功能主要由三个组成部分构成:业务健康度雷达图、业务状态矩阵和多趋势对比图。 下面将对每个部分进行详细介绍: 业务健…

支持向量机

一、支持向量机 1. 基本概念 1)什么是支持向量机 支持向量机(Support Vector Machines)是一种二分类模型,在机器学习、计算机视觉、数据挖掘中广泛应用,主要用于解决数据分类问题,它的目的是寻找一个超平…

CDN+GitHub搭建图床

前期搭建博客的时候,老是遇到图片无法加载、加载出错等等问题,很是烦恼。于是想搭建一个图床,进行个人博客图片的存储、显示使用。 ​ 利用GitHubjsDelivrPicGo搭建免费图床,CDN图床就是这么朴实无华,是基于免费CDN与免…

敏感信息防泄漏:透明加密与通信内容安全策略深度解析

随着信息技术的迅猛发展,计算机和网络已经成为了我们日常生活中不可或缺的工具,用于办公、通信和协作。尽管这些信息系统提高了工作效率,但也引发了一系列与信息安全相关的问题,例如如何有效地保护存储在这些系统中的关键数据&…

【C++漂流记】函数的高级应用——函数默认参数、占位参数、重载

函数的高级应用,侧重介绍函数的默认参数、函数的占位参数、函数重载定义解释及使用。 文章目录 一、函数的默认参数二、函数的占位参数三、函数重载函数重载的注意事项 一、函数的默认参数 函数默认参数是指在函数声明时为参数提供一个默认值,这样在调…

算法通关村第十三关——溢出问题处理模板

前言 溢出问题是面试当中输出涉及到数字的一个需要特别注意的地方,典型的题目有三个:数字反转,将字符串转成数字和回文数。 1.整数反转 力扣7题,给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。…

数据库误修改后的数据恢复

一不小心将数据库数据修改了,而且回滚无效,于是去尝试各种方法恢复数据 查询到修改时间点之前的数据 恢复数据 恢复数据库被修改数据的流程及代码,这里被修改的表是AUTH_USER,实际应用填写对应表名。 -- 通过时间恢复删除且已提交的数据-- 1…

JDK1.8下载、安装和环境配置使用

JDK1.8下载、安装和配置 下载安装包解压文件配置测试安装 下载安装包 链接地址 https://pan.baidu.com/s/1RF7-ulq0_qAelpXskDxdvA 提取码 d1y0解压文件 jdk1.8.0_181 配置 右击我的电脑,选择属性 2.点击高级系统设置 在系统变量区里点击:新建…

2023年高教社杯数学建模国赛C题详细版思路

C 题 蔬菜类商品的自动定价与补货决策 2023年国赛如期而至,为了方便大家尽快确定选题,这里将对C题进行解题思路说明,以分析C题的主要难点、出题思路以及选择之后可能遇到的难点进行说明,方便大家尽快找到C题的解题思路。 难度排…

【OJ比赛日历】快周末了,不来一场比赛吗? #09.09-09.15 #15场

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号会推送最新的比赛消息,欢迎关注! 以下信息仅供参考,以比赛官网为准 目录 2023-09-09(周六) #5场比赛2023-09-10…

适用于多种场景功能强大的在线海报图片素材设计器源码

源码介绍: 在线海报设计系统素材设计源码是一个漂亮且功能强大的在线海报图片设计器, 仿照稿定设计而成。该系统适用于多种场景,包括海报图片生成、电商分享图、文章长图、 视频/公众号封面等。用户无需下载软件,即可轻松实现创意,迅速完成排版,让设计更简单! 该系统…

JVM学习(五)--方法区

概念: 方法区就是存和类相关的东西,成员方法,方法参数,成员变量,构造方法,类加载器等,逻辑上存在于堆中,但是不同的虚拟机对它的实现不同,oracle的hotsport vm在1.6的时…

U-net网络学习记录

U-net网络 本质上是一个用于图像分割的神经网络 输入是一幅图,输出是目标的分割结果。继续简化就是,一幅图,编码,或者说降采样,然后解码,也就是升采样,然后输出一个分割结果。根据结果和真实分…

基于Simulink的用于电力系统动态分析

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【正版软件】Air Explorer - 一个程序访问您的所有云服务

前言:Air Explorer支持最好的云服务。 功能特点: 直接管理云中的文件 设置同一服务上的多个帐户 您可以在任何云服务或计算机之间同步文件夹 云文件浏览器易于使用 通过加入您的所有云服务来增加存储空间 应用程序适用于Windows/Mac Air Explorer…

vue+antd——table组件实现动态列+表头下拉选择功能——技能提升

Table 表格 展示行列数据。 何时使用 当有大量结构化的数据需要展现时; 当需要对数据进行排序、搜索、分页、自定义操作等复杂行为时。 最近在写vueantd的框架,遇到一个需求:就是要实现table表格的动态列,并且相应的表头要实现下拉…

Scrapy的基本介绍、安装及工作流程

一.Scrapy介绍 Scrapy是什么? Scrapy 是用 Python 实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架(异步爬虫框架) 通常我们可以很简单的通过 Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片。 Scrapy使用了Twisted异步网络框架&…

攻防世界-WEB-NewsCenter

打开环境 有查询,猜测是sql注入 保存请求头到文件中 准备利用sqlmap 查找数据库 python sqlmap.py -r ./123.txt --dbs 查找表 python sqlmap.py -r ./123.txt --tables -D news 查找字段 python sqlmap.py -r ./123.txt --column -D news -T secret_table 显示字…

【Java Web】Servlet规范讲解

目录 一、前言 二、Servlet规范介绍 2.1 常见版本及新功能 2.2 Servlet的作用 2.3 Servlet的本质 三、Servlet接口和实现类 3.1 Servlet接口 3.2 Servlet接口实现类示例 3.3 Servlet接口实现类开发步骤 3.3.1 关键点 3.3.2 引入Servlet源码包 1、描述 Servlet接口…

Java-day13(IO流)

IO流 凡是与输入,输出相关的类,接口等都定义在java.io包下 1.File类的使用 File类可以有构造器创建其对象,此对象对应着一个文件(.txt,.avi,.doc,.mp3等)或文件目录 File类对象是与平台无关的 File中的方法仅涉及到如何创建,…