tensorflow2 SqueezeNet

news2024/10/6 18:23:28

前面学习了通过加深网络和加宽网络来改进模型质量,提高模型精度的深度学习backbone模型(LeNet,VGGNet,AlexNet,GoogleNet,ResNet),这里介绍如何使网络更快,结构更轻量化的改进深度神经网络模型之一————SqueezeNet,它能够在ImageNet数据集上达到AlexNet近似的效果,但是参数比AlexNet少50倍。
SqueezeNet 的主要思想如下:

  • 多用 1x1 的卷积核,而少用 3x3 的卷积核。因为 1x1 的好处是可以在保持 feature map size 的同时减少 channel,使模型参数减少为原来的1/9
  • 在用 3x3 卷积的时候尽量减少 channel 的数量,从而减少参数量。
  • 延后用 pooling,因为 pooling 会减小 feature map size,延后用 pooling, 这样可以使 size 到后面才减小,而前面的层可以保持一个较大的 size,更大的size保留了更多的信息,可以提高分类准确率,缺点是会增加网络的计算量。
    基于上面的思想, 研究人员提出了 fire module,其结构如下:
    在这里插入图片描述
    SqueezeNet模型结构采用如下结构:
    在这里插入图片描述
import tensorflow as tf
import os
from tensorflow.keras.layers import *
from tensorflow.keras import Model
import numpy as np
class FireBlock(Model):
    def __init__(self,s_filters_num,e_filters_num):
        super().__init__()
        self.squeeze=Conv2D(filters=s_filters_num,kernel_size=1,padding='same',activation='relu')
        self.expand_1=Conv2D(filters=e_filters_num,kernel_size=1,padding='same',activation='relu')
        self.expand_3=Conv2D(filters=e_filters_num,kernel_size=3,padding='same',activation='relu')
    def call(self,x):
        x=self.squeeze(x)
        x1=self.expand_1(x)
        x2=self.expand_3(x)
        y=tf.concat([x1,x2],-1)
        return y
class SqueezeNet(Model):
    def __init__(self):
        super().__init__()
        self.c1=Conv2D(filters=96,kernel_size=7,padding='same',strides=2,activation='relu')
        self.p1=MaxPooling2D(pool_size=(3,3),strides=2)
        self.f1=FireBlock(16,64)
        self.f2=FireBlock(16,64)
        self.f3=FireBlock(32,128)
        self.p2=MaxPooling2D(pool_size=(3,3),strides=2)
        self.f4=FireBlock(32,128)
        self.f5=FireBlock(48,192)
        self.f6=FireBlock(48,192)
        self.f7=FireBlock(64,256)
        self.p3=MaxPooling2D(pool_size=(3,3),strides=2)
        self.f8=FireBlock(64,256)
        self.c4=Conv2D(filters=1000,kernel_size=1,padding='same',activation='relu')
        self.p4=GlobalAveragePooling2D()
    def call(self,x):
        x=self.c1(x)
        x=self.p1(x)
        x=self.f1(x)
        x=self.f2(x)
        x=self.f3(x)
        x=self.p2(x)
        x=self.f4(x)
        x=self.f5(x)
        x=self.f6(x)
        x=self.f7(x)
        x=self.p3(x)
        x=self.f8(x)
        x=self.c4(x)
        y=self.p4(x)
        return y
model=SqueezeNet()  

上面为基于tensorflow2.4封装好的SqueezeNet,通过加载数据集,模型编译(model.compile())后就行训练模型了,我的笔记本电脑显卡不行,我只试运行了一下,可以训练数据。
参考:
SqueezeNet详解
SqueezeNet详细解读
深度学习中的经典基础网络结构(backbone)总结

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

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

相关文章

【JavaWeb】文件的上传和下载

文章目录一.文件的上传介绍⭐️1.文件上传及HTTP协议的说明2.commons-fileupload.jar常用API介绍说明二.文件下载⭐️一.文件的上传介绍⭐️ 1.文件上传及HTTP协议的说明 (1).要有一个form标签,methodpost请求 (2).form标签的encType属性值必须为multipart/form-data值 (3).在…

VTK在Windows上的安装

本章介绍在计算机系统上安装VTK。在Microsoft Windows上,可以安装预编译的vtk.exe,也可以从源码自行编译vtk软件。您可能希望了解系统架构,阅读会使编译过程更容易跟踪。如果遇到问题,可以联系vtkusers邮件列表。 2.1 概述 VTK在…

【HTML + CSS】笔记

页面设计 1.HTML&#xff1a;结构框架 2.CSS 3.JS HTML&#xff1a;超文本标记语言 <...>&#xff1a;标签/元素 <!DOCTYPE html>&#xff1a;解释文档类型为html head区域常用标签 <base> 使用后浏览器不再使用当前文档的URL&#xff0c;而使用指定的…

web前端设计与开发期末作品/期末大作业-疫情

Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业&#xff0c;击疫情致敬逆行者感人类题材 | 致敬逆行者网页设计作品 | 大学生抗疫感动专题网页设计作业模板 | 等网站的设计与制作 | HTML期末大学生网页设计作业 HTML&#xff1a…

Windows之应用安装程序 —— winget

大家都用过Linux中的应用程序安装工具&#xff0c;如yum、apt、rpm等工具进行安装自己想要的一些工具或则软件之类的&#xff0c;当然Linux操作系统还是很强大的有很多类似的命令来安装我们所需要的程序&#xff0c;但是windwos有没有类似于windows这样的应用安装程序呢&#x…

可解释的AI:用LIME解释扑克游戏

可解释的AI&#xff08;XAI&#xff09;一直是人们研究的一个方向&#xff0c;在这篇文章中&#xff0c;我们将看到如何使用LIME来解释一个模型是如何学习扑克规则的。在这个过程中&#xff0c;我们将介绍: 如何将LIME应用到扑克游戏中;LIME如何工作;LIME 的优点和缺点是什么。…

免费查题系统搭建

免费查题系统搭建 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 查题校园题库&#xff1a;查题校园题库后台&#xff08;点击跳…

STM32存储器组织-STM32存储器映像-嵌入式SRAM-STM32位段-嵌入式闪存-STM32启动配置

STM使用说明第二篇【1】STM32存储器组织【2】STM32存储器映像【3】嵌入式SRAM【4】STM32位段【5】嵌入式闪存【6】STM32启动配置【1】STM32存储器组织 程序存储器、数据存储器、寄存器和输入输出端口被组织在同一个4GB的线性地址空间内。 数据字节以小端格式存放在存储器中。一…

【Java】IO流 - 节点流和处理流【Buffered】

文章目录节点流和处理流BufferedReaderBufferedWriterBufferd拷贝BufferedInputStream/BufferedOutputStream节点流和处理流 数据源就是存放数据的地方&#xff0c;可以是 文件、数组 等等&#xff1b; 节点流是比较底层的&#xff0c;直接操作二进制数据 包装流&#xff08;处…

石英砂过滤器 多介质过滤器 活性炭过滤器

石英砂过滤器简介 石英砂过滤器属于机械过滤器的一种为压力式过滤器&#xff0c;采用ABS蘑菇型水帽布水&#xff0c;内装若干种规格精制石英砂滤料&#xff0c;阻力小&#xff0c;通量大。利用过滤器内所装的填料来截留去除水中悬浮微粒和胶体杂质。当过滤器因滤层污脏&#x…

解决git配置多个SSH公钥的问题

项目场景&#xff1a; 之前跟同事共用一个项目私密仓库&#xff0c;现需拆分成两个仓库&#xff0c;结果同事提出他不想换&#xff0c;让我这边再创建一个新仓库。 那么接下来就遇到一个情况&#xff0c;原来仓库的公钥我并不想删除&#xff0c;还想继续使用&#xff0c…

Ubuntu20.04沉浸式装机

Ubuntu20.04沉浸式装机 文章目录Ubuntu20.04沉浸式装机前言1.装机之后系统更新&#xff0c;设置软件源2.安装系统驱动Notice3 安装CUDA及CuDNN4 常用软件安装4.1 常用软件安装4.2 Typora安装4.3 docker安装4.4 nvidia-docker 安装4.5 pypcd 安装4.6 PCL安装环境安装4.7 Eigen安…

Python学习基础笔记七——元组

元组tuple&#xff0c;跟列表相似&#xff0c;元组不能在原处修改。元组不支持任何方法调用&#xff0c;但是元组具有列表的大多数属性。 但是要记住的是&#xff1a;元组的不可变性只适用于元组本身&#xff0c;并非其内容。例如元组内部的列表是可以像往常一样修改的。 元组常…

Go1.20 arena新特性示例详解

当时我们还想着 Go 团队应该不会接纳&#xff0c;至少不会那么快&#xff1a; 懒得翻也可以看我再次道来&#xff0c;本文提到的提案《proposal: arena: new package providing memory arenas》&#xff0c;这其中的 Arena 将会是一个突破项。 快速背景 Arena 指的是一种从一个…

Java接口的应用

目标&#xff1a;总结Comparable接口以及compareTo方法、comparator接口中compare方法比较器、toString方法、equals方法、hashCode方法、Cloneable接口以及深浅拷贝 比较对象中内容的大小【Comparable接口以及compareTo方法】 例如&#xff1a;学生类&#xff1a;成员有姓名、…

计算机网络4小时速成:数据链路层,功能,封装成帧,透明传输,差错控制,PPP协议,广播信道,以太网,MAC层,设备

计算机网络4小时速成&#xff1a;数据链路层&#xff0c;功能&#xff0c;封装成帧&#xff0c;透明传输&#xff0c;差错控制&#xff0c;PPP协议&#xff0c;广播信道&#xff0c;以太网&#xff0c;MAC层&#xff0c;设备 2022找工作是学历、能力和运气的超强结合体&#x…

Linux C/C++ 学习笔记(四):MYSQL安装与远程连接

问题及解决 对配置文件中绑定的IP地址进行修改 通过Mysql workbench连接MySQL数据库时出现错误 需要对mysq的配置文件进行修改&#xff0c;配置文件是/etc/mysql下的my.cnf 绑定的地址是一个回环地址&#xff0c;不能对外使用 将其修改为0.0.0.0。 0.0.0.0不是一个真正意义…

MySQL主从数据库(主读从写)

MySQL多数据源MySQL主从数据库&#xff08;主读从写&#xff09;1. 多数据源的实现原理1.1 配置多数据源yml文件1.2 创建配置类1.3 动态切换数据源类继承AbstractRoutingDataSource 类1.4 测试类测试1.5 附枚举代码1.6 总结2. 多数据源切换方式&#xff08;优化&#xff09;2.1…

HTML做一个简单漂亮的宠物网页(纯html代码) 带视频 带音乐 带报告

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 宠物网页设计 | 保护动物网页 | 鲸鱼海豚主题 | 保护大象 | 等网站的设计与制作 | HTML宠物网页设计 | HTML期末大学生网页设计作业 HTML&#xff1a;…

酒水推荐商城|基于Springboot实现酒水商城系统

作者主页&#xff1a;编程指南针 作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容&#xff1a;Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路 关注作者有好处 文末获取源…