2014-01-14 6 views
8

Theano機能をコンパイルし再利用します。は、私はTheanoに次の関数を実装していると仮定

このコンパイル済みのコードをPythonスクリプトやC++アプリケーションから再利用するにはどうすればよいですか?

編集: 目的は、深い学習ネットワークを構築し、最終的なC++アプリケーションで再利用することです。

+0

私は同じ問題を抱えています。あなたは解決策を見つけましたか? – Shai

+0

Theanoは最適化結果をキャッシュしているので、後続の呼び出しはかなり速くなるはずです。それでもなお、例えば。ワークステーションを再起動するには、最適化を再度実行する必要があります。酸洗いが問題を解決します。 Theano関数オブジェクトをコンパイルしたら、それをピケットして、必要に応じて読み込むことができます。 –

+0

しかし、私はpickled関数をC/C++コードから呼び出せますか? – Shai

答えて

7

現在、これはできません。 Theano関数を酸洗できるようにTheanoを修正したユーザーがいますが、unpickling中にグラフを最適化し直しています。

TheanoにC++ライブラリを生成させるプルリクエストがあります。ユーザーはそれを自分でコンパイルし、それを通常のC++ライブラリとして使用することができます。 libはPythonのlibとリンクし、numpyをインストールする必要があります。しかし、これは広範な使用のために準備ができていません。

あなたの目標は何ですか?コンパイル時間を節約するには?そうであれば、TheanoはすでにコンパイルしているC++モジュールをキャッシュしているので、次回再利用するとコンパイルが高速になります。しかし、大きなグラフの場合、上記のように最適化フェーズは常に再実行され、これにはかなりの時間がかかります。

あなたの目標は何ですか?

これは私たちが取り組んでいることです。最新のTheanoリリース(0.6)を使用してコンパイルが速くなるようにしてください。開発版も少し速いです。

+0

元の質問に目標を追加しました。当然、私はルアと一緒に行かなければならないだろう。 –

+0

C++からPythonコードを呼び出すことができます。これにより、あなたが望むことをすることができます。しかし、それはpython、NumPyとTheanoがインストールされていることを要求します。再配布には理想的ではありませんが、環境を管理していれば動作します。 – nouiz

+0

あなたはPRへのリンクを投稿しますか? –

関連する問題