Caffeソース分析--Blob応用

2863 ワード

Caffeソース分析–Blob応用


本文は主にblob関数を利用して検証テストを行い、理解を深める方法を紹介し、Blobコード分析はCaffeソースコード分析–Blobコード分析を参照することができる.
まずcaffeをコンパイルしてblobを新規作成しますdemo.cppファイル、コードは以下の通りで、参考書「深さ学習21日間実戦Caffe」を参照
#include
#include
#include
#include
using namespace caffe;
using namespace std;

int main(void)
{
	Blob a;
	cout< b;  // Blob b
	b.FromProto(bp2,true); // bp2 b( )
	
	for(int u=0;u

コンパイル命令は次のとおりです.
g++ -o app blob_demo.cpp -I /home/dane/env/caffe/include/ -D CPU_ONLY -I /home/dane/env/caffe/.build_release/src/ -L /home/dane/env/caffe/build/lib/ -lcaffe -lboost_system -lglog


/home/dane/env/caffe/caffeのディレクトリのコンパイル
実行前に環境変数を追加
export LD_LIBRARY_PATH=/home/dane/env/caffe/build/lib/:$LD_LIBRARY_PATH

次のコマンドを実行します.
./app

出力:
Size : (0)
Size : 1 2 3 4 (24)
a[0][0][0][0]=-23
q[0][0][0][0]=23
a[0][0][0][1]=-21
q[0][0][0][1]=22
a[0][0][0][2]=-19
q[0][0][0][2]=21
a[0][0][0][3]=-17
q[0][0][0][3]=20
a[0][0][1][0]=-15
q[0][0][1][0]=19
a[0][0][1][1]=-13
q[0][0][1][1]=18
a[0][0][1][2]=-11
q[0][0][1][2]=17
a[0][0][1][3]=-9
q[0][0][1][3]=16
a[0][0][2][0]=-7
q[0][0][2][0]=15
a[0][0][2][1]=-5
q[0][0][2][1]=14
a[0][0][2][2]=-3
q[0][0][2][2]=13
a[0][0][2][3]=-1
q[0][0][2][3]=12
a[0][1][0][0]=1
q[0][1][0][0]=11
a[0][1][0][1]=3
q[0][1][0][1]=10
a[0][1][0][2]=5
q[0][1][0][2]=9
a[0][1][0][3]=7
q[0][1][0][3]=8
a[0][1][1][0]=9
q[0][1][1][0]=7
a[0][1][1][1]=11
q[0][1][1][1]=6
a[0][1][1][2]=13
q[0][1][1][2]=5
a[0][1][1][3]=15
q[0][1][1][3]=4
a[0][1][2][0]=17
q[0][1][2][0]=3
a[0][1][2][1]=19
q[0][1][2][1]=2
a[0][1][2][2]=21
q[0][1][2][2]=1
a[0][1][2][3]=23
q[0][1][2][3]=0
ASUM=288
SUMSQ=4600
b[0][0][0][0]=-23
b_diff[0][0][0][0]=23
b[0][0][0][1]=-21
b_diff[0][0][0][1]=22
b[0][0][0][2]=-19
b_diff[0][0][0][2]=21
b[0][0][0][3]=-17
b_diff[0][0][0][3]=20
b[0][0][1][0]=-15
b_diff[0][0][1][0]=19
b[0][0][1][1]=-13
b_diff[0][0][1][1]=18
b[0][0][1][2]=-11
b_diff[0][0][1][2]=17
b[0][0][1][3]=-9
b_diff[0][0][1][3]=16
b[0][0][2][0]=-7
b_diff[0][0][2][0]=15
b[0][0][2][1]=-5
b_diff[0][0][2][1]=14
b[0][0][2][2]=-3
b_diff[0][0][2][2]=13
b[0][0][2][3]=-1
b_diff[0][0][2][3]=12
b[0][1][0][0]=1
b_diff[0][1][0][0]=11
b[0][1][0][1]=3
b_diff[0][1][0][1]=10
b[0][1][0][2]=5
b_diff[0][1][0][2]=9
b[0][1][0][3]=7
b_diff[0][1][0][3]=8
b[0][1][1][0]=9
b_diff[0][1][1][0]=7
b[0][1][1][1]=11
b_diff[0][1][1][1]=6
b[0][1][1][2]=13
b_diff[0][1][1][2]=5
b[0][1][1][3]=15
b_diff[0][1][1][3]=4
b[0][1][2][0]=17
b_diff[0][1][2][0]=3
b[0][1][2][1]=19
b_diff[0][1][2][1]=2
b[0][1][2][2]=21
b_diff[0][1][2][2]=1
b[0][1][2][3]=23
b_diff[0][1][2][3]=0