2017-10-25 8 views
0

テンソルフローのLSTMのコストを計算するためのコードは次のとおりです。コードを実行すると、オプティマイザのステップには25分かかります。最小化(コスト)操作に多くの時間がかかります

cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=pred, labels=y_class)) 
optimizer = tf.train.RMSPropOptimizer(learning_rate=lr).minimize(cost) 

どうしてですか?これは私の体重、バイアス、私のLSTMの隠れた層の数に依存していますか? 私はGTX 840Mのネットワークを訓練しています

+0

ウェイトとバイアスの初期化の学習率とモード、およびアクティブ化関数のタイプは何ですか? –

+0

私は重みに 'truncated_normal_initializer'を使い、バイアスには' constant_initializer'を使っています。学習率は0.001 – Anil

答えて

0

RNNがGPUで遅いのはかなり普通です。こちらの回答(https://datascience.stackexchange.com/questions/19220/choosing-between-cpu-and-gpu-for-training-a-neural-network)によると、GPUモデルによってはCPUよりも悪いことがあります。

RNNトレーニング時間は、(入力数と隠れユニットの数によって異なる)重みパラメータの数によって異なります。したがって、可能であれば、それらの数を減らすことができます。

また、この答え(How to speedup rnn training speed of tensorflow?)することができます、異なるバッチサイズと

  1. 列車によって示唆されているように。
  2. 通常のsoftmaxの代わりにsampled softmaxを使用します。

さらに、あなたはUに良い理解を与える最適化RNN性能、上のBaiduから、この記事(http://svail.github.io/rnn_perf/)を読み取ることができます。

これが役に立ちます。

関連する問題