0
TensorFlowには、私が使用しているGPUを非公式にベンチマークするためのTensorFlowプログラムがあります.TensorFlowに付属のプロファイリングツールについて理解しています。このコードでは、行列の2つのプレースホルダとmatmul opを設定し、プレースホルダにデータを挿入して10回グラフを実行するセッションを呼び出します。私はtensorboardグラフを見るとTensorflowタイムライン戻るメタデータNaN
n = 10240
iter = 10
tf.reset_default_graph()
graph = tf.Graph()
with graph.as_default():
with tf.device("/gpu:0"):
matrix1 = tf.placeholder(tf.float32, [n, n], name="Matrix_One")
matrix2 = tf.placeholder(tf.float32, [n, n], name="Matrix_Two")
product = tf.matmul(matrix1, matrix2, name = "Matrix_Multiply")
date = datetime.now()
cwd = os.getcwd()
LogBase = cwd + "/benchmarks2/"
LogPath = LogBase + date.strftime("%Y%m%d-%H%M%S") + "/"
print(LogPath)
with tf.Session(graph=graph) as session:
tf.global_variables_initializer().run()
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
run_metadata = tf.RunMetadata()
writer = tf.summary.FileWriter(LogPath, session.graph)
for i in range(iter):
m1 = np.random.rand(n, n)
m2 = np.random.rand(n, n)
feed_dict = { matrix1 : m1,matrix2 : m2}
p = session.run([product], feed_dict=feed_dict, options=run_options, run_metadata=run_metadata)
writer.add_run_metadata(run_metadata, 'step%2d' % i)
tf.summary.FileWriter(LogPath, graph).close()
二つの特色が出てくる:ここ
はコードで、私は10回の反復を実行- ますが、tensorboardしか思われ、8つのステップを示しています以下に示すよう
- 奇数は最も重要なことは、私は、計算時間やメモリのためのNaN以外のものを見ることはありません。行列複数演算が選択されていることに注意してください。
なぜこのようなことが起こりますか?どのように修正できますか?