- 博客(45)
- 资源 (1)
- 收藏
- 关注
原创 python裁剪nc文件数据
若干个nc文件储存全球的1850-2014年月尺度的mrro数据(或其他数据),从1850-1到2014-12一共1980个月,要提取出最后35年1980.1~2014.12年也就是420个月的数据。
2025-03-25 22:58:24
249
原创 默认参数 d = {} 的陷阱
Python 函数中的默认参数会在函数定义时初始化一次,而非每次调用时重新创建。当连续调用 get_amount(str1)和get_amount(str2)时,第二次调用会 复用第一次调用后的字典,两次的返回值都是d,words_num1 和 words_num2指向的都是字典d的地址?默认参数 d = {} 有陷阱,那么默认参数为空字符串、空列表 string = “” list = [],是否同样存在陷阱?默认参数 s=“” 的不存在陷阱?还是我的实验设置有问题?默认参数为空列表的情况存在陷阱。
2025-03-18 23:24:30
364
原创 动手学深度学习(pytorch)学习记录32-稠密连接网络(DenseNet)[学习记录]
DenseNet(稠密连接网络)是一种深度学习网络架构,由Gao Huang等人于2017年提出。它的核心思想是每一层都与前面所有层相连,这样的设计有助于梯度的传播,减少了梯度消失和爆炸的问题,同时也减少了模型的参数数量。DenseNet的主要构建模块包括稠密块(Dense Block)和过渡层(Transition Layer)。稠密块是DenseNet中的关键组成部分,它由多个卷积层组成,每个卷积层的输出都是后续所有层的输入。这种设计使得每一层都可以利用前面所有层的特征,从而增强了特征的重用和传递。
2024-09-18 14:56:31
1076
3
原创 动手学深度学习(pytorch)学习记录31-批量规范化(batch normalization)[学习记录]
结合残差块,批量规范化使得研究人员可以训练100层以上的网络。批量规范化层的在训练模式中,通过小批量统计数据进行规范化;2、中间层的变量可能具有更广变化范围,由于可变值的范围不同,是否需要对学习率进行调整;· 本文使用了d2l包,这极大地减少了代码编辑量,需要安装d2l包才能运行本文代码。看从第一个批量规范化层中学到的拉伸参数gamma和偏移参数beta。3、深层的网络很复杂,容易过拟合。
2024-09-17 15:15:21
854
原创 动手学深度学习(pytorch)学习记录30-含并行连接的网络(GoogLeNet)[学习记录]
第三个模块串联两个完整的lnception块。这些路径的通道数分配和第三模块中的类似,首先是含3x3卷积层的第二条路径输出最多通道,其次是仅含1x1卷积层的第一条路径,之后是含5x5卷积层的第三条路径和含3x3最大汇聚层的第四条路径。在实际应用中,GoogLeNet的变种如Inception v2、Inception v3等在原有的基础上进行了进一步的优化和改进,例如引入了批量归一化(Batch Normalization)和残差连接(Residual Connections),以提高训练效率和模型性能。
2024-09-12 21:45:22
1400
原创 动手学深度学习(pytorch)学习记录29-网络中的网络(NiN)[学习记录]
网络中的网络(Network in Network,简称NiN)是一种经典的卷积神经网络结构,由Min Lin等人在2013年提出。NiN的核心思想是在传统的卷积神经网络中引入小型的多层感知机(MLP),以增强网络的特征提取能力。NiN的主要特点包括:MLP卷积层(MLP Convolution Layers):NiN通过在卷积层之间加入小型的MLP网络来提取更抽象的特征。这些MLP网络实际上是1x1卷积层,它们可以在保持空间结构的同时,对每个像素位置的通道进行全连接操作。
2024-09-12 10:43:48
915
原创 动手学深度学习(pytorch)学习记录28-使用块的网络(VGG)[学习记录]
原始VGG网络有5个卷积块,其中前两个块各有一个卷积层,后三个块各包含两个卷积层。第一个模块有64个输出通道,每个后续模块将输出通道数量翻倍,直到该数字达到512。由于该网络使用8个卷积层和3个全连接层,因此它通常被称为VGG-11。VGG神经网络连接的几个VGG块(在vgg_block函数中定义)。与AlexNet、LeNet一样,VGG网络可以分为两部分:第一部分主要由卷积层和汇聚层组成,第二部分由全连接层组成。构建一个高度和宽度为224的单通道数据样本,以观察每个层输出的形状。
2024-09-11 16:13:48
751
原创 动手学深度学习(pytorch)学习记录27-深度卷积神经网络(AlexNet)[学习记录]
AlexNet 是由 Alex Krizhevsky、Ilya Sutskever 和 Geoffrey Hinton 在 2012 年提出的深度卷积神经网络,它在当年的 ImageNet 大规模视觉识别挑战赛(ILSVRC)中取得了显著的成绩,从而引起了深度学习和卷积神经网络(CNN)在计算机视觉领域的广泛关注。AlexNet 的成功不仅推动了深度学习在图像识别领域的研究,也为后续的深度学习模型,如 VGG、GoogLeNet 和 ResNet 等奠定了基础。它的出现是深度学习历史上的一个重要里程碑。
2024-09-10 17:35:24
1992
1
原创 动手学深度学习(pytorch)学习记录26-卷积神经网路(LeNet)[学习记录]
这里的二维表示的第一个维度索引小批量中的样本,第二个维度给出每个样本的平面向量表示。LeNet的稠密块有三个全连接层,分别有120、84和10个输出。因为我们在执行分类任务,所以输出层的10维对应于最后输出结果的数量。虽然卷积神经网络的参数较少,但与深度的多层感知机相比,它们的计算成本仍然很高,因为每个参数都参与更多的乘法。节中定义的train_epoch_ch3不同,在进行正向和反向传播之前,需要将每一小批量数据移动到我们指定的设备(例如GPU)上。通过在每一层打印输出的形状,可以检查模型。
2024-09-09 20:02:25
1185
原创 动手学深度学习(pytorch)学习记录25-汇聚层(池化层)[学习记录]
定义一个池化操作,X是张量,pool_size是汇聚层大小,mode默认为max即输出为输入区域的最大值,mode设置为avg时,输出为输入区域的平均值。默认情况下,深度学习框架中的步幅与汇聚窗口的大小相同,如果使用形状为(3,3)的汇聚层窗口,则得到的步幅大小为(3,3)。汇聚层和卷积层的运动方式一样,从左上角向右下角移动指定步幅,汇聚层执行的是“采样”操作。汇聚层是没有参数的。在通道维度上连结张量X和X + 1,以构建具有2个通道的输入。降低卷积层对位置的敏感性,同时降低对空间降采样表示的敏感性。
2024-09-09 14:31:34
769
原创 动手学深度学习(pytorch)学习记录24-填充和步幅[学习记录]
假设输入图像高度为n1,宽度为n2,卷积核高宽为k1、k2,则输出形状为(n1-k1+1)×(n2-k2+1),经过卷积后的图像越来越小,边缘信息不断丢失。假设添加p1行填充(一半在顶部,一半在底部),添加p2列填充(一半在左侧一半在右侧),输出形状为(n1-k1+p1+1)×(n2-k2+p2+1)如果设置了p1=k1-1,p2=k2-1,输出形状简化为[(n1+s1-1)/s1]×[(n2+s2-1)/s2]卷积窗口是从左上角向下向右滑动的,在前面的代码中,滑动的距离是默认的1个元素,即步幅为1。
2024-09-05 22:33:31
540
原创 动手学深度学习(pytorch)学习记录23-图像卷积[学习记录]
接下来,在每次迭代中,比较Y与卷积层输出的平方误差,然后计算梯度来更新卷积核。如下所示,输出Y中的1代表从白色到黑色的边缘,-1代表从黑色到白色的边缘,其他情况的输出为0。当进行互相关运算时,如果水平相邻的两元素相同,则输出为零,否则输出为非零。当卷积核、卷积层变复杂的时候,人工设计卷积核十分困难。所学的卷积核的权重张量和上文设计的卷积核[1,-1]十分接近。将输入的二维图像转置,再进行如上的互相关运算,发现之前构造的卷积核无法检测上下边缘。严格来说,卷积的说法是不太正确的,它执行的操作是互相关运算。
2024-09-02 07:30:00
480
1
原创 动手学深度学习(pytorch)学习记录22-GPU[学习记录]
本次代码在kaggle平台上运行。使用两个T4的GPU使用nvidia-smi命令来查看显卡信息。
2024-08-30 13:52:13
1004
原创 动手学深度学习(pytorch)学习记录20-自定义层[学习记录]
下面的CenteredLayer类要从其输入中减去均值。要构建它,只需继承基础层类并实现前向传播功能。喂一点数据,看它能否按预期工作自定义的层也可以作为组件合并到其他模型中print(net)喂点数据看看,一般来说一堆数据减去均值后再求均值得到的数应该接近0Y.mean()
2024-08-29 22:28:56
688
原创 动手学深度学习(pytorch)学习记录19-参数管理[学习记录]
访问参数,用于调试、诊断和可视化;参数初始化;在不同模型组件间共享参数;延后初始化。
2024-08-28 23:06:36
2246
原创 动手学深度学习(pytorch)学习记录18-层和块[学习记录]
用模型参数声明层。这里声明两个全连接的层# 调用MLP的父类nn.Module的构造函数来执行必要的初始化。# 这样,在类实例化时也可以指定其他函数参数,例如模型参数paramsself.hidden = nn.Linear(20, 256) # 隐藏层self.out = nn.Linear(256, 10) # 输出层# 定义模型的前向传播,即如何根据输入X返回所需的模型输出# 注意,这里我们使用ReLU的函数版本,其在nn.functional模块中定义。# 尝试一下这个函数。
2024-08-28 16:47:46
1327
原创 动手学深度学习(pytorch)学习记录17-房价预测[学习记录]
首先,建立字典DATA_HUB, 它可以将数据集名称的字符串映射到数据集相关的二元组上, 这个二元组包含数据集的url和验证文件完整性的sha-1密钥。所有类似的数据集都托管在地址为DATA_URL的站点上。下面的download函数用来下载数据集, 将数据集缓存在本地目录(默认情况下为…/data)中, 并返回下载文件的名称。如果缓存目录中已经存在此数据集文件,并且其sha-1与存储在DATA_HUB中的相匹配, 将使用缓存的文件,以避免重复的下载。
2024-08-27 21:59:47
1423
1
原创 动手学深度学习(pytorch)学习记录16-暂退法[学习记录]
可以将暂退法应用于每个隐藏层的输出(在激活函数之后), 并且可以为每一层分别设置暂退概率: 常见的技巧是在靠近输入层的地方设置较低的暂退概率。下面的模型将第一个和第二个隐藏层的暂退概率分别设置为0.2和0.5, 并且暂退法只在训练期间有效。# 只有在训练模型时才使用dropout# 在第一个全连接层之后添加一个dropout层# 在第二个全连接层之后添加一个dropout层return out。
2024-08-27 14:25:01
962
原创 动手学深度学习(pytorch)学习记录15-正则化、权重衰减[学习记录]
我们可以通过收集更多的训练数据来缓解过拟合,但这可能成本很高,耗时很多或完全失去控制,在短期内难以做到。假设已经有了足够多的数据,接下来将重点放在正则化技术上。权重衰减是使用最广泛的正则化技术之一,它通常也被称为L2正则化技术方法:通过函数与零之间的距离来度量函数的复杂度;如何精确测量这种‘距离’?一个简单的方法是通过线性函数f(x)=w^(T) x 中权重向量的某个范数(如||w||^2)来度量复杂度最常用的方法是将范数作为惩罚项添加到最小化损失中。
2024-08-25 16:16:54
499
原创 动手学深度学习(pytorch)学习记录14-多项式回归对过拟合欠拟合的探索[学习记录]
使用三阶多项式函数,它与数据生成函数的阶数相同。结果表明,该模型能有效降低训练损失和测试损失。学习到的模型参数也接近真实值([5, 1.2, -3.4, 5.6])再看看线性函数拟合,减少该模型的训练损失相对困难。在最后一个迭代周期完成后,训练损失仍然很高。当用来拟合非线性模式(如这里的三阶多项式函数)时,线性模型容易欠拟合。从生成的数据集中查看一下前2个样本, 第一个值是与偏置相对应的常量特征。实现一个函数以评估模型在给定数据集上的损失。
2024-08-23 20:01:43
300
原创 动手学深度学习(pytorch)学习记录13-多层感知机的从零开始实现[学习记录]
在一些测试数据上应用这个模型。多层感知机的训练过程与。动手实现ReLU函数。与训练相关的一些函数。
2024-08-16 16:58:26
258
原创 动手学深度学习(pytorch)学习记录12-激活函数[学习记录]
对于一个定义域在R中的输入, sigmoid函数将输入变换为区间(0, 1)上的输出。因此,sigmoid通常称为挤压函数(squashing function): 它将范围(-inf, inf)中的任意输入压缩到区间(0, 1)中的某个值。当输入为负时,ReLU函数的导数为0,而当输入为正时,ReLU函数的导数为1。tanh函数的导数图像: 当输入接近0时,tanh函数的导数接近最大值1。sigmoid函数的导数当输入为0时,sigmoid函数的导数达到最大值0.25;简单定义一个画图的函数。
2024-08-16 14:50:07
678
原创 动手学深度学习(pytorch)学习记录11-softmax回归的更简单实现[学习记录]
注:本代码在jupyter notebook上运行通过深度学习框架的高级API实现softmax回归模型更简单。如在中一样, 继续使用Fashion-MNIST数据集,并保持批量大小为256。
2024-08-14 22:29:23
641
原创 小米HEIC格式图片转JPG
小米手机的HEIC图片存储格式是一种高效图像文件格式,全称为High Efficiency Image File Format(高效图像文件格式),它是由MPEG(Moving Picture Experts Group,运动图像专家组)开发,并在近年来逐渐被智能手机制造商,包括小米,所采用。
2024-08-13 23:10:31
2600
原创 动手学深度学习(pytorch)学习记录9-图像分类数据集之Fashion-MNIST[学习记录]
Fashion-MNIST中包含的10个类别,分别为t-shirt(T恤)、trouser(裤子)、pullover(套衫)、dress(连衣裙)、coat(外套)、sandal(凉鞋)、shirt(衬衫)、sneaker(运动鞋)、bag(包)和ankle boot(短靴)。Fashion-MNIST由10个类别的图像组成, 每个类别由训练数据集(train dataset)中的6000张图像和测试数据集(test dataset)中的1000张图像组成。其中每张图像都是28x28像素的灰度图像。
2024-08-13 17:27:25
570
原创 动手学深度学习(pytorch)学习记录8-线性回归的简洁实现[学习记录]
使用框架的预定义好的层。这使我们只需关注使用哪些层来构造模型,而不必关注层的实现细节。首先定义一个模型变量net,它是一个Sequential类的实例。Sequential类将多个层串联在一起。当给定输入数据时,Sequential实例将数据传入到第一层, 然后将第一层的输出作为第二层的输入,以此类推。# nn是神经网络的缩写net = nn.Sequential(nn.Linear(2, 1))# 输入形状2输出形状1计算均方误差使用的是MSELoss类,也称为平方L2范数。
2024-08-12 20:43:08
513
原创 动手学深度学习(pytorch)学习记录7-线性回归的从零开始实现[学习记录]
"""线性回归模型""""""均方损失"""# 6、定义优化算法"""小批量随机梯度下降"""
2024-08-12 20:09:53
485
原创 百度飞桨paddle提供李宏毅的《机器学习》课程、可以使用免费算力一键运行项目,快来一起学习吧
我正在AI Studio学习『李宏毅课程-机器学习』,还可以使用免费算力一键运行项目,快来一起学习吧。https://aistudio.baidu.com/course/introduce/1978?sharedType=1&sharedUserId=2179582&ts=1722737111977
2024-08-04 10:05:46
1830
GoogLeNet网路结构
2024-09-13
动手学深度学习(pytorch)学习记录1数据操作(源码)
2024-08-05
深度学习,CNN经典网络实现,LeNet-5,代码实现MNIST数据集手写数字识别
2024-07-30
metric-learn:Python 中的度量学习代码
2022-09-13
用于离线签名验证的深度多任务度量学习代码
2022-09-13
SAS Viya 环境中数据挖掘和机器学习技术的代码示例和支持材料。
2022-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人