基於fastai的分類網絡

classify.fastai😏

Classifier based on fastaihtml

歡迎訪問:https://github.com/pprp/classify.fastai/git

字符識別分類器-基於fastai進行構造github

以往的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安裝3d

    • conda install jupyter notebook
        conda install -c conda-forge jupyter_contrib_nbextensions
  • 以後啓動命令jupyter notebook 而後在網頁中打開並運行便可。code

主要功能😝

  • 提供了數據,在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提供的課程,相信在裏邊會有詳細的講解。:hugs:htm

目前主要內容集中於train_notebook.ipynb文件中歡迎你們進行fork,star,pull requests。

待完成工做:thinking:

  • [x] 訓練模型保存。

  • [ ] 模型結構的設計與改動(嘗試了一點可是沒有解決bug)。
  • [ ] 訓練模型的加載與預測。
  • [ ] 更好的可視化支持。
  • [ ] 更多的分類性能指標。

相關文章
相關標籤/搜索