當前位置:
首頁 >
caffe源码分析:blob.hpp分析
發布時間:2025/3/15
27
豆豆
生活随笔
收集整理的這篇文章主要介紹了
caffe源码分析:blob.hpp分析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文件路徑:caffe-master_github/include/caffe/
如果想對blob有詳細了解,參考Caffe官網教程:http://caffe.berkeleyvision.org/tutorial/net_layer_blob.html
以下摘自互聯網:
Blob作為Caffe的四大模塊之一,負責完成CPU/GPU存儲申請、同步和數據持久化映射。Caffe內部數據存儲和通訊都是通過Blob來完成,Blob提供統一的存儲操作接口,可用來保存訓練數據、模型參數等。Blob是一個高維連續數組,批處理圖像數據時通常使用4維Blob,Blob的維度可以表示為(N, K, H, W),每個維度的意思分別是:
- N: 數據的個數,例如SGD時一次mini-batch的圖像個數。
- K: 如果是圖像,可以理解為通道數量;如果是網絡中間結果,就是feature map的數量。
- H, W: 如果是圖像數據,可以理解為圖像的高度和寬度;如果是參數數據,可以理解為濾波核的高度和寬度。
Caffe中通常只使用4維Blob完成圖像應用,但是Blob完全可以合理地被用來存儲任何數據,比如說學習到的參數。
例如:
- 1000幅640*480 RGBD圖像數據,其Blob形狀為(1000, 4, 480, 640)。
- 96個大小11*11的濾波核,處理16通道的輸入數據,其參數Blob的形狀為(96,16,11,11)。
- 1000個輸出,1024個輸入的全連接層,其參數Blob的形狀為(1000,1024)。
blob.hpp:
數據成員:
構造函數:
默認構造函數完成最基本的初始化,兩個顯示構造函數會調用Reshape函數完成data_和diff_的共享內存對象SyncedMemory的申請。
總之,帶mutable_開頭的意味著可以對返回的指針內容進行更改,而不帶mutable_開頭的返回const 指針,不能對其指針的內容進行修改
Reshape函數:
總結
以上是生活随笔為你收集整理的caffe源码分析:blob.hpp分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mybatis没有导入sqlsessio
- 下一篇: python判断合法整数数字_C# 判断