问题标签 [ragged-tensors]

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 回答
603 浏览

python - 对 TensorFlow 服务的 RaggedTensor 请求失败

我创建了一个使用 RaggedTensors 的 TensorFlow 模型。模型工作正常,在调用时model.predict我得到了预期的结果。

我已将模型部署到 TensorFlow 服务服务器并使用以下代码调用:

但后来我收到以下错误:

我的型号说明:

我错过了什么?

更新: 检查saved_model_cli输出后,我怀疑我应该将请求作为如下对象发送,但我不确定输入...

Update2 一个Colab来测试这个场景,一个下载模型的链接包含在 Colab 中。

更新 3:

正如@Niteya Shah 所建议的那样,我使用以下方法调用了 API:

并得到了结果(终于!):

然后使用相同的数据调用模型,如下所示:

并得到了不同的结果:

我想我还是不在。

0 投票
1 回答
546 浏览

python - 广播和连接不规则张量

我有一个参差不齐的尺寸张量[BATCH_SIZE, TIME_STEPS, EMBEDDING_DIM]。我想用另一个形状张量的数据来增加最后一个轴[BATCH_SIZE, AUG_DIM]。给定示例的每个时间步都会增加相同的值。

TIME_STEPS如果每个示例的张量都没有参差不齐,我可以简单地重塑第二个张量,tf.repeat然后使用tf.concat

这在衣衫褴褛时不起作用,emb因为emb.shape[1]它是未知的并且因示例而异:

ValueError:尝试将具有不受支持的类型 (<class 'NoneType'>) 的值 (None) 转换为张量。

目标是创建一个参差不齐的张量emb_aug,如下所示:

有任何想法吗?

0 投票
1 回答
192 浏览

python - TensorFlow 从大型数据集中创建 tf.ragged.constant

拥有 50,000 个用户的 DF,每个用户都有不同的行数:

我正在使用以下代码创建一个tf.ragged.constant

该代码删除了 id 列并创建了用户行的参差不齐的常量。但是,这只适用于数据的一小部分。对于整个数据集,它需要很长时间,有时会导致我的机器崩溃。

按 id 分组并从其余列创建参差不齐的常量的正确方法是什么?

0 投票
1 回答
135 浏览

tensorflow - (tensorflow 2.4.1)如何得到一个参差不齐的张量具有确定的最后一维形状?

像这样:
'''

''' 我得到了一个形状为 [4, None, None] 的张量,但我期望 [4, None, 3],

0 投票
1 回答
226 浏览

tensorflow - Tensorflow:如何使用不规则张量作为正常张量的索引?

我有一个 2D RaggedTensor,其中包含我想要的完整张量每一行的索引,例如:

进入

我怎样才能以最有效的方式实现这一点(最好只使用tf函数)?我相信像这样gather_nd的东西能够使用 RaggedTensors,但我无法弄清楚它是如何工作的。

0 投票
1 回答
53 浏览

tensorflow - 重塑 TensorFlow RaggedTensor

我有一个形状为 (batch_size, None, None, 100) 的 4D RaggedTensor,我想从中创建一个形状为 (batch_size, None, 100) 的张量。所以基本上合并第一个和第二个维度,但不包括任何填充([1,2,3],[4] => [1,2,3,4])并且不首先转换为密集张量。有没有办法做到这一点?如果不是什么可以解决?

0 投票
0 回答
178 浏览

python - TPU 上的 RaggedTensor

我正在尝试使用将RaggedTensortf.keras.layers.Input作为输入( )作为输入的 TensorFlow 训练神经网络。它在 CPU 和 GPU 上运行良好,但我真的很努力让它在 TPU 上运行。我想知道你们中的一些人是否设法使它工作(不一定要寻找直接的解决方案,尽管它会很棒,一些工具提示已经很棒了!)。到目前为止,错误消息对我来说已经足够明确了,但我现在还在为如何走得更远而苦苦挣扎。

到目前为止我做了什么:

  1. tf.data.Dataset用来从 TF_Records 读取数据,但我需要将其显式转换为DistributedDataset以禁用 prefecting。
  1. 通过允许软设备放置,我得到了Compilation failure: Detected unsupported operations when trying to compile graph ... on XLA_TPU_JIT: RaggedTensorToTensor可以(某种程度上)修复的问题:
  1. 我现在陷入困境Compilation failure: Input 1 to node '.../RaggedReduceSum/RaggedReduce/RaggedSplitsToSegmentIds/Repeat/SequenceMask/Range' with op Range must be a compile-time constant.。我完全理解为什么会出现此错误,我完全了解TPU 上的可用操作,特别是大多数动态操作应在编译时确定以在 TPU 上运行。但我想不出我怎么能用 TPU 来使用那些参差不齐的张量......

任何想法将不胜感激:)

PS:自从 2020 年 7 月的这个答案以来,我还没有看到 TensorFlow 团队关于 TPU 上 RaggedTensors 的太多消息,但我可能已经错过了很多关于它的消息……如果我指向 git 线程对我来说已经很棒了可以调查更多。

0 投票
0 回答
79 浏览

python - 使用 tf.newaxis 进行不规则张量切片不起作用。tf.expand_dims 确实如此

我有一个参差不齐的张量seq(num_sentences、num_words、word_dim)。如果我想在末尾添加一个新轴(维度) slice seq[..., tf.newaxis],它会失败并出现以下错误。

tf.expand_dims(seq, -1)但是有效。

对此有解释吗?另外,我宁愿使用切片语法,因为它更具可读性——如果第一个 arg ofexpand_dims更复杂——你必须axis在最后的某个地方写参数(其他轴参数通常会累积......)。

编辑:复制错误:

0 投票
0 回答
55 浏览

tensorflow - Tensorflow:用每行中给定数量的元素重塑一维张量

我想在 Tensorflow 2 中将一维张量转换为二维形状,并给出每行中的元素数。我找到了一个像这样使用 RaggedTensor 的解决方案

c1 的最终值应该是

我发现当输入张量的大小很大时它会拒绝工作,并且性能不够好。

还有其他高性能解决方案吗?

0 投票
0 回答
107 浏览

tensorflow - tf.ragged.constant() API 中使用的 ragged_rank 参数是什么?

我不知道ragged_rank传递给的参数的作用是什么tf.ragged.constant()

玩它,我尝试了以下代码:

在哪里ragged_rank=1通过并产生

另一方面,如果我通过ragged_rank=2

结果看起来与我有些相似,但与上述不同:

此外,我发现以下代码会产生错误

除非我通过ragged_rank=2,否则结果: