<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【數(shù)據(jù)競賽】圖像賽排行榜拉開100名差距的技巧

          共 2177字,需瀏覽 5分鐘

           ·

          2021-02-06 16:37

          作者:??塵沙風塵


          Kaggle圖像賽上分技巧之TTA: Test Time Aug


          • 1??TTA(Test Time Aug)

            • 1.1??簡介

            • 1.2??案例(keras)

              • 1.2.1??導(dǎo)入適合當前問題的預(yù)測器(ClassPredictor用于分類,SegPredictor用于分割)

              • 1.2.2??用配置和所需的任何參數(shù)實例化類

              • 1.2.3??對圖片進行預(yù)測

              • 1.2.4??實驗結(jié)果

            • 1.3??小結(jié)

          • 2??參考文獻

          簡介


          我們都知道對我們的訓(xùn)練數(shù)據(jù)進行翻轉(zhuǎn),平移,縮放等擴充的操作往往可以獲得一個訓(xùn)練更好的網(wǎng)絡(luò)模型,這些擴充操作往往可以幫助我們的模型更好的挖掘到那些對于位置,光照等信息不敏感的信息,從而具有更好的泛化性,得到更好的預(yù)測結(jié)果。那既然訓(xùn)練集的數(shù)據(jù)可以擴充,測試集呢?

          Bingo!沒錯,測試集也是可以采取類似的操作。而這種操作我們稱之為TTA(Test Time Augmentation),顧名思義就是在測試的階段對數(shù)據(jù)進行擴充。

          TTA是一個非常通用的Trick,目前幾乎絕大多數(shù)圖像相關(guān)的競賽都會使用到,而且基本是99%都能帶來線上排行榜的提升。那么究竟是怎么做的呢?其實很簡單:

          就是在模型測試時,對原始的測試圖像進行各種策略的擴充,例如:

          • 圖像裁剪;
          • 圖像縮放;
          • 圖像旋轉(zhuǎn);
          • 圖像平移;
          • ...

          然后我們將預(yù)測的結(jié)果進行某種程度的融合,最常見的就是取平均值,然后將該分數(shù)作為最終的預(yù)測分數(shù)。

          TTA操作較早出現(xiàn)在2015年ICLR的論文"Very Deep Convolutional Networks for Large-Scale Image Recognition"

          We also augment the test set by horizontal flipping of the images; the soft-max class posteriors of the original and flipped images are averaged to obtain the final scores for the image.


          案例(基于Keras)


          以kaggle Dogs VS Cats為例,?edafa (TTA package)


          1. 導(dǎo)入適合當前問題的預(yù)測器(ClassPredictor用于分類,SegPredictor用于分割)

          from?edafa?import?ClassPredictor?

          2.繼承預(yù)測器類并實現(xiàn)主函數(shù):predict_patches(self,patches)

          class?myPredictor(ClassPredictor):
          ????def?__init__(self,model,*args,**kwargs):
          ????????super().__init__(*args,**kwargs)
          ????????self.model?=?model

          ????def?predict_patches(self,patches):
          ????????return?self.model.predict(patches)

          3. 用配置和所需的任何參數(shù)實例化類

          conf?=?'{"augs":["NO",\
          ????????????????"FLIP_LR"],\
          ????????"mean":"ARITH"}'

          4. 對圖片進行預(yù)測

          p?=?myPredictor(model,conf)
          y_pred_aug?=?p.predict_images(X_val)
          y_pred_aug?=?[(y[0]>=0.5).astype(np.uint8)?for?y?in?y_pred_aug?]
          print('Accuracy?with?TTA:',np.mean((y_val==y_pred_aug)))

          5. 實驗結(jié)果

          • 使用TTA:Accuracy with TTA: 0.7892
          • 不適用TTA:Accuracy without TTA: 0.7852571428571429
          小結(jié)


          TTA技術(shù)目前是各大圖像相關(guān)的數(shù)據(jù)競賽的必備技能之一,它能為最終的成績帶來非常大的幫助,也是目前圖像賽的必備技能之一,趕緊收藏吧!

          參考文獻


          1. Kaggle小技巧:TTA(test time augmentation)測試時加強:https://www.shangmayuan.com/a/0e4942dc496047bb95c5806c.html
          2. https://github.com/qubvel/ttach
          3. https://www.kaggle.com/andrewkh/test-time-augmentation-tta-worth-it


          往期精彩回顧





          本站知識星球“黃博的機器學(xué)習圈子”(92416895)

          本站qq群704220115。

          加入微信群請掃碼:

          瀏覽 61
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  婷婷在线视频 | 小穴喷白浆在线 | 日韩一级a免费在线视频 | 亚洲理伦 | 欧美成人性爱免费在线 |