NTU ML2023Spring Part3.3 CNN
1.NTU ML2023Spring Part02.NTU ML2023Spring Part1(合集)3.NTU ML2023Spring Part2.1 基础知识4.NTU ML2023Spring Part2.2 新手村攻略5.NTU ML2023Spring Part2.3 训不起来怎么办6.NTU ML2023Spring Part2.4 卷积神经网络(CNN)7.NTU ML2023Spring Part2.5 self attention8.NTU ML2023Spring Part2.6 Transformer9.NTU ML2023Spring Part2.7 GAN10.NTU ML2023Spring Part3.1 Regression11.NTU ML2023Spring Part3.2 Classification
12.NTU ML2023Spring Part3.3 CNN
13.NTU ML2023Spring Part3.4 Self AttentionLicense: CC BY-NC-SA 4.0
卷,就硬卷.jpg
Google Colab 的免费 GPU 达到限额了,Kaggle 又没有 GPU 可用[1],只好用旧手机(刷上 postmarketOS)炼丹。Money is all you need,氪不了但是可以挂机。
由于炼丹炉(旧手机)比较破,所以在训的时间删掉了 cnn 层里的 BatchNorm 和 ReLU,并改小了一些参数。事实证明和效果和硬跑差不多。
class Classifier(nn.Module):
def __init__(self):
super(Classifier, self).__init__()
# torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride, padding)
# torch.nn.MaxPool2d(kernel_size, stride, padding)
# input 維度 [3, 128, 128]
self.cnn = nn.Sequential(
nn.BatchNorm2d(3),
nn.Conv2d(3, 64, 3, 1, 1), # [64, 128, 128]
# nn.BatchNorm2d(64),
# nn.ReLU(),
nn.MaxPool2d(2, 2, 0), # [64, 64, 64]
nn.Conv2d(64, 128, 3, 1, 1), # [128, 64, 64]
# nn.BatchNorm2d(128),
# nn.ReLU(),
nn.MaxPool2d(2, 2, 0), # [128, 32, 32]
nn.Conv2d(128, 256, 3, 1, 1), # [256, 32, 32]
# nn.BatchNorm2d(256),
# nn.ReLU(),
nn.MaxPool2d(2, 2, 0), # [256, 16, 16]
nn.Conv2d(256, 256, 3, 1, 1), # [512, 16, 16]
# nn.BatchNorm2d(512),
# nn.ReLU(),
nn.MaxPool2d(2, 2, 0), # [512, 8, 8]
nn.Conv2d(256, 256, 3, 1, 1), # [512, 8, 8]
# nn.BatchNorm2d(512),
# nn.ReLU(),
nn.MaxPool2d(2, 2, 0), # [512, 4, 4]
)
self.fc = nn.Sequential(
nn.Dropout(p=0.1),
nn.Linear(256*4*4, 512),
nn.ReLU(),
nn.Linear(512, 256),
nn.ReLU(),
nn.Linear(256, 11)
)
def forward(self, x):
out = self.cnn(x)
out = out.view(out.size()[0], -1)
return self.fc(out)
最后发现卷积这部分根本不用改,全连接层里加点 dropout 也能训。但是交上去之后只有 0.6 的成绩,连 simple baseline 都达不到。鉴定为菜。
2025.1.28 update:其实是有的,见下一篇(hw4). ↩︎
合集:
NTU ML2023Spring
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探