テンソルフローで非常に奇妙な問題があります。非常に単純な "forループ"でTensorflowの計算時間が徐々に減速します
単純な行列乗算をテンソルフロー言語で書くだけで、この行列乗算を「forループ」に入れます(もちろん、他の複雑な関数をforループに入れることもできますが、結論は同じです)。
繰り返し回数を10000回に設定し、各ループで時間を消費すると、時間の消費が徐々に増加していることがわかります(各ループの時間は同じでなければなりませんが、初めに)
import tensorflow as tf
import numpy as np
import datetime
graph=tf.Graph()
with graph.as_default():
with tf.device("/gpu:0"):
a=np.arange(10).reshape(1,-1)
b=np.arange(100).reshape(10,10)
A = tf.placeholder(tf.float32, [1,10])
B = tf.placeholder(tf.float32, [10,10])
sess = tf.InteractiveSession()
for step in range(10000):
starttime = datetime.datetime.now()
RESULT = tf.matmul(A,B)
RESULT=sess.run(RESULT,feed_dict={A: a, B: b})
endtime = datetime.datetime.now()
print(endtime-starttime)
、プログラムは次のような結果印刷:
0:00:00.011470
0:00:00.013232
0:00:00.013088
0:00:00.015906
0:00:00.012659
0:00:00.012914
0:00:00.012562
0:00:00.011941
0:00:00.013575
0:00:00.012251
0:00:00.013759
0:00:00.012534
0:00:00.011859
...
0:00:00.031062
0:00:00.031676
0:00:00.031388
0:00:00.031349
0:00:00.032476
0:00:00.031337
0:00:00.031147
0:00:00.031121
0:00:00.030795
0:00:00.031143
0:00:00.031277
0:00:00.031015
0:00:00.034139
0:00:00.032749
:数秒後に
0:00:00.003058
0:00:00.003216
0:00:00.003195
0:00:00.003213
0:00:00.003653
0:00:00.003599
0:00:00.003297
0:00:00.003172
0:00:00.003235
0:00:00.004374
0:00:00.003442
0:00:00.003387
0:00:00.003290
を、私はこれを得ました
これは、計算が遅くなることを意味します。なぜ誰かが私に言うことができますか?どうもありがとう。
ありがとうございます!!!!!!!!!!!さらに、あなたは非常に迅速に答えた!!!!!!!!!!!!!、あなたは正しい!!!!!!!!! – zeekzhen