第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

提高多類圖像分類器的準確性

提高多類圖像分類器的準確性

江戶川亂折騰 2022-12-06 15:34:56
我正在使用 Food-101 數(shù)據(jù)集構建分類器。該數(shù)據(jù)集具有預定義的訓練集和測試集,均已標記。它共有 101,000 張圖像。我正在嘗試為 top-1 構建一個 >=90% 準確度的分類器模型。我目前坐在 75%。提供的訓練集不干凈。但是現(xiàn)在,我想知道我可以改進我的模型的一些方法以及我做錯了什么。我已將訓練圖像和測試圖像劃分到各自的文件夾中。在這里,我使用 0.2 的訓練數(shù)據(jù)集通過運行 5 個時期來驗證學習者。np.random.seed(42)data = ImageList.from_folder(path).split_by_rand_pct(valid_pct=0.2).label_from_re(pat=file_parse).transform(size=224).databunch()top_1 = partial(top_k_accuracy, k=1)learn = cnn_learner(data, models.resnet50, metrics=[accuracy, top_1], callback_fns=ShowGraph)learn.fit_one_cycle(5)epoch   train_loss  valid_loss  accuracy    top_k_accuracy  time0       2.153797    1.710803    0.563498    0.563498    19:261       1.677590    1.388702    0.637096    0.637096    18:292       1.385577    1.227448    0.678746    0.678746    18:363       1.154080    1.141590    0.700924    0.700924    18:344       1.003366    1.124750    0.707063    0.707063    18:25在這里,我試圖找到學習率。在講座中的表現(xiàn)非常標準:learn.lr_find()learn.recorder.plot(suggestion=True)LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.Min numerical gradient: 1.32E-06Min loss divided by 10: 6.31E-08使用 1e-06 的學習率再運行 5 個 epoch。將其保存為 stage-2learn.fit_one_cycle(5, max_lr=slice(1.e-06))learn.save('stage-2')epoch   train_loss  valid_loss  accuracy    top_k_accuracy  time0       0.940980    1.124032    0.705809    0.705809    18:181       0.989123    1.122873    0.706337    0.706337    18:242       0.963596    1.121615    0.706733    0.706733    18:383       0.975916    1.121084    0.707195    0.707195    18:274       0.978523    1.123260    0.706403    0.706403    17:04之前我總共運行了 3 個階段,但模型沒有改進超過 0.706403,所以我不想重復。下面是我的混淆矩陣。我為糟糕的決議道歉。這是 Colab 的功勞。因為我已經創(chuàng)建了一個額外的驗證集,所以我決定使用測試集來驗證已保存的 stage-2 模型,看看它的表現(xiàn)如何:path = '/content/food-101/images'data_test = ImageList.from_folder(path).split_by_folder(train='train', valid='test').label_from_re(file_parse).transform(size=224).databunch()learn.load('stage-2')learn.validate(data_test.valid_dl)這是結果:[0.87199837, tensor(0.7584), tensor(0.7584)]
查看完整描述

1 回答

?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

  • 嘗試從 torchvision 變換中進行增強,例如 RandomHorizontalFlip、RandomResizedCrop、RandomRotate、Normalize 等。這些總是對分類問題有很大幫助。

  • 標簽平滑和/或混合精度訓練。

  • 只需嘗試使用更優(yōu)化的架構,例如 EfficientNet。

  • 代替 OneCycle,更長時間、更手動的訓練方法可能會有所幫助。嘗試權重衰減為 5e-4 且 Nesterov 動量為 0.9 的隨機梯度下降。使用大約 1-3 個 epoch 的熱身訓練,然后進行大約 200 個 epoch 的常規(guī)訓練。您可以設置手動學習率計劃或余弦退火或其他一些方案。整個方法將比通常的單周期訓練消耗更多的時間和精力,只有在其他方法沒有顯示出可觀的收益時才應探索。


查看完整回答
反對 回復 2022-12-06
  • 1 回答
  • 0 關注
  • 127 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號