日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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:
數據成員:

protectedshared_ptr<SyncedMemory> data_; //存放數據 shared_ptr<SyncedMemory> diff_; //存放梯度 shared_ptr<SyncedMemory> shape_data_; vector<int> shape_;//shape_是Blob維度參數 int count_;//count表示Blob存儲的元素個數(shape_所有元素乘積) int capacity_;//capacity_表示當前Blob的元素個數(控制動態分配)

構造函數:
默認構造函數完成最基本的初始化,兩個顯示構造函數會調用Reshape函數完成data_和diff_的共享內存對象SyncedMemory的申請。

const Dtype* cpu_data() const; //cpu使用的數據 void set_cpu_data(Dtype* data); //用數據塊的值來blob里面的data const int* gpu_shape() const; const Dtype* gpu_data() const; //返回不可更改的指針,下同 const Dtype* cpu_diff() const; const Dtype* gpu_diff() const; Dtype* mutable_cpu_data(); //返回可更改的指針,下同 Dtype* mutable_gpu_data(); Dtype* mutable_cpu_diff(); Dtype* mutable_gpu_diff();

總之,帶mutable_開頭的意味著可以對返回的指針內容進行更改,而不帶mutable_開頭的返回const 指針,不能對其指針的內容進行修改
Reshape函數:

void Reshape(const vector<int>& shape);//主要完成數據成員shape_,shape_data_,count_,capacity_,data_,diff_最基本的初始化工作,主要包括內存分配,含初始化。 void Reshape(const BlobShape& shape);//特別是完成data_,diff_的共享內存對象SyncedMemory的申請。

總結

以上是生活随笔為你收集整理的caffe源码分析:blob.hpp分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。