基於fastai的分類網絡


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)。
  • 訓練模型的加載與預測。
  • 更好的可視化支持。
  • 更多的分類性能指標。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM