2017-10-17 2 views
0

私はPytorchモデルとテンソルフローモデルを持っていますので、私はそれらを一緒に1つのGPUで訓練したいと思います。input --> pytorch model--> output_pytorch --> tensorflow model --> output_tensorflow --> pytorch modelというプロセスに従ってください。1つのGPUで、ピンクとテンソルフローのモデルを一緒に訓練することは可能ですか?

これは可能ですか?答えが「はい」の場合、私は遭遇する問題はありますか?

ありがとうございます。

+0

TFで 'per_process_gpu_memory_fraction'を使用して、単一セッションによるメモリ使用を制限し、FIFOキューを使用して両方のモデルを接続します。 –

+0

はい。しかし、私はそれをお勧めしません。 TFは、GPUだけを使用することを好む。 –

答えて

0

私はこれをしていませんが、それは可能ですが少し実装することができます。 それぞれのネットワークを機能と見なすことができます。ある意味では、これらの機能を使ってネットワークを構成し、これを行うには、あるネットワークの結果を他のネットワークに与えるだけで、ルールを使用して(両方のパッケージからの象徴的な区別を使用して)派生物を計算します。

これを実装する良い方法は、TFモデルをPyTorch としてラップし、逆方向パスの計算にtf.gradientsを使用することです。 グラジエントの更新は実際には難しくなります(いくつかの変数がTFの計算グラフに存在するため)TF変数をPyTorch Variableに変更してTF計算グラフのplaceholdeに変換し、feed_dictに入力してPyTorchメカニズムを使用して更新しますそれはあなたがあなたの仕事をすることができるかもしれない機能の逆方向の方法の中であなたの更新を行う場合(本当に醜いですが、仕事をするかもしれない)、本当にやりにくいでしょう。

関連する問題