天氣轉冷讓人昏昏欲睡呀~~ 鐵人賽倒數幾天的文章,但所剩時間也沒多少,加上最近身體狀況不佳,好像也不能熬夜趕工了,有點力不從心Q
只能今天早點休息,明天繼續啦!
1.下載主辦方釋出的公開測試資料集
2.EfficientNet_V2_l訓練結果
3.只使用1000個batch對預訓練ResNet-34模型進行遷移式學習
順利申請到,將測試資料集的多個檔案下載,供明後天使用。
昨天晚上的訓練共計10個小時,才完成一個Epoch共7162個batch的資料訓練,訓練好的模型先暫存起來,等測試資料都下載完,在對資料進行預測,並上傳到競賽平台確認模型表現。
在驗證集的準確率為49.3%,表現似乎較AlexNet好(尚未經過交叉驗證)
從原先7162個batch,改為只使用1000個batch進行遷移式學習
# Download pretrained model
model_resnet34 = torchvision.models.resnet34(pretrained=True).to(device)
# Transfer Learning: (方法_2)ConvNet as fixed feature extractor
for param in model_resnet34.parameters():
param.requires_grad = False # 不自動更新參數:把所有層數都凍結(freeze the weights)
# Parameters of newly constructed modules have requires_grad=True by default
num_ftrs = model_resnet34.fc.in_features # 最後一層輸入器的輸入維度
model_resnet34.fc = torch.nn.Linear(num_ftrs, 33) # 33: numbers of output class
model_resnet34 = model_resnet34.to(device)
criterion = torch.nn.CrossEntropyLoss()
# Only parameters of final layer are being optimized
optimizer_conv = torch.optim.SGD(model_resnet34.fc.parameters(), lr=0.001, momentum=0.9) # 只對最後一層參數做更新(指定最後一層:model_conv.fc)
exp_lr_scheduler = torch.optim.lr_scheduler.StepLR(optimizer_conv, step_size=7, gamma=0.1)
### Train and evaluate
model_resnet34 = train_model(model_resnet34, criterion, optimizer_conv, exp_lr_scheduler,
train_batch_numbers=1000, num_epochs=1)
完成兩個模型訓練(AlexNet和EfficientNet)。
將訓練時間縮短,並用競賽平台提供的測試資料進行不同圖片預處理的實驗,以了解有哪些方式是較有機會提升模型預測表現。
心得小語:
這個周末要好好休息睡到飽!!!
今日工時: 50min*1
如果生活把你打倒,那乾脆就直接躺著休息一下吧!
If life knocks you down, then just stay lying down.