私はcaffeのpythonインターフェイスを使用しています。レイヤーインプリメンテーションファイルsoftmax_loss_layer.cuでは、ミニバッチ内のすべての単一サンプルの損失が合計され、バッチサイズで除算されます。したがって、"softmaxlosslayer"
からの出力は、ミニバッチに対する平均損失です。caffeバイナリlibからpythonを呼び出すときにcaffe中間結果を取得
私がしたいのは、*loss_data
に格納されているすべてのサンプルを失うことですが、std::cout
またはfstream
を使用しようとすると、何も起こりません。ですから、私は、PythonからC++を呼び出すときに、C++バイナリlibから出力を得る方法に変わりはないと思います。
ありがとうございました!
ありがとうございました!実際には、私はsoftmax_loss_layer.cuから損失アレイを取得し、それをソートしようとしています。彼らはcaffe_gpu_sortのような機能を持っていないので、並べ替えを助けるために、この.cuファイルで新しい配列を初期化する必要があります。しかし事はうまくいかない、それは常にセグメントの欠陥(コアダンプ)で終わって、私は多分私は.cuファイルの新しいメモリを求めることができないと思う。実装は.cppファイルと.cuファイルの間でかなり異なっており、私が作業しているネットワークはgpu上で実行する必要があります。 –
@XintingQIUあなたが望むものを確実に得るために、CPUで最初に実装してみてください。その後、GPUの実装に移ります。 – Shai
私はサーバーのrootユーザーではないので、自分のアカウントの下にインストールされたカスタムcaffeに取り組んでいます。だから私はログファイルがどこにあるのか分からない(ログファイルが/ tmp /にあるrootユーザーのことを知っている)、私はpythonインターフェイスを使っているので、caffeの--log_dirを設定することはできない。 @Shai –