问题标签 [google-cloud-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 回答
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 投票
0 回答
247 浏览

google-compute-engine - 在 VM 实例上使用 TPU 运行 python 脚本时出现问题

我通过云控制台(不是 ctpu、gcloud)创建了同名的 TPU 和 VM 实例。当我使用命令检查 VM 上的 tpu 时, gcloud compute tpus list 我的 TPU 已准备就绪。

但是当我运行 python 脚本时:

from tensorflow.contrib.cluster_resolver import TPUClusterResolver tpu_grpc_url = TPUClusterResolver(tpu="v3-nonpre", zone="us-central1-a").get_master()

它说googleapiclient.errors.HttpError: <HttpError 403 when requesting https://tpu.googleapis.com/v1alpha1/projects/red-splice-230206/locations/us-central1-a/nodes/v3-nonpre?alt=json returned "Request had insufficient authentication scopes.">

我应该做些什么来获得所需的身份验证?

0 投票
1 回答
1103 浏览

google-cloud-platform - 使用带有 TPU 的现有 VM

根据ctpu 文档,我可以使用以下命令:status、和up,以下“ctpu up 将创建一个预装了 TensorFlow 的 Compute Engine VM”在哪里。 但是,我已经在使用 GCP 上有一个虚拟机。我所有的机器学习脚本都在那里。我什至成功地执行了它们,但它们执行速度很慢,我想使用抢占式 TPU。如何连接我的 VM 以使用 TPU 而不是创建新 VM?pausedeleteup

0 投票
1 回答
6381 浏览

tensorflow - 如何在 Google Colab 中使用 TensorFlow 2.0 将 tf.Keras 模型转换为 TPU?

由于 TF 2.0 没有 tf.contrib 层,我如何转换我的模型以在 TPU 上运行训练,而无需访问tf.contrib.tpu.keras_to_tpu_model()

我尝试寻找代码,但所有代码都在 TensorFlow 1.x 上运行

我的数据在 中.npy,我有一个简单的模型,我只使用model.compile()model.fit()训练它,但看起来模型在 CPU 上运行(需要 30 分钟/epoch 与 GPU 上的 2 分钟/epoch)。

0 投票
1 回答
610 浏览

python-3.x - 使用 sparse_categorical_accuracy 和 label_encoded 数据在 TPU 上训练时出现维度错误

我正在尝试使用 Google Colab 的免费 TPU 进行培训,并且我已经使用 tf.data 创建了一个数据集。我的 y_label 是带有 7 个标签的标签编码数据。我得到这个错误

InvalidArgumentError:无法挤压昏暗[1],预期尺寸>1,>'tpu_140081340653808/metrics/metrics/sparse_categorical_accuracy/remov>e_squeezable_dimensions/Squeeze'(操作:'Squeeze')得到7,输入形状:[1024, 7]。

我如何加载我的数据

我的模型

这是我创建我的 tpu 模型并编译模型以进行训练的地方,在我运行之后,我在开始 epoch 1 后收到上述错误

0 投票
0 回答
405 浏览

tensorflow - 在 Google Colab 上使用 TPU Error_Cannot find any TPU cores in the system

我正在尝试使用 TPU 在 Google Colab 上运行BERT 模型。

TPU_NAME 到底是什么:

我试图将其定义为:

但是,我遇到了以下错误:

INFO:tensorflow:从 training_loop 记录的错误:在系统中找不到任何 TPU 核心。请仔细检查 TensorFlow 主地址和 TPU 工作人员。可用设备为 [_DeviceAttributes(/job:localhost/replica:0/task:0/device:CPU:0, CPU, 268435456, 13626261043432226130), _DeviceAttributes(/job:localhost/replica:0/task:0/device:XLA_CPU :0, XLA_CPU, 17179869184, 240953179956275984)]。

0 投票
1 回答
205 浏览

tensorflow - 使用笔记本连接到谷歌云 TPU 的连接超时

我正在尝试使用 BERT 训练模型。对于 BERT 参数,我希望能够使用我自己的数据集微调参数。

我正在使用 Google Cloud 平台和 TPU 来加速训练过程。

我正在关注教程,只是替换了以下几行:

替换:

和:

替换:

和:

并定义了以下参数:

运行以下行时:

笔记本尝试连接到以下地址 120 次但不成功并返回超时错误:

我已经创建并实例化了 TPU,并将笔记本运行时类型也设置为 TPU。有人知道为什么我无法使用笔记本连接到 TPU 吗?

0 投票
1 回答
616 浏览

tensorflow - AssertionError:使用 predict 函数时,batch_size 必须能被正在使用的 TPU 内核数(1 vs 8)整除

上下文的一些细节:

  1. 使用 TPU 在 Google Colab 上工作。
  2. 模型拟合成功,没有任何问题
  3. 尝试使用预测功能时遇到问题

这是我用来训练的代码:

这是我用来预测的代码:

这是错误(在上方添加了一个箭头,以便您知道错误的位置:

这对我来说毫无意义,因为我在训练时使用的批量大小可以被 8 整除,并且我在预测函数中传递的批量大小可以被 8 整除。

我不确定问题是什么以及如何解决它。任何帮助将非常感激。

0 投票
1 回答
844 浏览

tensorflow - BERT 如何利用 TPU 内存?

Google 的 BERT repo 中的README说,即使是长度为 512 的单个句子也不能放在 BERT-Large 模型的 12 GB Titan X 中。

但在 BERT 论文中,它说使用 64 个 TPU 芯片来训练 BERT-Large,最大长度为 512,批量大小为 256。它们如何将大于 256 倍的批量放入仅增加 171 倍的内存中?

从另一个角度来看,我们可以在每个样本的内存使用情况下比较这两种配置:

  • TPU:假设TPUv3用于预训练,总TPU内存为32GB/芯片*64芯片=2048GB。根据论文,256 的批量大小和最大长度 512 在此配置中运行良好,这意味着8 GB 内存能够容纳单个样本。此外,如果使用 GPUv2,每个样本的内存使用量将减少到仅 4 GB。
  • GPU:12 GB Titan X 甚至无法容纳长度为 512 的单个样本

为什么 GPU 上的内存消耗要大得多?这是否意味着 TPU 上的内存消耗比 GPU 上的优化方式更好?

0 投票
1 回答
1471 浏览

python - 如何将 tf.keras 与 bfloat16 一起使用

我正在尝试使用混合精度让 tf.keras 模型在 TPU 上运行。我想知道如何使用 bfloat16 混合精度构建 keras 模型。是这样的吗?