2017-08-23 3 views

答えて

0

Cython、pybind11などのツールを使用してPythonからC++コードを呼び出して、C++レイヤをChainerに埋め込むことができます。あなたはそれを行うために少しのグルーコードを書かなければなりません(例えばNumPy配列バッファをC++で書かれたレイヤーで使われているデータフォーマットから/に変換し、あなたのレイヤーをChainerスタイルの関数に変換する;小さなPythonクラスを書くことによって)。

CPUとGPUを順方向/逆方向に計算するために、F.copy()を使用できます。バックプロックをサポートしています(https://docs.chainer.org/en/stable/reference/generated/chainer.functions.copy.html?highlight=copy参照)。

+0

あなたは言った:あなたの層のインターフェイスをチェーンスタイルの機能に変換する? chainerスタイル関数のようなC++レイヤーインターフェイスを書く方法は?この文について理解していない。 – machen

+0

ああ、私は理解しています、あなたはC++コードを機能させることを意味し、チェーンリンカーはC++関数を呼び出します。 (C++層ではない?) – machen

+0

はい。 ChainerのパラメータをC++コードで管理することは非常に複雑です。 C++コードを内部的に呼び出す関数(インターフェイスを整列させるにはC++コードにいくつかの変更が必要です)を記述し、関数を呼び出すLinkを書く方がはるかに簡単です。 –

関連する問題