2016-07-21 18 views
4

、頻繁にblob.cpp、例えば、カフェのヘッダとソースファイルで使用されている...などCHECKとしての機能のようなマクロの多く、CHECK_EQは、我々が持っているがあります。CaffeのCHECK&CHECK_EQのような関数のようなマクロの定義はどこにありますか?私が気づいたよう

template <typename Dtype> 
void Blob<Dtype>::FromProto(const BlobProto& proto, bool reshape) { 
if (reshape) { 
    vector<int> shape; 
    if (proto.has_num() || proto.has_channels() || 
     proto.has_height() || proto.has_width()) { 
    // Using deprecated 4D Blob dimensions -- 
    // shape is (num, channels, height, width). 
    shape.resize(4); 
    shape[0] = proto.num(); 
    shape[1] = proto.channels(); 
    shape[2] = proto.height(); 
    shape[3] = proto.width(); 
    } else { 
    shape.resize(proto.shape().dim_size()); 
    for (int i = 0; i < proto.shape().dim_size(); ++i) { 
     shape[i] = proto.shape().dim(i); 
    } 
    } 
    Reshape(shape); 
} else { 
    CHECK(ShapeEquals(proto)) << "shape mismatch (reshape not set)"; 
} 
// copy data 
Dtype* data_vec = mutable_cpu_data(); 
if (proto.double_data_size() > 0) { 
    CHECK_EQ(count_, proto.double_data_size()); 
    for (int i = 0; i < count_; ++i) { 
    data_vec[i] = proto.double_data(i); 
    } 
} else { 
    CHECK_EQ(count_, proto.data_size()); 
    for (int i = 0; i < count_; ++i) { 
    data_vec[i] = proto.data(i); 
    } 
} 
if (proto.double_diff_size() > 0) { 
    CHECK_EQ(count_, proto.double_diff_size()); 
    Dtype* diff_vec = mutable_cpu_diff(); 
    for (int i = 0; i < count_; ++i) { 
    diff_vec[i] = proto.double_diff(i); 
    } 
} else if (proto.diff_size() > 0) { 
    CHECK_EQ(count_, proto.diff_size()); 
    Dtype* diff_vec = mutable_cpu_diff(); 
    for (int i = 0; i < count_; ++i) { 
    diff_vec[i] = proto.diff(i); 
    } 
} 

正確にこれらのマクロの定義はありますか。

+0

あなたのIDEがそれを手助けできないのですか? – KABoissonneault

+0

現時点では、IDEを使用せずにコードを読み込んでいます。 Fedoraに特別な提案はありますか? – Ali

+1

次に、これらのマクロの定義のためにCaffeのヘッダファイルを検索するツールを使用することをお勧めします。マクロは「コンパイル」できません。したがって、マクロの定義は、アクセス可能なヘッダーを介して常にアクセスできます。 – KABoissonneault

答えて

5

これらのマクロは、Caffeが使用しているGoogle's glogログライブラリの一部です。

+1

リンクが壊れています。新しいギブスリンク: https://github.com/google/glog – Dharma

+0

Shai - http://rpg.ifi.uzh.ch/docs/glog.htmlは、以前に紹介したと思われる新しいリンクです。 – Dharma

+0

@Dharmaさらに良い!ありがとう! – Shai

関連する問題