2016-11-03 8 views
3

私はこの質問に対して適切な場所ではないかもしれないが、どこから始めるべきかはっきりしていないことを認めていると言ってこの投稿を開始します。より適切なSEチャンネルがある場合は、お気軽にお勧めします。コンパイルされたKerasモデルからテンソルフローコードを返すことは可能ですか?

私はさまざまな予測問題にニューラルネットワークを適用する方法を学習するためにKerasを使用してきました。私はTensorFlowを学ぶことに興味があります.TensorFlowは、これらのネットワークの内部作業のより深い理解を得る方法です。明らかに、KerasのバックエンドをTensorFlowに切り替えたり、KerasをTensorFlowの高水準APIとして使用することは可能です。しかし、コンパイルされたKerasモデルからTensorFlowコードを "回復"する方法はありますか?私はKerasでよく知っているモデルを書くことができ、このライブラリをもっと素早く学ぶ方法としてTensorFlowへの "翻訳"を自動的に見ていくことが非常に便利だと思っています。

ご意見やご提案が役に立ちます。読んでくれてありがとう。

答えて

1

Kerasが行っているのは、TheanoとTensorFlowの両方を1つの統合バックエンドモジュールに抽象化することだけです。次に、バックエンドの関数を使用して、Kerasで使用できるレイヤーとメソッドを実装します。

これは、ある特定のバックエンドのコードを生成するためのコンパイルのステップが含まれていないことを意味します。 TheanoとTensorFlowの両方がPythonライブラリであるため、翻訳ステップの理由はありません。Kerasは指定したライブラリを使用します。

KerasのモデルがTensorFlowでどのように書かれているかを調べる最も良い方法は、おそらく、同じデータセットを持つ単純なネットワークを検索し、TensorFlowとKerasの例を比較することです。もう1つの方法は、Kerasコードを読み取り、TensorFlowバックエンドモジュールのK.<function>を参照することです。

個々のバックエンドが生成するプラットフォーム固有のコードに興味がある場合、例: CUDAコード、答えは次のとおりです。 TheanoとTensorFlowはどちらも、一時ディレクトリを使用してコードとソースを格納します。 theanoの場合、これはデフォルトで~/.theanoです。しかし、このコードを見ても、おそらく神経ネットワークとその仕組みを理解する上で賢明なものにはなりません。

関連する問題