为什么张量流中的随机数生成器 tf.random_uniform 比等效的 numpy 快得多

以下代码是我用来测试性能的:


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))

所有这三个段都以双精度 400 次生成均匀随机的 1000*2000 矩阵。时间差异是惊人的。在我的 Mac 上,


np.random.uniform: 10.4318959713 seconds

np.random.random:  8.76161003113 seconds

tf.random_uniform: 1.21312117577 seconds

为什么 tensorflow 比 numpy 快得多?


素胚勾勒不出你
浏览 130回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python