Detectron:Pytorch-Caffe2-Detectron的一些跟进
??????? pytorch官網:http://pytorch.org/上只有PyTroch的ubuntu和Mac版本,赤裸裸地歧視了一把Windows低端用戶。
1. Caffe源碼:Caffe源碼理解之存儲??
Caffe2存儲
Caffe2中的存儲結構層次從上到下依次是Workspace, Blob, Tensor。Workspace存儲了運行時所有的Blob和實例化的Net。Blob可以視為對任意類型的一個封裝的類,比如封裝Tensor, float, string等等。Tensor就是一個多維數組,這個Tensor就類似于Caffe1中的Blob。Caffe2中真正涉及到分配存儲空間的調用則在Context中,分為CPUContext和CUDAContext。下面按照從下到上的順序分析一下Caffe2的存儲分配過程。
- Context
- Tensor
- Blob
- Workspace
- 總結?
總結
下面是Operator中從創建Blob到實際分配空間的流程,這個圖是怎么畫出來的呢:
????????
2.Caffe2 Detectron的使用初步
關于InferImage:
????? 在 NVIDIA Tesla P100 GPU 上,單張圖片的推斷時間大概是 130-140ms.當然這與輸入圖像的參數設置size有關。
2. Detectron 訓練
簡單介紹在 COCO Dataset 上訓練模型.
采用 ResNet-50-FPN Backbone 進行 end-to-end 的 Faster R-CNN 訓練.
這里簡單進行模型訓練,小尺寸的輸入圖片,能夠使訓練和推斷的速度相對較快.
2.1 單 GPU 訓練
python2 tools/train_net.py \--cfg configs/getting_started/tutorial_1gpu_e2e_faster_rcnn_R-50-FPN.yaml \ OUTPUT_DIR /tmp/detectron-output- 輸出保存路徑 /tmp/detectron-output,如 models, validation set detections 等.
- Maxwell GPU,如 M40 上,訓練耗時大約 4.2 個小時.
- M40 上,每張圖片的推斷時間大約是 80 ms.
- coco_2014_minival上的 Box AP 大約是 22.1%.
2.2 Multi-GPU 訓練
Detectron 提供了基于2、4、8 張 GPUS 訓練的 configs 參數配置文件.
如 configs/getting_started/tutorial_{2,4,8}gpu_e2e_faster_rcnn_R-50-FPN.yaml.
如,2 張 GPUs 的訓練:
python2 tools/train_net.py \--multi-gpu-testing \ --cfg configs/getting_started/tutorial_2gpu_e2e_faster_rcnn_R-50-FPN.yaml \ OUTPUT_DIR /tmp/detectron-output--multi-gpu-testing是告訴 Detectron 在訓練結束后,采用 multiple GPUs (如NUM_GPUs 為 2) 進行并行化推斷.
期望的結果:
- 訓練在 2 張 M40 上大概耗時 2.3 個小時.
- 推斷時間大約是 80 ms,在 2 張 GPUs 上并行推斷時,耗時減半.
- coco_2014_minival上的 Box AP 大約是 22.1%.
關于學習方案的調整(“linear scaling rule”),可以參考提供的 config 文件,閱讀論文 Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour.
除了這里,其它的 configs 都是基于 8 GPUs.
如果訓練的 GPUs 少于 8,或者想嘗試改變 minibatch size,有必要理解如何根據 linear scaling rule 來調整訓練方案.
注:
這里的訓練示例采用了相對低的 GPU-compute 模型,因此,Caffe2 Python op 的開銷相對較高. 導致將 GPUs 由 2 增加到 8 時,開銷并不成比例減少,如采用 8 GPUs,需要訓練 0.9 小時,只比單張 GPU 快了 4.5x 倍.
當采用相對高的 GPU-compute 模型時,multi-GPUs 開銷的減少比例會提高.
3. 在Win10 中編譯安裝PyTorch
知乎文章:關于Windows PRs并入PyTorch的master分支
.......................................
開始編譯安裝
python setup.py install目前針對Windows的已修復項:
目前Windows的已知問題:
另外,大家一定很關心什么時候能出正式Windows正式版,日前,Soumith大神給出了他的回復:
所以這次應該還是見不到正式的Windows版本,但是各位可以期待到時候我的Conda包。
以上,就是文章的全部內容啦,如果感覺還意猶未盡的話,可以給我的Github 主頁或者項目加個watch或者star之類的(滑稽),以后說不定還會再分享一些相關的經驗。
總結
以上是生活随笔為你收集整理的Detectron:Pytorch-Caffe2-Detectron的一些跟进的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cf生化变异强化礼包里面有什么 CF和C
- 下一篇: C++11:using 的各种作用