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,一经查实,立即删除!

相关文章

计算机网络常见端口号

端口号标识了一个主机上进行通信的不同的应用程序。比如网站服务器80端口一般都是开启的,等你来连接。 端口划分: (1)常用端口,公共端口(保留给公共服务所使用),端口号为0-1023之间…

三色标记整理

在并发标记过程中,因为标记期间应用线程还在继续跑,多标漏标的情况有可能发生 把Gcroot可达性分析遍历分析对象过程中遇到的对象,按照知否访问过来标记三种颜色 黑色:表示这个对象已经被垃圾收集器访问过,且所有的引用…

小鹏汽车在滴滴上眺望远方

监制 | 何玺 排版 | 叶媛 小鹏汽车越来越有看头了。 前不久,小鹏汽车宣布与滴滴出行达成战略合作,将采用股票增发形式,收购滴滴旗下的智能电动汽车项目。 预计到2024年,小鹏汽车将依托这次收购的技术和资产,向市场推…

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

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

支持向量机

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

CDN+GitHub搭建图床

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

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

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

实训七:存储过程与触发器 - 存储过程、函数与触发器

存储过程、函数与触发器 第1关:创建存储过程任务描述相关知识存储过程的定义存储过程的创建和查询存储过程的查询和删除 编程要求测试说明参考代码 第2关:创建函数-count_credit任务描述相关知识自定义函数的定义自定义函数的创建 编程要求测试说明参考代…

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

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

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

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

ORACLE 11.2.0.4 RAC Cluster not starting cssd with Cannot get GPnP profile

最近,处理一次oracle 11.2.0.4 rac cluster由于cssd无法启动,导致集群一个节点的CRS集群无法正常启动的故障。原本,计划变更是从ASM剔除磁盘,解除存储到数据库服务器的映射;磁盘已经成功从ASM剔除,也已经成…

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

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

uni-app rich-text组件富文本图片展示不全问题

背景&#xff1a;phpfastadmin富文本插件上传富文本内容到数据库&#xff0c;uni-app渲染富文本内容。这里后端不需要特殊处理。uni-app的rich-text组件展示图片跑板。直接贴代码。 <template><view><title-bar title"会员动态" back backcolor"…

解释区块链技术的应用场景和优势

概述 区块链技术是一种分布式数据库技术&#xff0c;用于存储和传输数字资产&#xff08;如加密货币&#xff09;的信息。它通过将交易记录分散保存到节点网络中的多个节点上&#xff0c;从而保证了数据的安全性和透明度。区块链技术的核心是基于密码学技术的算法&#xff0c;…

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

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

Oralce集群管理-19C RAC 私有网络调整为BOND1

1 尝试在线添加私有网络的新接口 是否成功。 使用oifcfg命令在线添加新的网卡接口&#xff0c;在还没有配置bond1的条件下 也是可以添加成功的。 [gridorcldb1 ~]$ oifcfg getif eno3 192.168.224.0 global public ens3f0 10.2.0.0 global cluster_interconnect,asm eno…

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

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

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

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

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

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

Python之基础数据类型(二)

目录 列表 list初始化切片&#xff08;有序&#xff09;可变数据类型存放任何数据类型 常用方法运算底层存储&#xff08;地址值的传递&#xff09;遍历示例 元组 tuple初始化与list的主要区别是不可变运算与list相互转换 字典 dict初始化删除字典的合并in、not in、values()遍…