深度学习
文章平均质量分 75
一些深度学习的基础知识
COOLRANEN
这个作者很懒,什么都没留下…
展开
-
Resnet 50 代码复现
输入的通道数为64,在第一个layer层第一个bottleneck中使用一个1x1卷积将通道数由64变为256,与第一个bottleneck的输出通道数匹配,以便于残差相加,1x1卷积的stride=1,特征图尺寸不变。然后第二个layer层的第一个bottleneck中需要下采样,使用1x1卷积,其中stride=2,将尺寸减半,并将通道数加倍,从而可以与bottleneck的最后一个卷积层的通道数匹配,进行残差相加。每个layer层bottleneck的个数分别为3,4,6,3。以下为具体代码的实现。原创 2023-07-11 14:42:59 · 350 阅读 · 0 评论 -
vgg16的复现
1.通过2次[3,3]的卷积层,输出为[224,224,64],在经过最大池化层(卷积核为2x2,stride为2)特征图长宽尺寸减半输出为[112,112,64]4.通过3次[3,3]的卷积层,输出为[28,28,512],在经过最大池化层(卷积核为2x2,stride为2)特征图长宽尺寸减半输出为[14,14,512]5.通过3次[3,3]的卷积层,输出为[14,14,512],在经过最大池化层(卷积核为2x2,stride为2)特征图长宽尺寸减半输出为[7,7,512]具体细节还需要仔细研究原论文。原创 2023-06-29 12:44:16 · 169 阅读 · 1 评论 -
复现 transformer
首先是一些掩码操作这行代码主要是在实现序列屏蔽的过程中构造一个形状为(batch_size, seq_len)大小的布尔型张量mask 其中,元素(i,j)的值为True表示对应输入序列中的第i个样本在位置j上存在有效元素,反之,该位置不存在有效元素。具体而言,valid_len 是一个长度为batch_size的一维张量,表示每个序列中有效元素的数量(seq_len可能大于有效长度)。原创 2023-05-31 17:18:52 · 1117 阅读 · 1 评论 -
利用Cifar10 数据集跑resnet网络
数据集采用的是kaagle⽐赛中的Cifar10,⽹址是比赛数据集分为训练集和测试集,其中训练集包含50000张、测试集包含300000张图像。两个数据集中的图像都是png格式,⾼度和宽度均为32像素并有三个颜⾊通道(RGB这些图⽚共涵盖10个类别:⻜机、汽⻋、⻦类、猫、⿅、狗、⻘蛙、⻢、船和卡⻋。原创 2023-05-24 15:37:22 · 1081 阅读 · 1 评论 -
Resnet 18 及34 的代码复现(基于李沐的动手学深度学习)
BasicBlock模块有两种模式,一种是输入X以后需要用1x1卷积层来进行下采样,从而升维,将通道数加倍,其中的步幅stride=2,一种是不需要1x1卷积层,直接将x与拟合的残差F(X)相加。其中conv_3,conv_4,conv_5的三个模块中每个模块中的第一个残差块的输入输出通道数分别从64——128,128——256,256——512,并需要进行1x1的卷积将输入x下采样,从而保证输出的x的通道数与两层3X3卷积后的通道数一致。上述的num_classes表示需要分类的类别数。原创 2023-05-16 14:12:38 · 1471 阅读 · 0 评论