疏老师-python训练营-Day43复习日

@浙大疏锦行
作业:

kaggle找到一个图像数据集,用cnn网络进行训练并且用grad-cam做可视化

进阶:并拆分成多个文件

一.知识点的复习

在传统的机器学习中咱们也有增强,有ros有smote,但是深度学习并不一样。

接下来开始看代码,可以看到训练集确实多好几行。

在下图中,我把老师代码的True,改成了False,因为我已经有这个数据集了。

来到CNN模型

再学习CNN模型也就是老师的计算机视觉讲义之前,我去看了一个十五分钟左右的视频,很生动对于理解一级棒。以下是我的理解,并且豆包给我补充了一下。

而且需要注意,有一个东西叫输出通道,我当时和老师文档里的output_size搞混了,导致我看不懂代码。输出通道等于卷积核的数量而且是一个超参数,而不是输出尺寸。

现在开始看CNN模型代码

然后我看到第二个卷积,它的输入通道数尽然是32难道不是16吗,当然不是啊。那是因为我不清楚池化层的作用,看一下豆包的解析。明白了所谓的池化并不会缩减通道数而是会压缩图片的输出尺寸。

接下里继续看,卷积第2层的代码

接下来开始看全连接层的代码

看一下前向函数

接下来学习batch归一化

这个特征图day42有讲

调度器的学习

代码理解

对于该段代码,生动的理解一下

理解一下下图红框内的代码

对于data和target可以理解为

学习一下学习率调度器的实际使用

最后是画图,会发现plot_epoch_metrics里面有下图红框里的代码,但是plot_iter_losses也是画图却没有这一行,其实很简单。看下面两张图的红框和豆包老师的解释就行。

好了对于day41的逐行复习代码(或者说重学一遍)结束啦。接下来开始day42的hook函数和中间过程可视化复习

DAY42

先看一下到底什么是中间层

接下来开始学习hook函数。

接下来学习装饰器(下图),这一个好难理解,咱们之前学习过的装饰器在下下图(很简单)。看一下显而易见的区别(在下下图有写)。

然后是lambda函数的学习,很简单,过。

然后是hook函数和后续的中间层可视化的学习

然后注意本段代码

然后看这段代码的运行结果,要是经过全连接层都展平了,形状不长这样。

然会咱们可以看一下这个list的尺寸,发现只有一个元素,这个元素是个张量。

理解这段代码

二.

我今天不做这个作业了,我要好好地花时间把cnn卷积神经网络流程再学习一遍,再学习hook函数(这些概念不是很好理解),我从8月头开始还要学习matlab的编程和基础的专业知识不能把精力全部投放在深度学习领域上了,所以对于cnn领域学的不好,导致我hook函数也不太理解。今天重新学习这两节内容。day42还有反向钩子没弄完,再开一页弄,我先提交了。

相关推荐
第九序言T7 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
Java后端的Ai之路7 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
qq_426003967 小时前
UI自动化高频次登录login限流解决方案
python·ui·自动化
Sakura_j_h_7 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
龙亘川8 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人8 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
quantdash_cc8 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
I Am a robert girl8 小时前
当智能体学会“串通”:从长程交互中读懂涌现式合谋
python·多智能体系统·多智能体协作·llm agent·涌现式合谋·对齐问题·激励机制设计
Raas1009 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
云和数据.ChenGuang9 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain