2017-12-14 17 views
0

私はNMTモデルに触発されたモデルを実装しています。 TFRecordDatasetを使用してモデルをフェッチしてモデルにフィードするために、TFRecordsファイルとして格納されたトレーニングセットを使用しています。次のGoogleのrecommendations入力パイプラインパフォーマンスの改善について、私が持っている:Tensorflowデータセットのパフォーマンスですか?

  • さは約100メガバイトTFrecordsファイル(より多くの例を含む以下のファイルを持つ)
  • まで事前にCPU上で可能な限り
  • 積み重ねられたいくつかの訓練例を前処理
  • は、データセットmap操作でnum_parallel_callsprefetchを使用しました。

しかし、GPUは最大40%のままで、CPUを実行した場合とほとんど同じ速度です。私はこのように、prefetchオペレーションについて疑問を抱いています。

  • 私が正しく理解していれば、それはN例をバッファリングし、特殊なスレッドを作成します。しかし、それはどういう意味ですか?バッファリングされていない他の例はどうなりますか?

  • は、プリフェッチバッファサイズ、完全なデータセットのサンプル数、およびバッチサイズの間に最適な関係がありますか? NMTコードでは、プリフェッチバッファサイズは1000*batch_sizeに設定されていますが、なぜですか?たとえば私は10000の例を使用しています、100のバッチサイズ、プリフェッチバッファサイズは何でしょうか?

データセットのスピードアップに関するその他のアドバイスは高く評価されます。

答えて

関連する問題