用PyTorch版本R-FCN訓練自己的資料
在配置py-r-fcn時搭建caffe總是出錯,改用另一份開原始碼。
本文章使用的是princewang1994/R-FCN.pytorch開原始碼,專案地址
首先閱讀README.md檔案,特別是Preparation中的prerequisites,要求
- Python 3.6
- Pytorch 0.3.0, NOT suport 0.4.0 because of some errors
- CUDA 8.0 or higher。
之前我用的是PyTorch 1.0版本,導致在配工具庫時一直出現錯誤。這時,我們嚴格按照作者的要求來配置Conda環境。
Conda入門指南請參考:https://zhuanlan.zhihu.com/p/44398592。
先建立自己的conda環境,要求python=3.6,然後安裝PyTorch 0.3版本,我的伺服器CUDA 是9.0 版本,參考這篇文章:
安裝Pytorch的填坑記錄(Ubuntu 16.04+python 3.6+CUDA 9.1+Pytorch 0.3.1)(二)
來安裝相應配置。
在PyTorch官網https://pytorch.org/找到Previous versions of PyTorch,點選連結進去https://pytorch.org/get-started/previous-versions/,找到COMMANDS FOR VERSIONS < 1.0.0,找到相應CUDA版本的HTML連結,例如:
https://download.pytorch.org/whl/cu90/torch_stable.html,
找到相應whl檔案進行安裝(根據自己的python版本找相應cp和作業系統的whl檔案)。
接下來還需要安裝Torchvision,參考這篇文章
torch& torchvision對應版本,找到torchvision=0.2.2,且支援python3.6,安裝它。
最後按照作者的README.md檔案進行完整安裝即可。
在Train時,如果使用vgg16(注意GPU_ID可能需要加個{}符號),在trainval_net.py程式碼中需要自己改一下
CUDA_VISIBLE_DEVICES=${GPU_ID} python trainval_net.py --arch rfcn --dataset pascal_voc --net vgg16 --cuda
找到
if args.arch == 'rcnn':
from model.faster_rcnn.vgg16 import vgg16
from model.faster_rcnn.resnet import resnet
elif args.arch == 'rfcn':
from model.rfcn.resnet_atrous import resnet
改成
if args.arch == 'rcnn':
from model.faster_rcnn.vgg16 import vgg16
from model.faster_rcnn.resnet import resnet
elif args.arch == 'rfcn':
from model.faster_rcnn.vgg16 import vgg16
from model.rfcn.resnet_atrous import resnet
可指定epochs引數
CUDA_VISIBLE_DEVICES=${GPU_ID} python trainval_net.py --arch rfcn --dataset pascal_voc --net vgg16 --eopchs 1000 --cuda
具體檢視trainval_net.py程式碼中的parser。
在呼叫demo.py時也一樣,自己看parser的註解輸入引數。
如果是自己的資料,那麼需要改demo.py中的pascal_classes,lib/datasets/pascal_voc.py中的self._classes。
相關文章
- 用SSD-Pytorch訓練自己的資料集PyTorch
- keras-retinanet 用自己的資料集訓練KerasNaN
- Mxnet R FCN 訓練自己的資料集
- yolov3訓練自己資料教程YOLO
- Mxnet-R-FCN-訓練自己的資料集
- 谷歌colab訓練自己的資料集YOLOv3谷歌YOLO
- 基於pytorch實現Resnet對本地資料集的訓練PyTorch
- pytorch指定GPU訓練PyTorchGPU
- Pytorch分散式訓練PyTorch分散式
- pytorch訓練GAN時的detach()PyTorch
- pytorch-模型儲存與載入自己訓練的模型詳解PyTorch模型
- Caffe-SSD-Ubuntu16-04-訓練自己的資料集Ubuntu
- Caffe SSD Ubuntu16 04 訓練自己的資料集Ubuntu
- PyTorch預訓練Bert模型PyTorch模型
- 【AI】Pytorch_預訓練模型AIPyTorch模型
- Windows10 使用 Tensorflow Object_detection API 訓練自己的資料WindowsObjectAPI
- YOLOv4 win10 配置 + 訓練自己的資料 + 測試YOLOWin10
- Yolov3程式碼分析與訓練自己資料集YOLO
- 使用 PyTorch 完全分片資料並行技術加速大模型訓練PyTorch並行大模型
- 【小白學PyTorch】5 torchvision預訓練模型與資料集全覽PyTorch模型
- MXNet的資料格式轉化為tensorflow訓練用的資料格式
- 資料集訓練
- PyTorch 模型訓練實⽤教程(程式碼訓練步驟講解)PyTorch模型
- 2、PyTorch訓練YOLOv11—訓練篇(detect)—Windows系統PyTorchYOLOv1Windows
- 使用自己的資料集訓練MobileNet、ResNet實現影象分類(TensorFlow)
- 使用 diffusers 訓練你自己的 ControlNet ?
- 資料集訓練+1
- fashion資料集訓練
- MxNet預訓練模型到Pytorch模型的轉換模型PyTorch
- 輕量化模型訓練加速的思考(Pytorch實現)模型PyTorch
- 【AI】精妙的Pytorch訓練視覺化工具tensorboardXAIPyTorch視覺化ORB
- [專案實戰]訓練retinanet(pytorch版)NaNPyTorch
- Pytorch:單卡多程式並行訓練PyTorch並行
- Pytorch:使用Tensorboard記錄訓練狀態PyTorchORB
- 使用Pytorch訓練分類器詳解(附python演練)PyTorchPython
- Pywick:追求功能完備的PyTorch高階訓練庫PyTorch
- 取出預訓練模型中間層的輸出(pytorch)模型PyTorch
- 【NLP學習其四】如何構建自己用於訓練的資料集?什麼是詞性標註?詞性標註