2
深い学習のためにCaffeを使用しています。私のプログラムはC++です。Caffeディープラーニングプロセスの個々の層の出力をC++で視覚化する方法は?
net_->Forward(&loss);
でフォワードを繰り返すたびに、prototxtファイルで定義されているすべてのレイヤーを通過させ、どのように各レイヤーの出力をC++で可視化できますか?
net.cpp
内のファイルCaffe library
の中のこのループは、レイヤーごとに順方向に繰返します。
template <typename Dtype>
Dtype Net<Dtype>::ForwardFromTo(int start, int end) {
CHECK_GE(start, 0);
CHECK_LT(end, layers_.size());
Dtype loss = 0;
for (int i = start; i <= end; ++i) {
//cout << "Forwarding " << layer_names_[i] << endl;
Dtype layer_loss = layers_[i]->Forward(bottom_vecs_[i], top_vecs_[i]);
loss += layer_loss;
if (debug_info_) { ForwardDebugInfo(i); }
}
return loss;
}
top_vecs_[i] is output of each layer
どのように表示できますか?
"ビジュアライズ"とは具体的にはどういう意味ですか?計画?画像?数?ベクトル? – Shai
['ForwardDebugInfo(...)'と 'BackwardDebugInfo(...)'](https://github.com/BVLC/caffe/blob/master/src/caffe/net.cpp#L585)を見ましたか? -L636)各レイヤーの[debug info](https://stackoverflow.com/q/40510706/1714410)を出力する関数はありますか? – Shai
@Shaiはいイメージを印刷したいです。はい、良い考えですね。私はそこに斑点を描くことができると思う。私が試してみましょう。 – batuman