tensorflow2.0 - 无法在转换组件 (TFX) 中使用句子嵌入
问题描述
我正在使用列是数字或分类的评论数据集。最后一列是文本评论(英文句子段落),所以我使用通用句子编码器(https://tfhub.dev/google/universal-sentence-encoder/4)来获得句子嵌入。该项目的目标是为每个评论示例分配一个情感标签。对于 TF (2.0) Keras 模型,所有这些都相对简单。
但我无法弄清楚如何让它在 TFX 管道中工作。具体来说,在尝试使用预训练嵌入模型时,我无法弄清楚如何同时使用 ExampleGen 和 Transform 组件。示例 gen 组件被输入原始数据,因此 transform 组件最终会获得评论文本的稀疏张量。但这是我想使用通用句子编码器并获取句子嵌入张量的地方(编码器接受一个字符串、字符串列表或字符串渴望张量列表来生成嵌入)。评论文本是情感分类的主要部分,所以本质上,我无法进一步进行。
我可以做两件事:
- 在
preprocessing_fn
变换组件中,以某种方式将评论稀疏张量转换为字符串张量,然后可以将其输入通用句子编码器模型。我已经尝试过了,但遇到了急切的执行问题(“张量”对象没有属性“numpy”错误)。 - 丢弃 ExampleGen 组件,改用 Apache Beam + Tensorflow Transform 来获取数据,执行必要的转换,然后让 Trainer 组件从这里(我还不确定这部分)获取数据,然后是 Evaluator、Pusher 等。但这感觉需要更多的努力,我想了解在我走这条路之前是否有我遗漏的技巧。
我对 TF 比较陌生,所以对此的任何帮助将不胜感激,谢谢!
编辑:我确实发现此链接讨论了类似的内容(https://github.com/tensorflow/tfx/issues/2517),但也无法从中得出任何具体的信息。
解决方案
推荐阅读
- javascript - 在 Vue 中将道具从一个步骤传递到另一个步骤(步进器)
- java - 如何使用 JDT 以编程方式编辑全局 Javadoc?
- java - 寻找示例代码以从 aws 参数存储中读取参数值
- excel - 在excel中查找截止日期减去周末的剩余天数
- python - 当未传入数据框时,为什么我能够在函数中更改 Pandas 数据框的值?
- regex - 正则表达式:处理包含嵌套 JSON 对象的 CSV(逗号地狱!)
- pine-script - 我们如何才能使我们的策略只适用于一对特定的货币对?
- javascript - 未捕获的 DOMException:无法从 mapbox-gl-csp-worker.js 构造“Worker”
- google-cloud-platform - 如何恢复存储桶的权限
- sql - SQL:如何分组和求和?