问题标签 [tpu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1248 浏览

tensorflow - 在 Cloud ML Engine 上使用 TPU

我正在尝试在 Cloud ML Engine 上使用 TPU,但我不知道应该如何提供预期的tpu论点。TPUClusterResolver

这是我正在使用的环境:

作业因以下原因而崩溃:

作为一个单独的问题 - ML 引擎似乎正在自行添加--master grpc://10.129.152.2:8470到我的工作中,这也使工作崩溃。作为一种解决方法,我只是在我的代码中添加了一个未使用的主标志。

0 投票
1 回答
232 浏览

tensorflow - 在估计器模型函数中使用 tf.cond() 在 TPU 上训练 WGAN 会导致 global_step 加倍

我正在尝试在 TPU 上训练 GAN,因此我一直在使用 TPUEstimator 类和随附的模型函数来尝试实现 WGAN 训练循​​环。我正在尝试tf.cond将 TPUEstimatorSpec 的两个训练操作合并为:

gen_opt并且critic_opt是我正在使用的优化器的最小化功能,也设置为更新全局步骤。CRITIC_UPDATES_PER_GEN_UPDATE是一个 Python 常量,它是 WGAN 训练的一部分。我尝试使用 找到 GAN 模型tf.cond,但所有模型都使用tf.group,我不能使用它,因为您需要比生成器优化更多次批评者。但是,每次运行 100 个批次,全局步长根据检查点编号增加 200。我的模型是否仍在正确训练,或者tf.cond不应该以这种方式用于训练 GAN?

0 投票
2 回答
932 浏览

keras - 在 Google Colab 中使用相同的 TPU 模型进行训练和推理(预测)

我有这样的代码:

请注意,我将相同tpu_model的方法用于批量预测和训练。

tpu_model.predict()似乎工作正常,但是当它运行时tpu_model.fit(...),它会引发以下错误:

从日志中可以看出,在 TPU 上运行似乎有两种模式:
1. mode=infer
2.mode=training

看来两者不能同时进行。有没有办法解决?

我不能使用生成器,因为我正在做强化学习,其中批次基于动态添加到列表中的实时样本,从该列表中对批次进行采样、预测(并且更改某些值)和训练。

0 投票
2 回答
2744 浏览

tensorflow - 如何将keras模型转换为tpu模型

我正在尝试将 Google 云控制台中的 Keras 模型转换为 TPU 模型。不幸的是,我收到如下所示的错误。我的最小示例如下:

我的输出是:

keras_to_tpu_model 方法似乎是实验性的,如 tensorflow 网站所示。它最近被删除了吗?如果是这样,我该如何继续使用 TPU 来估计我的 Keras 模型?如果 keras_to_tpu_model 方法仍然可用,为什么我不能调用它?

0 投票
1 回答
1448 浏览

tensorflow - 将代码从 keras 转换为 tf.keras 会导致问题

我正在使用本文中的代码在 Keras 中学习机器翻译。这篇文章的代码在 GPU 和 CPU 上运行良好。

现在我想利用 Google Colab TPU。代码没有按原样进行 TPU 化,我需要朝 TF 方向移动。

根据 TPU 的Fashion MNIST 笔记本,我在 Tensorflow 中使用 Keras 层,而不是相反。在进入 TPU 部分之前,我正在执行此转换以查看它是否仍可在 GPU 上运行。这意味着主要改变这个功能,从:

至:

然后我做

但是,当我跑步时,这会导致投诉:

然后在 GPU 内部适配期间,它在 BLAS 负载上失败,如下所示:

这是在转换为 TPU 模型之前。在进行最终的 TPU 转换之前,我只是想确保事情仍然在 CPU 和 GPU 上运行。他们没有。关于为什么我不能走这么远的任何想法?

0 投票
1 回答
760 浏览

python - 如何将 TPUEstimator.export_saved_model 与 Tensorflow 1.12 一起使用?

export_saved_model在 TPUEstimator 上使用会引发 TypeError:无法使用 Tensorflow 1.12.0 将类型对象转换为张量。我是否使用不正确,或者如果它是一个错误,是否有一些解决方法?

我想使用 TPUEstimator 在 TPU 上训练一个模型,然后在 CPU 上本地使用训练后的模型。我不能直接使用训练期间保存的图表,但我需要使用export_saved_modelGithub issue)。

export_saved_model在 TPUEstimator 上可以与 Tensorflow 1.13.0rc0 一起正常工作,但是在当前的 Tensorflow 1.12.0 上会失败(另一个 Github 问题)。但是,目前 Google Cloud 上不提供带有 Tensorflow 1.13 的 TPU,并且带有 Tensorflow 1.12 的 TPU 不兼容,因此无法将 Tensorflow 升级到 1.13。

相关代码为:

预期结果。 模型应正确导出。这发生在 Tensorflow 1.13.0rc0 或 TPUEstimator 被 Estimator 取代。前者可以使用这个 colab 复制)。

实际结果。 导出失败并出现 TypeError: Failed to convert object of type 和下面包含的回溯。这可以用这个 colab 复制

0 投票
0 回答
213 浏览

python - 如何在 TPU 的其他模型中使用 keras 模型

我正在尝试将 keras 模型转换为 google colab 中的 tpu 模型,但是这个模型里面有另一个模型。

看一下代码: https ://colab.research.google.com/drive/1EmIrheKnrNYNNHPp0J7EBjw2WjsPXFVJ

这是 google tpu 文档中示例之一的修改版本: https ://colab.research.google.com/github/tensorflow/tpu/blob/master/tools/colab/fashion_mnist.ipynb

如果 sub_model 被转换并直接使用,它可以工作,但如果子模型在另一个模型中,它就不起作用。我需要网络的子模型类型,因为我正在尝试训练一个内部有 2 个网络的 GAN 网络(gan=generator+discriminator),所以如果这个测试有效,它可能也适用于 gan。

我尝试了几件事:

  • 在不转换子模型的情况下将模型转换为 tpu,这样在开始训练时会提示与子模型的输入相关的错误。
  • 将模型和子模型都转换为tpu,这样在转换“父”模型时会提示错误,异常只在“层”末尾说。
  • 仅将子模型转换为 tpu,在这种情况下不会提示错误,但 tpu 不会加速训练,并且非常慢,就像根本没有转换为 tpu 一样。
  • 是否使用固定的批量大小,两者的结果相同,模型不起作用。

有任何想法吗?非常感谢。

0 投票
1 回答
28 浏览

google-cloud-platform - 无法为谷歌云 TPU 找到 python api

我正在寻找任何用于使用 python api 创建/维护谷歌云 tpu 的 python api 参考。有人可以帮我吗?

0 投票
0 回答
1457 浏览

python - AttributeError:“KerasTPUModel”对象没有属性“_distribution_strategy”

我正在使用以下设置训练模型:

  • 凯拉斯模型
  • 热塑性聚氨酯
  • 谷歌 Colab
  • 张量流 1.12
  • Python3.6

这是我的火车代码:

我的数据集是一个简单的tf.data.Dataset.zip((images, labels))

我得到了这个奇怪的错误:

AttributeError:“KerasTPUModel”对象没有属性“_distribution_strategy”

感谢。

朱利安

0 投票
0 回答
58 浏览

tensorflow - 如何分配多个 TPU 并调整代码以在所有 TPU 上运行

作为我研发的一部分,我获得了对多个 TPU 的访问权限,但我找不到如何将它们分配在一起以用于我的培训目的的文档,无论是在节点方面还是在代码方面。文档说ctpu up -zone MY_ZONE_CHOICE,但是这个命令只分配一个 TPU。而且,如果我想使用多个 TPU,我应该在代码中添加哪些类似的更改?到目前为止,我已经使用这个调用tf.contrib.cluster_resolver.TPUClusterResolver()来检查 TPU,应该改变什么(如果有的话)来检查我是否可以访问多个 TPU?