在CPU上,使用variable和placeholder效果差很少
在GPU上,使用variable要比每次都傳placeholder快得多3:2
使用GPU的瓶頸主要在於GPU和內存之間的複製操做python
""" place_holder和variable速度對比 """ import time import numpy as np import tensorflow as tf M = 4096 N = 4096 K = 4096 A = np.random.random((N, M)) B = np.random.random((M, K)) a = tf.placeholder(dtype=tf.float32, shape=(None, M)) b = tf.placeholder(dtype=tf.float32, shape=(None, N)) c = tf.Variable(initial_value=A, dtype=tf.float32) pro = a @ b use_assign = c @ b with tf.Session() as sess: sess.run(tf.global_variables_initializer()) beg_time = time.time() for i in range(5): sess.run(use_assign, feed_dict={ b: B }) print("use variable", time.time() - beg_time) beg_time = time.time() for i in range(5): sess.run(pro, feed_dict={ a: A, b: B }) print("use placeholder", time.time() - beg_time)