清华青年AI自强作业hw6:基于ResNet实现IMAGENET分类任务

news2024/9/21 2:33:26

清华青年AI自强作业hw6:基于ResNet实现IMAGENET分类任务

    • 简述
    • 作业实现
    • 相关链接

在这里插入图片描述

一起学AI系列博客:目录索引

简述


hw6作业为基于ResNet模型,并利用VGG标准模块和GoogleNet中的inception模块对IMAGENET数据集进行20类分类。模型输入图像尺寸为299*299,输出为softmax后的20分类。

观察参考代码发现需要使用IMAGENET处理好后的数据ILSVRC2012_20_tfrecord,由于缺乏实验数据,本次作业不进行实战,只对TF1.x版本的参考代码进行思路梳理学习。

  • 相应实现源码见代码仓:https://github.com/ioMayday/Tsinghua_Youth_AI/tree/master/homework
  • 相关keras使用指导:https://keras.io/zh/getting-started/sequential-model-guide/

作业实现


  • project文件架构
    • test:测试一张图是否正确
      • read_data(获取数据及数据增强等预处理)
      • EX6_NET(核心模型定义)
        • utils(参数设置模块)
    • finetune:预训练模型调优
      • read_data
      • EX6_NET
    • 说明
      • 仅分20类
      • 训练集样本:26000
      • 验证集样本:1000

从代码中,可以判断模型应该是基于ResNet,其中EX6_NET.py是核心网络搭建文件。

在这里插入图片描述

ResNet网络模型结构

代码中模型结构为:

  • 299 x 299 x 3, 卷积层,3x3
  • 149 x 149 x 32
  • 147 x 147 x 32
  • 147 x 147 x 64 # 加最大池化3x3,有分支,resnet直连
  • 73 x 73 x 160 # 加最大池化3x3,有分支,resnet直连
  • 71 x 71 x 192 # 加最大池化3x3,有分支,resnet直连
  • 35 x 35 x 384 # 两个inception模块
  • 35 x 35 x 384 # Reduction block卷积加下采样
  • 17 x 17 x 384 # 普通卷积3x3
  • 8 x 8 x 300 # 普通卷积3x3

该模型中,用到VGG里的标准模块+堆叠(3x3、1x1、1xn、nx1),GoogleNet里的inception,ResNet中的(Branch_0/Branch_1部分)分支直连特性。

在这里插入图片描述

GoogleNet中Inception模块

这里插入图片描述

VGG16中标准卷积模块堆叠加深

在这里插入图片描述
在这里插入图片描述

ResNet短接直连特性

相关链接


  1. 文科生都能零基础学AI?清华这门免费课程让我信了,link
  2. 清华青年AI自强作业hw2:线性回归预测,link
  3. 清华青年AI自强作业hw3_1:用线性回归模型拟合MNIST手写数字分类,link
  4. 清华青年AI自强作业hw3_2:前向传播和反向传播实战,link
  5. 清华青年AI自强作业hw3_3:用NN网络拟合MNIST手写数字分类,link
  6. 清华青年AI自强作业hw4:基于DNN实现狗狗二分类与梯度消失实验,link
  7. 清华青年AI自强作业hw5:基于CNN实现CIFAR10分类任务,link

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

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

相关文章

特征选择算法 | Matlab实现基于互信息特征选择算法的回归数据特征选择 MI

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 特征选择算法 | Matlab实现基于互信息特征选择算法的回归数据特征选择 MI 部分源码 %--------------------

OpenCV红色图像上用绿色画了两条线

// 红色图像上 画上蓝色的线 // 在图中画一条直线 函数原型 // 函数作用 // 给定一个图像img,连接点pt1和pt2的坐标,在图中画一条直线,color表明线的颜色cv.line() // 其中需要注意的是,点坐标(x, y)中,x代表图片的列,y代表图片的行 // CvPoint pt1, //直线起点 // CvPoi…

Android - AIDL

一、概念 二、使用 2.1 Server 端 2.1.1 创建 .aidl 文件 Module右键→New→AIDL→AIDL File(如果不可选,在build.gradle的buildFeatures节点添加aidl true)。 在创建的接口中定义抽象方法。 interface IDemoAidlInterface {//自己的业…

MySQL库表的简单操作

1.创建数据Market,在数据库中创建表customers,表结构如图 (1)创建数据库Market create database Market; (2)创建数据表customers,在c_num字段添加主键约束,c_birth字段上添加非空约束 create table customers&#…

IDEA 导入多模块项目并设置运行

1、导入多模块项目 导入的步骤点击左上角File->New->Module from Existing Sources,最后点击选择项目的pom文件即可 2、设置模块 如果pom.xml文件是灰色并且有横杠,则需要这样设置: 把√去掉。 项目结构如图所示: 本项…

Linux下如何使用git?如何搭建自己的库?

前言: 本文主要介绍如何在 Linux 中使用 git 、gitee 账号注册、如何新建远程仓库与本地仓库 以及 git 的常用指令。 一.安装git 切换至 root 用户身份,输入指令: yum install -y git使用 sudo 指令; sudo yum install -y git二…

《Redis 核心技术与实战》课程学习笔记(四)

Redis 持久化机制 AOF日志:宕机了,Redis 如何避免数据丢失? 一旦服务器宕机,内存中的数据将全部丢失。目前,Redis 的持久化主要有两大机制,即 AOF 日志和 RDB 快照。 AOF 日志是如何实现的? …

【架构设计】架构知识体系

文章目录 1、什么是架构和架构本质2、架构分类2.1、业务架构(俯视架构)2.2、应用架构(剖面架构,也叫逻辑架构图)2.2.1、职责划分: 明确应用(各个逻辑模块或者子系统)边界2.2.2、职责之间的协作&…

[TPAMI 2022] 神经网络元学习:综述

Meta-Learning in Neural Networks: A Survey | IEEE Journals & Magazine | IEEE Xplore Meta-Learning in Neural Networks: A Survey 摘要: 近年来,元学习(或“学会学习”)领域的兴趣急剧上升。与使用固定学习算法从头开…

TensorFlow: mode.save()报错 non-trackable object: (None, None)

问题描述 环境:tensorflow2.2.0 执行model.save(), 报错 ...non-trackable object: (None, None)... 解决办法 搞了半天没有找到好的办法,只能通过升级搞定 pip uninstall tensorflow pip install tensorflow2.6.0 pip install --upgrade keras2.6…

机器学习算法总结

机器学习算法 参考博客:https://blog.csdn.net/lemonbit/article/details/125775595#:~:text干货| 机器学习模型与算法最全分类汇总! 1 线性回归、逻辑回归、Lasso回归、Ridge回归、线性判别分析 2 K近邻、决策树、感知机、神经网络、支持向量机 3,AdaBo…

用for循环打印图形

目录 一、打印矩形 二、打印直角三角形 1.直角三角形 2.打印九九乘法表 三、打印等腰三角形 四、打印平行四边形 五、打印菱形 六、打印两个直角三角形 1.打印两个直角三角形 2.打印倒着的两个直角三角形 七、打印“蝴蝶” 一、打印矩形 //打印矩形for (int i 0; i < a;…

win10 python3.7 pycharm安装dlib库报错

使用pycharm安装dlib一直报错 心态有点崩 好在没有放弃 解决了 报错 note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure. 解决&#xff1a;直接好用的就是安装.whl文件 将下载好对应Python3.7版本的.whl…

C#中委托(delegate) 事件(event) Action<T>和Func<T,TResult>(泛型委托) 的区别

最近开发C#项目,发现有很多关键字不认识,特此笔记: 委托(delegate) 委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用,相当于C++中函数指针 的概念。 我们经常遇到的EventHandler 、其实就是一个委托、大家看看它的定义 使用如下: public delegate v…

Verilog学习笔记4:二选一逻辑

代码1&#xff1a; timescale 1ns/10psmodule fn_sw(a,b,sel,y); input a,b,sel; output y; assign y(sel)?a^b:a&b;endmodulemodule fn_sw_tb;reg A,B,sel; wire Y; fn_sw fn_sw(.a(A),.b(B),.sel(sel),.y(Y));initial begin sel<0;A<0;B<0;#10 sel<0;A&l…

【编程语言 · C语言 · 结构与结构】

【编程语言 C语言 结构与结构】https://mp.weixin.qq.com/s/NENaQ8wmO690g3HqNNO0cQ

Go语言程序设计(十五)接口

一、接口的概念 简单地说&#xff0c;Interface是一组Method的组合,可以通过Interface来定义对象的一组行为。如果某个对象实现了某个接口的所有方法&#xff0c;就表示它实现了该“接口”&#xff0c;无须显式地在该类型上添加接口说明。 假设定义了两个对象Teacher和…

SQL-每日一题【550.游戏玩法分析Ⅳ】

题目 Table: Activity 编写一个 SQL 查询&#xff0c;报告在首次登录的第二天再次登录的玩家的比率&#xff0c;四舍五入到小数点后两位。换句话说&#xff0c;您需要计算从首次登录日期开始至少连续两天登录的玩家的数量&#xff0c;然后除以玩家总数。 查询结果格式如下所示…

MYSQL的基本数据类型和建库

1.创建数据库&#xff0c;删除数据库&#xff0c;查询创建数据的语句&#xff0c;使用数据库&#xff0c;查询当前默认的数据库以及使用的编码方式校验规则 2.数字&#xff0c;文本&#xff0c;日期 在一章表中定义多个字段&#xff0c;要使用今天提到的所有的数据类型 1创建数…

10款设计师常用的APP页面设计软件

APP页面设计是APP实施过程中的关键步骤&#xff0c;APP页面设计是不是别具一格&#xff0c;取决于消费者对APP最直观的视觉效果分辨。 要创建一个令人惊讶的APP页面设计&#xff0c;一个高效率的APP界面设计软件是不可缺少的。 本文列出10款最流行的APP界面设计软件&#xff…