Tensorflow技巧(3):高效的代码实现

import tensorflow as tf
import time

x = tf.random_uniform([500, 10])

z = tf.zeros([10])
for i in range(500):
    z += x[i]

sess = tf.Session()
start = time.time()
sess.run(z)
print("First: Took %f seconds." % (time.time() - start))

z = tf.zeros([10])
for x_i in tf.unstack(x):
    z += x_i
start = time.time()
sess.run(z)
print("Second: Took %f seconds." % (time.time() - start))

z = tf.zeros([10])
z = tf.reduce_sum(x, axis=0)
start = time.time()
sess.run(z)
print("Third: Took %f seconds." % (time.time() - start))

输出:

First: Took 0.833169 seconds.
Second: Took 0.203076 seconds.
Third: Took 0.062491 seconds.

可以看到,实现同样的功能不同的实现方式耗时差距达十几倍。

猜你喜欢

转载自blog.csdn.net/heiheiya/article/details/81098318
今日推荐