- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以 TPU 可接受的方式缓存/生成数据集的最佳策略是什么?
到目前为止,我设法在自己创建的数据集上训练 tensorflow 模型。每个数据点都基于大型时间序列进行大量设计,使用基于 numpy、pandas、scipy 和其他 python 包构建的定制逻辑。最终的数据集创建步骤如下所示:
train_ds = tf.data.Dataset.from_generator(
generator=data_gen,
output_types=(tf.float32, tf.float32),
output_shapes=([None, len(cols_of_interest)],()),
args=([True, datafile, REGRESSION, num_features])
)
模型很好,在使用 CPU 时收敛。当我转向在 Google Colab 中使用 TPU 时,我收到与无法在 TPU 上运行我的 data_gen
函数相关的错误:
/usr/local/lib/python3.6/dist-packages/six.py in raise_from(value, from_value)
NotFoundError: No registered 'PyFunc' OpKernel for 'CPU' devices compatible with node {{node PyFunc}}
. Registered: <no registered kernels>
[[PyFunc]]
[[IteratorGetNext]]
Encountered when executing an operation using EagerExecutor. This error cancels all future operations and poisons their output tensors.
Additional GRPC error information:
{"created":"@1576029311.304590975","description":"Error received from peer","file":"external/grpc/src/core/lib/surface/call.cc","file_line":1039,"grpc_message":" No registered 'PyFunc' OpKernel for 'CPU' devices compatible with node {{node PyFunc}}\n\t. Registered: <no registered kernels>\n\n\t [[PyFunc]]\n\t [[IteratorGetNext]]\n\tEncountered when executing an operation using EagerExecutor. This error cancels all future operations and poisons their output tensors.","grpc_status":5} [Op:__inference_distributed_function_5899]
Function call stack:
distributed_function -> distributed_function
在我的策略中,我从一个单一的原始数据文件生成多个数据点。这一切都根据文件的内容而有所不同,所以我无法预先知道有多少数据点。文件数量和最终数据点数量之间没有相关性。我还查看了 TimeseriesGenerator
,但它对我不起作用。
我正在处理医疗传感器数据,因此原始文件在几十 GB 的范围内。将所有内容保存在一个大文件中实际上行不通。
以 TPU 可接受的方式缓存/生成数据集的最佳策略是什么?
最佳答案
我从未使用过 TPU,但您的错误似乎与 CPU/TPU 混合执行有关。 TensorFlow 数据集 API 使用图形模式执行,因此要求您的操作可用于您的加速器,对于标识为 PyFunc
操作的“自定义 python 生成器”可能不是这种情况。这是我的理解,可能是错误的。
顺便说一句,解决此问题的一种方法是将数据集生成和 TPU 训练分开。
使用第一个任务生成数据集并将其保存到磁盘。 TFRecord 格式允许您将数据集拆分为许多小文件而不是一个大文件。您还可以寻找一些尺寸优化:compress你的数据,你可以使用 sparse tensors等
然后你就可以使用更经典的tf.data.TFRecordDataset
了,我认为它比 GeneratorDataset
更适合 TPU 执行。
关于tensorflow - 在 TPU 上使用大型 tensorflow 数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59277936/
按照 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
我是一名优秀的程序员,十分优秀!