问题标签 [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.
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 {
tensorflow - 如何在 TPU 上实现布尔屏蔽
我需要使用 TPUEstimator 实现布尔屏蔽操作。tf.boolean_mask 未实现。有解决方法吗?
以下代码在 CPU 和 GPU 上非常适合我的目的:
all_out 是一个形状为 [?, 128, 768] 的张量
P_mask 是形状 [?, 128] 并且第二维是 one-hot 编码以表示要提取的所需张量。
P 的所需形状是 [?,768]
当我使用 TPUEstimator 在 TPU 上运行它时,我收到以下错误消息:
python - 如何为 tpu 的多个输入提供 Tensorflow 的数据?
我正在尝试为 Keras(Tenserflow)的多个输入(2 个输入)提供数据以进行 TPU 训练,但出现此错误:
tpu - 珊瑚开发板:计算机/树莓派无法识别
我正在尝试使用 Google Coral 开发板。我正在按照教程Get Started with the Dev Board进行操作,但我被困在Flash 板部分,并且恰好在步骤:
这个请求什么也没给我,实际上在做dmesg之后没有使用 cp210x 列出的转换器的 USB 。我已经验证了/etc/udev/rules.d/65-edgetpu-board.rules的内容,很好。
而lsusb给了我:
我的用户帐户在dialout和plugdev组中。并且 cp210x 驱动程序正在运行。
我在全新安装的 Ubuntu 18.04 LTS 和 Raspberry Pi 3B+ 上遇到了这个问题。
tensorflow - 使用笔记本连接到谷歌云 TPU 的连接超时
我正在尝试使用 BERT 训练模型。对于 BERT 参数,我希望能够使用我自己的数据集微调参数。
我正在使用 Google Cloud 平台和 TPU 来加速训练过程。
我正在关注本教程,只是替换了以下几行:
替换:
和:
替换:
和:
并定义了以下参数:
运行以下行时:
笔记本尝试连接到以下地址 120 次但不成功并返回超时错误:
我已经创建并实例化了 TPU,并将笔记本运行时类型也设置为 TPU。有人知道为什么我无法使用笔记本连接到 TPU 吗?
tensorflow - TPU 估计器中的静音记录
我正在使用 BERTrun_classifier
和 tensorflow TPUEstimator
,每次我训练我的模型或使用估计器预测器进行预测时,我的屏幕上都会打印出太多的日志信息。我怎样才能摆脱这些信息。以下行被打印一百万次:
以下行也在我的屏幕上被写了一百万次(尽管没有问题,并且模型是使用 TPU 正确训练的)
这是产生这种冗长的代码:
我怎样才能要求模型不要打印它们?
tensorflow - AssertionError:使用 predict 函数时,batch_size 必须能被正在使用的 TPU 内核数(1 vs 8)整除
上下文的一些细节:
- 使用 TPU 在 Google Colab 上工作。
- 模型拟合成功,没有任何问题
- 尝试使用预测功能时遇到问题
这是我用来训练的代码:
这是我用来预测的代码:
这是错误(在上方添加了一个箭头,以便您知道错误的位置:
这对我来说毫无意义,因为我在训练时使用的批量大小可以被 8 整除,并且我在预测函数中传递的批量大小可以被 8 整除。
我不确定问题是什么以及如何解决它。任何帮助将非常感激。
python - TPU 不支持占位符 X 类型的操作。如果在图中使用此操作,执行将失败
我正在 TPU 上使用 BERT 运行文本分类任务。我使用了不同的教程来运行我的实验1、2、3和4。我与第二个示例的唯一区别是我的数据集不是 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.
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
模型时,编译工作没有任何错误。
python - ValueError:维度 0 的切片索引 0 超出范围。在使用谷歌 colab TPU 时
我尝试在 TPU 上运行带有 DENSE 层的简单自动编码器。但是发生了这个错误。当我在 GPU 和 CPU 上运行它时没问题。我正在使用 Google Colab
我尝试按照 Tensorflow 的建议将第一层的 input_dims 更改为 input_shape。
这是我的代码示例:
使用 TPU 编译和运行。
训练模型。
突然发生这个错误