classify.fastai
Classifier based on fastai
歡迎訪問:https://github.com/pprp/classify.fastai/
字符識別分類器-基於fastai進行構造
以往的fastai教程都是很簡單的幾行進行一個模型的訓練,對初學者來說看起來很簡單。但是僅僅訓練一個分類的網絡是遠遠不夠的,我們還需要各種指標對分類的效果進行評判。
這個庫集中了目前比較好的幾篇中文博客,並且在此基礎上查閱了fastai的API教程(😲但是不得不說 感覺做的沒有keras對於tensorflow那樣好用,另外用的人感覺不是很多。)進行綜合,主要是基於jupyter notebook進行編輯的,py文件也有,但是還不完善,歡迎pull request 😄
環境配置
建議使用anaconda3進行環境的配置和管理,目前使用的fastai以及pytorch都是最新版本的。鏈接
-
pip安裝
-
pip install fastai pip install jupyter notebook jupyter_contrib_nbextensions
-
-
conda安裝
-
conda install jupyter notebook conda install -c conda-forge jupyter_contrib_nbextensions
-
-
之后啟動命令
jupyter notebook
然后在網頁中打開並運行即可。
主要功能
-
提供了數據,在data文件夾下,解壓即可使用
- 如果需要跑自己的分類器,直接替換train,valid等文件夾下的內容即可。
- 格式為:每個類別一個文件夾,文件夾內放置圖片。對命名沒有要求。
-
查找合適的learning rate
-
該功能主要由fastai提供
-
-
這個最低點就是合適的loss取值。(ps:有時候感覺不准)
-
-
訓練模型只需要通過參數傳遞即可
- vgg16_bn,vgg19_bn,alexnet
- resnet18,resnet34,resnet50,resnet101,resnet152
- squeezenet1_0,squeezenet1_1
- densenet121,densenet169,densenet201,densenet161
-
訓練過程中實時畫train-valid-loss圖(jupyter notebook很強大)
-
-
像這種圖就屬於比較完美的,證明learning rate以及數據集安排都很合適。
-
此外還會展示實時loss-error_rate-accracy等
-
-
-
完成訓練后loss可視化
-
訓練過程learning rate以及momentum可視化
-
查看主要有哪些圖像畫錯了top error
-
查看混淆矩陣
-
查看所有類別
-
將數據集部分內容可視化
說明😎
其中可能有很多內容無法運行,由於本人也是初學者,僅通過看博客與API進行fastai的學習,朋友們有時間可以看fastai提供的課程,相信在里邊會有詳細的講解。🤗
目前主要內容集中於train_notebook.ipynb
文件中歡迎大家進行fork,star,pull requests。
待完成工作🤔
- 訓練模型保存。
- 模型結構的設計與改動(嘗試了一點但是沒有解決bug)。
- 訓練模型的加載與預測。
- 更好的可視化支持。
- 更多的分類性能指標。