问题标签 [tensorflow-transform]

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

python - 'ValueError:遇到无法由 ListColumnRepresentation 解码的 SparseTensorValue' 使用 Tensorflow Transform / Beam 时

我正在运行张量流变换/光束管道来加载/预处理并保存为 TFRecords。然后加载这些记录。在 Tensorflow Transform 的预处理过程中,我想填充一个稀疏张量。因此,我想将其转换为密集,填充并将其转换回稀疏。
代码看起来有点像这样:

要加载 TFRecords,我使用以下函数:

运行整个管道(加载原始数据、转换、保存 TFRecords,然后加载它们以将它们打印到屏幕上)工作正常,但取消注释“pre​​process_fn”中的 2 行会导致以下错误:

文件“.../lib/python3.6/site-packages/tensorflow_transform/impl_helper.py”,第 262 行,在 to_instance_dicts raise ValueError('Encountered a SparseTensorValue that cannot be ' ValueError: Encountered a SparseTensorValue that cannot be decoded by ListColumnRepresentation .

...

ValueError:遇到无法由 ListColumnRepresentation 解码的 SparseTensorValue。[在运行“%s - Transform/ConvertAndUnbatch”时]

有没有人对此代码有建议或对我错过了什么有任何提示?很感谢任何形式的帮助!

最好的,多米尼克

0 投票
1 回答
1194 浏览

tensorflow - 如何使用 tf.py_function 处理 tf.string?

我有带字符串的张量(tf.string),我想通过正则表达式拆分这些字符串并进行一些预处理。

例如我有功能

我需要在 tensorflow-transform 图中使用它,以便将来与 tf serving 一起使用。

但是 TF 不允许我使用与 python 中的普通字符串相同的 tf.string。

如何在不使用 C++ 制作新的 TF op 的情况下解决我的问题?

PS我使用TensorFlow 1.13

0 投票
1 回答
293 浏览

python - 训练期间未在检查点中导出预处理中使用的 TF 集线器模块变量

我使用TF Hub 模块tensorflow_transform预处理文本数据,然后使用派生特征进行模型训练。我试图在下面提供一个最小的工作示例。

管道.py

1) 使用NNLM嵌入两个文本
2) 计算它们之间的余弦距离
3) 将预处理数据写入.csv文件。
4) 导出transform_fn函数/预处理图,稍后用于服务
5) 运行python pipeline.py

输入:

预处理输出preprocessed_output-00000-of-00001.csv

火车.py

tf.estimator.LinearRegressor1)在预处理数据上训练 a
2) 使用 3) 定期评估和导出模型Checkpoints
3) 在此评估期间,它还导出serving_input_receiver_fn我稍后想在生产中使用的模型。由于我想在服务时将 原始数据提供给模型,因此我将导出的tf-transform转换应用到serving_input_fn.
4) 运行python train.py

问题

每当我train.py成功运行它

  • 加载训练数据
  • 建立模型
  • 一直到第一班车Checkpoint

但是当它尝试从Checkpoint以下错误消息中恢复并继续训练时总是失败:

据我了解,它无法恢复TF Hub预处理步骤(transform/module/embeddings)中使用的部分模块图。删除exporterfromeval_spec = tf.estimator.EvalSpec(eval_input_fn, steps=None, exporters=[exporter], throttle_secs=150)让训练成功完成,但显然不会导出任何saved_model.

TLDR

如何TF Hub在预处理中使用模块tf-transform并将这些数据转换serving与经过训练的模型一起应用到环境中?

附录

要求.txt

提前非常感谢!

0 投票
0 回答
121 浏览

tensorflow - 在张量流中,如果给定另一个特征作为键,我如何索引一个特征的值?

我有一个特征预处理问题,对我来说太复杂了,无法解决。我想从其他 3 个中生成一个“交叉特征”,让我详细说明:

我的机器学习问题是向用户推荐商品。在我的示例中,有关于用户的特性和关于项目的特性。我试图预测用户是否会喜欢这个项目。我们使用张量流示例。

我的用户的一个特征是项目 ID 到用户对它们的“亲和力”的“映射”。让我们称之为“项目关联性映射” 关联性本身是由另一个进程计算的。由于在 Tensorflow 示例中没有映射类型,我们有 2 个特征:一个是项目 id 的有序列表,另一个是关联性的有序列表。它们是同步的。所以我的“item affinities map”实际上是由 to featuresitem_affinities_ids和表示的item affinities。是的,我使用项目相似性信息作为输入并尝试预测另一个项目相似性。但这些是不同的,输入是针对与我试图预测的产品用例不同的产品用例计算的。

我还有第三个特征,它是item_id我试图计算新亲和力的项目的特征。

在幼稚的 numpy 中,我可以这样做:

现在,在现实生活中,事情会变得更加复杂:

  • 我想要一个张量流实现(TFT 或本机 TF)。
  • 我们使用 TF v.13
  • “项目关联性地图”可能会丢失。所以这两个结果item_affinities_idsitem affinities表示为SparseTensors。但是,如果一个存在,另一个也存在,并且它们保证是同步的(相同的大小,相同的顺序)。
  • 我们对批量示例进行预测和训练,因此我的每个(稀疏)张量的第一个维度是 batch_size > 1。
  • item_id可能不存在于“项目关联性地图”中。在这种情况下,我想要一个默认值(0.0)。

我正在寻找一个可以处理所有这些要求的 tensorflow 实现。到目前为止,我有:

但它不处理 SparseTensor 和 item_id 不在item_affinities列表中的情况。我正在寻找任何人来帮助我。

0 投票
1 回答
485 浏览

tensorflow-transform - 如何在生产(流式传输管道)中重用 TFX 转换进行推理?

我想使用 TFX 构建一个训练管道,并最终重用我的数据转换来向 TensorFlow-Serving 发出推理请求,而 TFX 应该能够做到这一点。我发现的 TFX 示例似乎都建立了批量训练管道并最终在 TensorFlow-Serving 中推送模型,但它们没有解决推理部分,由于延迟原因,推理部分必须是流式管道。我可能会编写自己的工具来提出请求,但不将我的 Transform 组件重用于推理部分似乎是一种浪费。

我已经在本地运行了 TFX 示例安装脚本在 dags 中安装的示例。气流 UI 清楚地表明这些是批处理管道。

0 投票
2 回答
375 浏览

python - 正确使用 TensorFlow Transform apply_buckets

这是在 TensorFlow 1.11.0 上。的文档描述性tft.apply_buckets不是很强。具体来说,我读到:“bucket_boundaries:桶边界表示为 2 阶张量。”

我认为这必须是存储桶索引和存储桶边界?

当我尝试使用下面的玩具示例时:

我得到:

InvalidArgumentError: Expected sorted boundaries [Op:BucketizeWithInputBoundaries] name: assign_buckets

请注意,在这种情况下xbucket_boundaries参数是:

因此,似乎bucket_boundaries不应该是索引和边界。有谁知道如何正确使用这种方法?

0 投票
1 回答
75 浏览

tensorflow - tensorflow_transform 是 tf 2.0 的持续关注点吗?

例如,它最终会起作用吗?它有效吗?目标和计划是什么?我们在哪里可以读到它。

0 投票
0 回答
146 浏览

python - 一旦 Apache Beam 支持 Python 3,tf.data 是否会集成到 tf.Transform 中?

阅读有关 TFX、Kubeflow、Beam、Flink 和源源不断的 Apache 项目的信息,我越来越感到困惑。我很好奇 TensorFlow 团队打算将什么推广到用于训练 Keras 模型的规范 ETL API。

我目前对 in 的tf.data支持感到非常满意,tf.keras但非常缺少两件事:

  1. 用于标准化特征/目标的数据集缩减。
  2. 具有持久的每个元素缓存的完整数据集改组(例如,相当于使用 NumPy memmap 进行索引排列)。

我的预感是tf.data存在的,因为tf.Transform 仅适用于 Python 2。一旦最终确定,未来会tf.data怎样?它会被集成到tf.Transform其中还是相反?最终将tf.data获得上述功能,而与 Apache Beam 的状态无关?

TL;DR:什么是用于训练 Keras 模型的规范 ETL API?TensorFlower 能否阐明 TensorFlow 生态系统的计划以及它们应该如何结合在一起?

PS:这一切在tensorflow_io哪里?tensorflow_datasets他们似乎做了很多重新发明轮子而不是依赖tf.Transform.

0 投票
0 回答
114 浏览

tensorflow - tf.contrib.layers.feature_column 和 tf.feature_column 有什么关系?

它们提供所有几乎相同的 API。以 embedding_column 为例:

哪个是首选?

另外,特征列和张量流变换有什么关系?它们提供了类似的功能。

0 投票
1 回答
1562 浏览

python - 如何正确使用 tft.compute_and_apply_vocabulary 和 tft.tfidf?

我尝试使用 tft.compute_and_apply_vocabulary 和 tft.tfidf 在我的 jupyter notebook 中计算 tfidf。但是我总是收到以下错误:

但占位符类型实际上是字符串。

这是我的代码:

版本:

  • 张量流:1.14
  • 张量流变换:0.14

提前致谢!