簡述:
fastai是一個高度封裝的深度學習工具包,可以用來快速建立一些標準模型,比如NLP中的文本生成模型和文本分類模型,只需要提供一個csv文件,再加上二十行以內的代碼就可以把模型搭建起來。
但是關于fastai的自定義功能(特別是自定義數(shù)據加載),建議大家不要碰。
最近半年都在嘗試使用fastai解決一個序列預測問題。
最初選擇fastai看中的是fastai中實現(xiàn)的各種調參技巧,也許可以省去模型調參的工作,加快實驗進度。
最初的實驗進行得還聽順利,畢竟fastai提供的訓練功能還是蠻好用的。
可是事情的發(fā)展卻超出了最初的計劃。。。
為了提升模型效果,我們需要加入更多的輸入數(shù)據并且要使用自定義的采樣方式,這樣就需要修改dataset、sampler和collate_fn等模塊。
修改前,我們花了很大力氣去研究fastai的數(shù)據加載模塊DataBunch,為了修改這個數(shù)據加載方式,我們大概繼承并修改了二十多個fastai中的類。
做完這些工作大約耗時兩個禮拜,我們的模型終于可以順利運行了。
可是模型的效果還是不夠理想,為了提升模型效果,我們想進一步修改模型結構,然后又修改了好幾個類,修改之后的模型才跑起來。
如果真的有同學需要自定義fastai模塊的話,可以參考https://docs.fast.ai/tutorial.itemlist.html中的示例進行編寫。碰到坑的話,可以加群747537854一起討論。