向AI轉型的程序員都關注了這個號👇👇👇python
機器學習AI算法工程 公衆號:datayxc++
利用pytorch實現圖像分類,其中包含的densenet,resnext,mobilenet,efficientnet, resnet等圖像分類網絡,能夠根據須要再行利用torchvision擴展其餘的分類算法程序員
實現功能web
基礎功能利用pytorch實現圖像分類面試
包含帶有warmup的cosine學習率調整算法
warmup的step學習率優調整flask
多模型融合預測,加權與投票融合api
利用flask實現模型雲端api部署瀏覽器
使用tta測試時加強進行預測微信
添加label smooth的pytorch實現(標籤平滑)
添加使用cnn提取特徵,並使用SVM,RF,MLP,KNN等分類器進行分類。
更新添加了模型蒸餾的的訓練方法
添加中間層可視化
更新模型部署(採用flask+Redis的方法)
c++ libtorch進行模型部署的簡單demo
代碼運行教程 獲取:
關注微信公衆號 datayx 而後回覆 圖像分類 便可獲取。
AI項目體驗地址 https://loveai.tech
運行環境
python3.7
pytorch 1.1
torchvision 0.3.0
代碼倉庫的使用
數據集形式
原始數據集存儲形式爲,同個類別的圖像存儲在同一個文件夾下,全部類別的圖像存儲在一個主文件夾data下。
利用preprocess.py將數據集格式進行轉換(我的習慣這種數據集的方式)
python ./data/preprocess.py
轉換後的數據集爲,將訓練集的路徑與類別存儲在train.txt文件中,測試機存儲在val.txt中. 其中txt文件中的內容爲
模型介紹
倉庫中模型densenet,mobilenet,resnext 模型來自於torchvision
訓練
在
cfg.py
中修改合適的參數,並在train.py中選擇合適的模型
預測
在cfg.py中TRAINED_MODEL
參數修改成指定的權重文件存儲位置,在predict文件中能夠選定是否使用tta
python predict.py
當訓練完成多模型以後生成多個txt文件以後,利用
ensamble
文件夾中的kaggle_vote.py
進行投票融合或者加權投票融合。
將每一個模型生成的csv文件,移動到ensamble/samples/
而後將每一個文件命名爲method1.py
,method2.py
. 而後運行以下命令進行投票融合
python ./kaggle_vote.py "./samples/method*.csv" "./samples/vote.csv"
cnn + svm
代碼存在於cnn_ml.py
中, 利用訓練好的cnn特徵提取器,將獲得的特徵保存爲pkl文件,而後訓練svm分類器, 並將分類器模型保存,而後讀取預測
主要須要修改的就是根據不一樣模型的輸出特徵向量的大小在cnn_ml.py
中修改NB_features
對應的大小
flask雲端部署
將訓練存儲好的權重文件,存儲在flask_deployment
文件夾中
而後修改server.py
中路徑運行便可 利用client.py
進行調用
閱讀過本文的人還看了如下文章:
基於40萬表格數據集TableBank,用MaskRCNN作表格檢測
《深度學習入門:基於Python的理論與實現》高清中文PDF+源碼
2019最新《PyTorch天然語言處理》英、中文版PDF+源碼
《21個項目玩轉深度學習:基於TensorFlow的實踐詳解》完整版PDF+附書代碼
PyTorch深度學習快速實戰入門《pytorch-handbook》
【下載】豆瓣評分8.1,《機器學習實戰:基於Scikit-Learn和TensorFlow》
李沐大神開源《動手學深度學習》,加州伯克利深度學習(2019春)教材
【Keras】完整實現‘交通標誌’分類、‘票據’分類兩個項目,讓你掌握深度學習圖像分類
如何利用全新的決策樹集成級聯結構gcForest作特徵工程並打分?
Machine Learning Yearning 中文翻譯稿
斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
中科院Kaggle全球文本匹配競賽華人第1名團隊-深度學習與特徵工程
不斷更新資源
深度學習、機器學習、數據分析、python
搜索公衆號添加: datayx
機大數據技術與機器學習工程
搜索公衆號添加: datanlp
長按圖片,識別二維碼
本文分享自微信公衆號 - 機器學習AI算法工程(datayx)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。