胃腸道分割Baseline

Baseline跑通遇到的問(wèn)題以及解決方案:

import cupy報(bào)錯(cuò)

一開始采用的是pip install cupy-cuda110安裝成功后但是報(bào)如上圖所示的錯(cuò),后改用conda安裝成功础芍,安裝命令為conda install -c conda-forge cupy cudatoolkit=11.0杈抢。注意安裝CUDA對(duì)應(yīng)的版本。

import StratifiedGroupKFold

import StratifiedGroupKFold報(bào)錯(cuò)顯示ImportError: cannot import name 'StratifiedGroupKFold' from 'sklearn.model_selection'仑性。后更新了scikit-learnd的版本后運(yùn)行成功惶楼。

運(yùn)行成功顯示如下:

Baseline框架以及改進(jìn)想法:

模型

Baseline模型采用的是Unet原始結(jié)構(gòu),backbone采用的是efficientnet-b1诊杆。

在Baseline中使用了segmentation_models_pytorch包歼捐,其可支持的結(jié)構(gòu)如下。一般顯示效果不錯(cuò)的是Unet和FPN晨汹。也可以嘗試一些新的Unet結(jié)構(gòu)比如TransUnet和SwinUnet豹储,但是segmentation_models_pytorch暫不支持。

改進(jìn)想法:模型是性能的下限淘这,好的模型就有好的開始剥扣。Unet是在語(yǔ)義分割尤其是醫(yī)學(xué)語(yǔ)義分割里比較好的模型,我所接觸的醫(yī)學(xué)語(yǔ)義分割大都是以Unet為基準(zhǔn)進(jìn)行一些魔改操作铝穷,包括:

1.Backbone的選擇:目前最常用就是EfficientNet系列钠怯、ResNet系列、ResNeXt系列曙聂,Baseline中采用的是efficientnet-b1晦炊,從b2-b5都可以嘗試。ResNeXt可以達(dá)到與EfficientNet相近的效果。Inception和Mobilenet也是常用的Backbone刽锤。一般會(huì)基于不同backbone的模型進(jìn)行集成預(yù)測(cè)镊尺。

2.在Unet中加入其他模塊:ASPP(空洞卷積)、Hypercolumn并思、以及CBAM和SCSE這種注意力模塊庐氮。segmentation_models_pytorch支持部分操作但是高度集成不適合修改,可以下載segmentation_models_pytorch的源碼進(jìn)行自主的模塊添加宋彼。

損失函數(shù)

Baseline中采用的是BCELoss和TverskyLoss弄砍,語(yǔ)義分割中可以采用的損失如下所示:

改進(jìn)想法:常見(jiàn)有效的損失包括BCELoss、DICEloss输涕、BCELoss+DICEloss音婶,其中Lovaszloss有的時(shí)候有奇效,對(duì)于Lovaszloss的改進(jìn)網(wǎng)上也有現(xiàn)成的方法莱坎。Focal Loss可以針對(duì)樣本不平衡的情況并進(jìn)行難例挖掘衣式。好的損失可以帶來(lái)不小的提升。

訓(xùn)練

1.Baseline采用的優(yōu)化器是Adam檐什,Adam的好處是不用特別關(guān)注怎么調(diào)整學(xué)習(xí)率碴卧,3e-4號(hào)稱是Adam最好的初始學(xué)習(xí)率。但是如果可以好的調(diào)整學(xué)習(xí)率乃正,SGD號(hào)稱可以在Adam的基礎(chǔ)上提升性能住册。lr_find()提供了一種尋找最優(yōu)初始學(xué)習(xí)率的方式。

2.Baseline學(xué)習(xí)率調(diào)整策略StepLR瓮具,衰減位置的確定需要一定的經(jīng)驗(yàn)和感覺(jué)荧飞,可以根據(jù)驗(yàn)證loss的走勢(shì)調(diào)整衰減位置。Warmup + Cosine也是一種常用的學(xué)習(xí)率調(diào)整策略名党,每個(gè)iteration逐漸增大至初始學(xué)習(xí)率叹阔,然后余弦下降至終止學(xué)習(xí)率。CosineAnnealingLR+Snapshot Ensembles是一個(gè)循環(huán)衰減學(xué)習(xí)率獲得不同局部最優(yōu)模型的集成策略传睹。

3.Batchsize和分辨率大小也是可以調(diào)整的訓(xùn)練參數(shù)条获。一般Batchsize都不會(huì)選擇不合理。圖像輸入的分辨率大小對(duì)于模型也很關(guān)鍵蒋歌,我遇到過(guò)不同分辨率模型的集成預(yù)測(cè)方案∥海或者堂油,在訓(xùn)練期間進(jìn)行多尺度訓(xùn)練,然后測(cè)試的時(shí)候選取其中某幾個(gè)尺度表現(xiàn)優(yōu)異的預(yù)測(cè)結(jié)果出來(lái)融合碧绞,提升模型對(duì)多尺度的魯棒府框。

數(shù)據(jù)預(yù)處理和后處理

該部分最能體現(xiàn)比賽目標(biāo)相關(guān),決定性能的上限讥邻。好的預(yù)處理和后處理帶來(lái)的提升很大迫靖。

1. Baseline采用的數(shù)據(jù)增強(qiáng)策略:

對(duì)數(shù)據(jù)增強(qiáng)的改進(jìn)沒(méi)有固定的策略院峡,依賴于一些經(jīng)驗(yàn)和直覺(jué)。比較重要的是可以對(duì)模型預(yù)測(cè)中的bad case做針對(duì)性的調(diào)整系宜。 還有一些針對(duì)大圖像需要切割成patch的各種策略照激,目前來(lái)看應(yīng)該不適用于本數(shù)據(jù)集。使用額外數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練也是常見(jiàn)的方法盹牧,但是額外數(shù)據(jù)集不容易獲得俩垃。

2.后處理中有一些通用的技巧:包括TTA(將同一圖像進(jìn)行不同幾何變換后預(yù)測(cè),將預(yù)測(cè)結(jié)果變換回來(lái)后取預(yù)測(cè)平均值)汰寓、集成預(yù)測(cè)(TTA也屬于集成預(yù)測(cè)口柳,還包括訓(xùn)練不同模型得到不同的預(yù)測(cè),預(yù)測(cè)結(jié)果可以投票或者取平均有滑,或者采用stacking的方式跃闹,利用機(jī)器學(xué)習(xí)模型對(duì)預(yù)測(cè)進(jìn)行訓(xùn)練后得到集成預(yù)測(cè)結(jié)果)。

3.利用偽標(biāo)簽進(jìn)行半監(jiān)督學(xué)習(xí)毛好,變相擴(kuò)增數(shù)據(jù)集望艺。有時(shí)有效有時(shí)過(guò)擬合,需要謹(jǐn)慎使用睛榄。如果驗(yàn)證集或者測(cè)試集出現(xiàn)了訓(xùn)練集沒(méi)有的樣本種類荣茫,該方法更可能有效。比較安全的方法是:(1)篩選預(yù)測(cè)置信度高的樣本作為偽標(biāo)簽场靴,如分類里啡莉,再test里的預(yù)測(cè)概率是大于0.9的,則視為正確的預(yù)測(cè)旨剥,此時(shí)將其作為偽標(biāo)簽來(lái)使用咧欣。(2)幫第一次的偽標(biāo)簽扔進(jìn)去訓(xùn)練集一起訓(xùn)練后,得到新的模型轨帜,按相同的規(guī)則再次挑一次偽標(biāo)簽出來(lái)魄咕。(3)如此不斷循環(huán)多次,置信度的閾值可以適當(dāng)作調(diào)整蚌父。實(shí)際使用中可能沒(méi)那么復(fù)雜只進(jìn)行了第一步哮兰。

4.一些新穎的或者針對(duì)本次比賽的idea可以從kaggle的討論區(qū)獲得,經(jīng)常會(huì)有一些不錯(cuò)的想法苟弛。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末喝滞,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子膏秫,更是在濱河造成了極大的恐慌右遭,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異窘哈,居然都是意外死亡吹榴,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門滚婉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)图筹,“玉大人,你說(shuō)我怎么就攤上這事满哪⌒龀猓” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵哨鸭,是天一觀的道長(zhǎng)民宿。 經(jīng)常有香客問(wèn)我,道長(zhǎng)像鸡,這世上最難降的妖魔是什么活鹰? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮只估,結(jié)果婚禮上志群,老公的妹妹穿的比我還像新娘。我一直安慰自己蛔钙,他們只是感情好锌云,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著吁脱,像睡著了一般桑涎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上兼贡,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天攻冷,我揣著相機(jī)與錄音,去河邊找鬼遍希。 笑死等曼,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的凿蒜。 我是一名探鬼主播禁谦,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼废封!你這毒婦竟也來(lái)了枷畏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤虱饿,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體氮发,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡渴肉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了爽冕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仇祭。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖颈畸,靈堂內(nèi)的尸體忽然破棺而出乌奇,到底是詐尸還是另有隱情,我是刑警寧澤眯娱,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布礁苗,位于F島的核電站,受9級(jí)特大地震影響徙缴,放射性物質(zhì)發(fā)生泄漏试伙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一于样、第九天 我趴在偏房一處隱蔽的房頂上張望疏叨。 院中可真熱鬧,春花似錦穿剖、人聲如沸蚤蔓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)秀又。三九已至,卻和暖如春啄刹,著一層夾襖步出監(jiān)牢的瞬間涮坐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工誓军, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留袱讹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓昵时,卻偏偏與公主長(zhǎng)得像捷雕,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子壹甥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容