- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚在 Google Colab 中尝试使用 TPU,我想看看 TPU 比 GPU 快多少。令人惊讶的是,我得到了相反的结果。
以下是NN。
random_image = tf.random_normal((100, 100, 100, 3))
result = tf.layers.conv2d(random_image, 32, 7)
result = tf.reduce_sum(result)
性能结果:
CPU: 8s
GPU: 0.18s
TPU: 0.50s
我不知道为什么......TPU的完整代码如下:
def calc():
random_image = tf.random_normal((100, 100, 100, 3))
result = tf.layers.conv2d(random_image, 32, 7)
result = tf.reduce_sum(result)
return result
tpu_ops = tf.contrib.tpu.batch_parallel(calc, [], num_shards=8)
session = tf.Session(tpu_address)
try:
print('Initializing global variables...')
session.run(tf.global_variables_initializer())
print('Warming up...')
session.run(tf.contrib.tpu.initialize_system())
print('Profiling')
start = time.time()
session.run(tpu_ops)
end = time.time()
elapsed = end - start
print(elapsed)
finally:
session.run(tf.contrib.tpu.shutdown_system())
session.close()
最佳答案
正确地对设备进行基准测试非常困难,因此请对您从这些示例中学到的一切持保留态度。一般来说,最好比较您感兴趣的特定模型(例如运行 ImageNet 网络)以了解性能差异。也就是说,我知道这样做很有趣,所以...
较大的模型将更好地说明 TPU 和 GPU 性能。您的示例还将编译时间包含在 TPU 调用的成本中:给定程序和形状的第一次调用之后的每个调用都将被缓存,因此您需要在启动计时器之前进行一次 tpu_ops
,除非您想要捕获编译时间。
目前,每次调用 TPU 函数都会在开始运行之前将权重复制到 TPU,这对小操作的影响更为显着。以下示例在返回 CPU 之前在 TPU 上运行循环,并具有以下输出。
。因此,您实际上可以在 0.55 秒内运行该函数 100 次迭代。
import os
import time
import tensorflow as tf
def calc(n):
img = tf.random_normal((128, 100, 100, 3))
def body(_):
result = tf.layers.conv2d(img, 32, 7)
result = tf.reduce_sum(result)
return result
return tf.contrib.tpu.repeat(n[0], body, [0.0])
session = tf.Session('grpc://' + os.environ['COLAB_TPU_ADDR'])
try:
print('Initializing TPU...')
session.run(tf.contrib.tpu.initialize_system())
for i in [1, 10, 100, 500]:
tpu_ops = tf.contrib.tpu.batch_parallel(calc, [[i] * 8], num_shards=8)
print('Warming up...')
session.run(tf.global_variables_initializer())
session.run(tpu_ops)
print('Profiling')
start = time.time()
session.run(tpu_ops)
end = time.time()
elapsed = end - start
print(i, elapsed)
finally:
session.run(tf.contrib.tpu.shutdown_system())
session.close()
关于tensorflow - TPU 比 GPU 慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52580464/
按照 Get Started with Edge TPU Dev Board 上的说明进行操作,我无法通过第 2 步: $ screen /dev/ttyUSB0 115200 问题是屏幕立即返回 [
我正在尝试使用 TPU 在 google colab 上进行一些基本的字符分类。我收到以下错误: InvalidArgumentError: Unsupported data type for TPU
我的数据集很大(大约 13gb)。我有一个数据集的 hdf5 文件,我正在使用自定义生成器从数据集中加载批处理。我的模型在 Kaggle GPU 上运行良好,但当我切换到 TPU 时出现错误。下面是我
我正在使用预训练的 keras 模型,我想在 Google Colaboratory 的 TPU 上运行它,但出现以下错误: ValueError: Layer has a variable shap
CPU即中央处理器(Central Processing Unit) GPU即图形处理器(Graphics Processing Unit) TPU即谷歌的张量处理器(Tens
如何在 Google Colab 中打印我正在使用的 TPU 版本以及 TPU 有多少内存? 我得到以下输出 tpu = tf.distribute.cluster_resolver.TPUClust
我正在尝试使用 TPU client API 创建 Google Cloud TPU 节点我无法找出 Google Cloud 中 TPU 节点的父资源名称。 下面你可以找到我用来创建节点的完整代码,
无论我们是使用 Google Colab 还是直接访问 Cloud TPU,以下程序仅提供有关底层 TPU 的有限信息: import os import tensorflow as tf tpu_a
我试图在 TPU 上乘以 3000 个独立的矩阵和向量以加快计算速度,但我遇到了一些问题。我无法得到最终结果,我也很感兴趣是否有更好的解决方案。 代码如下: import time import nu
我正在尝试使用 TPU 在 Colab 上训练和运行图像分类模型。没有pytorch。 我知道 TPU 仅适用于来自 GCS 存储桶的文件,因此我从存储桶加载数据集,并且还评论了检查点和日志记录功能,
我正在关注 Google's object detection on a TPU发布并在培训方面碰壁。 查看作业日志,我可以看到 ml-engine 为各种软件包运行了大量 pip 安装,配置了 TP
我正在尝试使用 pytorch_xla 使用 TPU,但它在 _XLAC 中显示导入错误。 !curl https://raw.githubusercontent.com/pytorch/xla/ma
我正在训练一个模型,当我在 Google Cloud Platform 控制台中打开 TPU 时,它会向我显示 CPU 利用率(我想是在 TPU 上)。它真的非常非常低(比如 0.07%),所以也许是
我有 100k 张照片,它不适合内存,所以我需要在训练时从光盘读取它。 dataset = tf.data.Dataset.from_tensor_slices(in_pics) dataset =
我刚刚在 Google Colab 中尝试使用 TPU,我想看看 TPU 比 GPU 快多少。令人惊讶的是,我得到了相反的结果。 以下是NN。 random_image = tf.random_n
我正在尝试将 keras 模型转换为 google colab 中的 tpu 模型,但该模型内部有另一个模型。 看一下代码: https://colab.research.google.com/dri
我正在尝试在 Google 云上使用 TPU,并且正在尝试弄清楚如何指定要使用的正确 TPU。我正在尝试遵循快速入门 https://cloud.google.com/tpu/docs/quickst
我编写的代码可以在 GPU 上运行,但实验的周转时间很长。我想移植这段代码,以便可以在 TPU 上运行它。我怎么能这样做?这就是我所拥有的。 Bunch of datloading stuff !!!
我如何在 colab 上查看 TPU 的规范,对于 GPU,我可以使用类似的命令 nvidia-smi 但它不适用于 TPU,我如何查看 TPU 的规范? 最佳答案 我找不到来源。但据说 Colab
以 TPU 可接受的方式缓存/生成数据集的最佳策略是什么? 到目前为止,我设法在自己创建的数据集上训练 tensorflow 模型。每个数据点都基于大型时间序列进行大量设计,使用基于 numpy、pa
我是一名优秀的程序员,十分优秀!