问题标签 [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 回答
810 浏览

python - 如何在 Tensorflow 中训练时修复“张量具有 NaN 值”

在 Cloud TPU 上训练对象检测器时,出现以下错误:

Error recorded from training_loop: Gradient for FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_48/weights:0 is NaN : Tensor had NaN values

这总是发生在我训练的同一步骤中。我很不确定我可能做错了什么导致这种情况。

任何建议都会很棒!我会尽量尽快回复。

我已按照本指南 在 Google 的 TPU 系统上训练对象检测器。

这是完整的错误: Error recorded from training_loop: Gradient for FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_48/weights:0 is NaN : Tensor had NaN values [[node CheckNumerics_99 (defined at /usr/local/lib/python2.7/dist-packages/tensorflow_estimator/python/estimator/estimator.py:1112) ]] Caused by op u'CheckNumerics_99', defined at: File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main "__main__", fname, loader, pkg_name) File "/usr/lib/python2.7/runpy.py", line 72, in _run_code exec code in run_globals File "/root/.local/lib/python2.7/site-packages/object_detection/model_tpu_main.py", line 142, in <module> tf.app.run() File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 125, in run _sys.exit(main(argv)) File "/root/.local/lib/python2.7/site-packages/object_detection/model_tpu_main.py", line 126, in main estimator.train(input_fn=train_input_fn, max_steps=train_steps) File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/tpu/python/tpu/tpu_estimator.py", line 2452, in train saving_listeners=saving_listeners) File "/usr/local/lib/python2.7/dist-packages/tensorflow_estimator/python/estimator/estimator.py", line 358, in train loss = self._train_model(input_fn, hooks, saving_listeners) File "/usr/local/lib/python2.7/dist-packages/tensorflow_estimator/python/estimator/estimator.py", line 1124, in _train_model return self._train_model_default(input_fn, hooks, saving_listeners) File "/usr/local/lib/python2.7/dist-packages/tensorflow_estimator/python/estimator/estimator.py", line 1154, in _train_model_default features, labels, model_fn_lib.ModeKeys.TRAIN, self.config) File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/tpu/python/tpu/tpu_estimator.py", line 2251, in _call_model_fn config) File "/usr/local/lib/python2.7/dist-packages/tensorflow_estimator/python/estimator/estimator.py", line 1112, in _call_model_fn model_fn_results = self._model_fn(features=features, **kwargs) File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/tpu/python/tpu/tpu_estimator.py", line 2633, in _model_fn update_ops = _sync_variables_ops(ctx) File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/tpu/python/tpu/tpu_estimator.py", line 207, in _sync_variables_ops for v in variables.trainable_variables() File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_array_ops.py", line 919, in check_numerics "CheckNumerics", tensor=tensor, message=message, name=name) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 788, in _apply_op_helper op_def=op_def) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/util/deprecation.py", line 507, in new_func return func(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 3300, in create_op op_def=op_def) File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1801, in __init__ self._traceback = tf_stack.extract_stack() InvalidArgumentError (see above for traceback): Gradient for FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_48/weights:0 is NaN : Tensor had NaN values [[node CheckNumerics_99 (defined at /usr/local/lib/python2.7/dist-packages/tensorflow_estimator/python/estimator/estimator.py:1112) ]] Expand all | Collapse all {

0 投票
1 回答
441 浏览

tensorflow - 如何在 TPU 上实现布尔屏蔽

我需要使用 TPUEstimator 实现布尔屏蔽操作。tf.boolean_mask 未实现。有解决方法吗?

以下代码在 CPU 和 GPU 上非常适合我的目的:

all_out 是一个形状为 [?, 128, 768] 的张量

P_mask 是形状 [?, 128] 并且第二维是 one-hot 编码以表示要提取的所需张量。

P 的所需形状是 [?,768]

当我使用 TPUEstimator 在 TPU 上运行它时,我收到以下错误消息:

0 投票
0 回答
435 浏览

python - 如何为 tpu 的多个输入提供 Tensorflow 的数据?

我正在尝试为 Keras(Tenserflow)的多个输入(2 个输入)提供数据以进行 TPU 训练,但出现此错误:

我试过这个链接:tf.data with multiple inputs/outputs in Keras

0 投票
2 回答
1349 浏览

tpu - 珊瑚开发板:计算机/树莓派无法识别

我正在尝试使用 Google Coral 开发板。我正在按照教程Get Started with the Dev Board进行操作,但我被困在Flash 板部分,并且恰好在步骤:

这个请求什么也没给我,实际上在做dmesg之后没有使用 cp210x 列出的转换器的 USB 。我已经验证了/etc/udev/rules.d/65-edgetpu-board.rules的内容,很好。

lsusb给了我:

我的用户帐户在dialoutplugdev组中。并且 cp210x 驱动程序正在运行。

我在全新安装的 Ubuntu 18.04 LTS 和 Raspberry Pi 3B+ 上遇到了这个问题。

0 投票
1 回答
205 浏览

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

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

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

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

替换:

和:

替换:

和:

并定义了以下参数:

运行以下行时:

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

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

0 投票
1 回答
543 浏览

tensorflow - TPU 估计器中的静音记录

我正在使用 BERTrun_classifier和 tensorflow TPUEstimator,每次我训练我的模型或使用估计器预测器进行预测时,我的屏幕上都会打印出太多的日志信息。我怎样才能摆脱这些信息。以下行被打印一百万次:

以下行也在我的屏幕上被写了一百万次(尽管没有问题,并且模型是使用 TPU 正确训练的)

这是产生这种冗长的代码:

我怎样才能要求模型不要打印它们?

0 投票
1 回答
616 浏览

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

上下文的一些细节:

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

这是我用来训练的代码:

这是我用来预测的代码:

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

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

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

0 投票
0 回答
359 浏览

python - TPU 不支持占位符 X 类型的操作。如果在图中使用此操作,执行将失败

我正在 TPU 上使用 BERT 运行文本分类任务。我使用了不同的教程来运行我的实验1234。我与第二个示例的唯一区别是我的数据集不是 Bert 处理器中预定义的数据集之一,因此我必须自己加载和预处理它。另外,我想在其中进行一些更改,create_model因此我不得不将其写下来如下:

当我运行代码时,create_model我看到很多错误,而训练没有问题并且一切顺利,但我不确定是否:1.由于以下错误,模型是否使用 TPU,2.该模型正在使用 Bert 并对其进行微调,因为所有create_model函数都存在以下错误。任何想法?这是错误(所有功能数百万次):

Operation of type Placeholder X is not supported on the TPU. Execution will fail if this op is used in the graph.

0 投票
1 回答
498 浏览

tensorflow - 如何在 Edge TPU 模型编译器上编译嵌入提取器?

在珊瑚上编译嵌入式提取器时出错

我正在尝试在我的珊瑚 edgeTPU 设备上重新训练图像分类器。因此,我按照Coral 的“在设备上重新训练图像分类模型”教程中解释的步骤进行操作:

嵌入式提取器创建

事实上,我根据给定的示例创建了一个嵌入提取器 tflite 文件:

Edge TPU 模型编译器上传

我得到了文件mobilenet_v1_embedding_extractor.tflite并将其上传到Edge TPU Model Compiler. 不幸的是,编译过程确实失败了,我收到以下错误消息:

根据我的理解,上述过程必须在使用classification_transfer_learning.py脚本在 raspberryPi + edgeTPU/devBoard 上执行设备上学习之前完成。

我希望你能给我一个提示来解决这个问题,并提前感谢。

2019 年 5 月 3 日更新

当我使用未修改的mobilenet_v1_1.0_224_quant.tflite模型时,编译工作没有任何错误。

我使用了tensorflow量化模型

0 投票
2 回答
6340 浏览

python - ValueError:维度 0 的切片索引 0 超出范围。在使用谷歌 colab TPU 时

我尝试在 TPU 上运行带有 DENSE 层的简单自动编码器。但是发生了这个错误。当我在 GPU 和 CPU 上运行它时没问题。我正在使用 Google Colab

我尝试按照 Tensorflow 的建议将第一层的 input_dims 更改为 input_shape。

这是我的代码示例:

使用 TPU 编译和运行。

训练模型。

突然发生这个错误