以下代码是我用来测试性能的代码:
import time
import numpy as np
import tensorflow as tf
t = time.time()
for i in range(400):
a = np.random.uniform(0,1,(1000,2000))
print("np.random.uniform: {} seconds".format(time.time() - t))
t = time.time()
for i in range(400):
a = np.random.random((1000,2000))
print("np.random.random: {} seconds".format(time.time() - t))
t = time.time()
for i in range(400):
a = tf.random_uniform((1000,2000),dtype=tf.float64);
print("tf.random_uniform: {} seconds".format(time.time() - t))
Run Code Online (Sandbox Code Playgroud)
所有三个段均以双精度400次生成均匀随机的1000*2000矩阵.时间差异是惊人的.在我的Mac上,
np.random.uniform: 10.4318959713 seconds
np.random.random: 8.76161003113 seconds
tf.random_uniform: 1.21312117577 seconds
Run Code Online (Sandbox Code Playgroud)
为什么tensorflow比numpy快得多?