一個(gè)完整的pytorch預(yù)訓(xùn)練實(shí)現(xiàn)圖像分類,模型融合

向AI轉(zhuǎn)型的程序員都關(guān)注了這個(gè)號(hào)???
機(jī)器學(xué)習(xí)AI算法工程?? 公眾號(hào):datayx
利用pytorch實(shí)現(xiàn)圖像分類,其中包含的densenet,resnext,mobilenet,efficientnet, resnet等圖像分類網(wǎng)絡(luò),可以根據(jù)需要再行利用torchvision擴(kuò)展其他的分類算法
實(shí)現(xiàn)功能
基礎(chǔ)功能利用pytorch實(shí)現(xiàn)圖像分類
包含帶有warmup的cosine學(xué)習(xí)率調(diào)整
warmup的step學(xué)習(xí)率優(yōu)調(diào)整
多模型融合預(yù)測(cè),加權(quán)與投票融合
利用flask實(shí)現(xiàn)模型云端api部署
使用tta測(cè)試時(shí)增強(qiáng)進(jìn)行預(yù)測(cè)
添加label smooth的pytorch實(shí)現(xiàn)(標(biāo)簽平滑)
添加使用cnn提取特征,并使用SVM,RF,MLP,KNN等分類器進(jìn)行分類。
更新添加了模型蒸餾的的訓(xùn)練方法
添加中間層可視化
更新模型部署(采用flask+Redis的方法)
c++ libtorch進(jìn)行模型部署的簡(jiǎn)單demo
代碼運(yùn)行教程? 獲?。?/span>
關(guān)注微信公眾號(hào) datayx ?然后回復(fù)??圖像分類? 即可獲取。
AI項(xiàng)目體驗(yàn)地址 https://loveai.tech
運(yùn)行環(huán)境
python3.7
pytorch 1.1
torchvision 0.3.0
代碼倉(cāng)庫(kù)的使用
數(shù)據(jù)集形式
原始數(shù)據(jù)集存儲(chǔ)形式為,同個(gè)類別的圖像存儲(chǔ)在同一個(gè)文件夾下,所有類別的圖像存儲(chǔ)在一個(gè)主文件夾data下。

利用preprocess.py將數(shù)據(jù)集格式進(jìn)行轉(zhuǎn)換(個(gè)人習(xí)慣這種數(shù)據(jù)集的方式)
python ./data/preprocess.py
轉(zhuǎn)換后的數(shù)據(jù)集為,將訓(xùn)練集的路徑與類別存儲(chǔ)在train.txt文件中,測(cè)試機(jī)存儲(chǔ)在val.txt中. 其中txt文件中的內(nèi)容為

模型介紹
倉(cāng)庫(kù)中模型densenet,mobilenet,resnext 模型來(lái)自于torchvision
訓(xùn)練
在
cfg.py中修改合適的參數(shù),并在train.py中選擇合適的模型
預(yù)測(cè)
在cfg.py中TRAINED_MODEL參數(shù)修改為指定的權(quán)重文件存儲(chǔ)位置,在predict文件中可以選定是否使用tta
python predict.py
當(dāng)訓(xùn)練完成多模型之后生成多個(gè)txt文件之后,利用
ensamble文件夾中的kaggle_vote.py進(jìn)行投票融合或者加權(quán)投票融合。
將每個(gè)模型生成的csv文件,移動(dòng)到ensamble/samples/然后將每個(gè)文件命名為method1.py,method2.py. 然后運(yùn)行如下命令進(jìn)行投票融合
python ./kaggle_vote.py "./samples/method*.csv" "./samples/vote.csv"
cnn + svm
代碼存在于cnn_ml.py中, 利用訓(xùn)練好的cnn特征提取器,將得到的特征保存為pkl文件,然后訓(xùn)練svm分類器, 并將分類器模型保存,然后讀取預(yù)測(cè)
主要需要修改的就是根據(jù)不同模型的輸出特征向量的大小在cnn_ml.py中修改NB_features對(duì)應(yīng)的大小
flask云端部署
將訓(xùn)練存儲(chǔ)好的權(quán)重文件,存儲(chǔ)在flask_deployment文件夾中
然后修改server.py中路徑運(yùn)行即可 利用client.py進(jìn)行調(diào)用
閱讀過(guò)本文的人還看了以下文章:
TensorFlow 2.0深度學(xué)習(xí)案例實(shí)戰(zhàn)
基于40萬(wàn)表格數(shù)據(jù)集TableBank,用MaskRCNN做表格檢測(cè)
《基于深度學(xué)習(xí)的自然語(yǔ)言處理》中/英PDF
Deep Learning 中文版初版-周志華團(tuán)隊(duì)
【全套視頻課】最全的目標(biāo)檢測(cè)算法系列講解,通俗易懂!
《美團(tuán)機(jī)器學(xué)習(xí)實(shí)踐》_美團(tuán)算法團(tuán)隊(duì).pdf
《深度學(xué)習(xí)入門(mén):基于Python的理論與實(shí)現(xiàn)》高清中文PDF+源碼
python就業(yè)班學(xué)習(xí)視頻,從入門(mén)到實(shí)戰(zhàn)項(xiàng)目
2019最新《PyTorch自然語(yǔ)言處理》英、中文版PDF+源碼
《21個(gè)項(xiàng)目玩轉(zhuǎn)深度學(xué)習(xí):基于TensorFlow的實(shí)踐詳解》完整版PDF+附書(shū)代碼
《深度學(xué)習(xí)之pytorch》pdf+附書(shū)源碼
PyTorch深度學(xué)習(xí)快速實(shí)戰(zhàn)入門(mén)《pytorch-handbook》
【下載】豆瓣評(píng)分8.1,《機(jī)器學(xué)習(xí)實(shí)戰(zhàn):基于Scikit-Learn和TensorFlow》
《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》PDF+完整源碼
汽車行業(yè)完整知識(shí)圖譜項(xiàng)目實(shí)戰(zhàn)視頻(全23課)
李沐大神開(kāi)源《動(dòng)手學(xué)深度學(xué)習(xí)》,加州伯克利深度學(xué)習(xí)(2019春)教材
筆記、代碼清晰易懂!李航《統(tǒng)計(jì)學(xué)習(xí)方法》最新資源全套!
《神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》最新2018版中英PDF+源碼
將機(jī)器學(xué)習(xí)模型部署為REST API
FashionAI服裝屬性標(biāo)簽圖像識(shí)別Top1-5方案分享
重要開(kāi)源!CNN-RNN-CTC 實(shí)現(xiàn)手寫(xiě)漢字識(shí)別
同樣是機(jī)器學(xué)習(xí)算法工程師,你的面試為什么過(guò)不了?
前海征信大數(shù)據(jù)算法:風(fēng)險(xiǎn)概率預(yù)測(cè)
【Keras】完整實(shí)現(xiàn)‘交通標(biāo)志’分類、‘票據(jù)’分類兩個(gè)項(xiàng)目,讓你掌握深度學(xué)習(xí)圖像分類
VGG16遷移學(xué)習(xí),實(shí)現(xiàn)醫(yī)學(xué)圖像識(shí)別分類工程項(xiàng)目
特征工程(二) :文本數(shù)據(jù)的展開(kāi)、過(guò)濾和分塊
如何利用全新的決策樹(shù)集成級(jí)聯(lián)結(jié)構(gòu)gcForest做特征工程并打分?
Machine Learning Yearning 中文翻譯稿
全球AI挑戰(zhàn)-場(chǎng)景分類的比賽源碼(多模型融合)
斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
python+flask搭建CNN在線識(shí)別手寫(xiě)中文網(wǎng)站
中科院Kaggle全球文本匹配競(jìng)賽華人第1名團(tuán)隊(duì)-深度學(xué)習(xí)與特征工程
不斷更新資源
深度學(xué)習(xí)、機(jī)器學(xué)習(xí)、數(shù)據(jù)分析、python
?搜索公眾號(hào)添加:?datayx??
機(jī)大數(shù)據(jù)技術(shù)與機(jī)器學(xué)習(xí)工程
?搜索公眾號(hào)添加:?datanlp
長(zhǎng)按圖片,識(shí)別二維碼
