python - 如何获取 NN 的结果,修改结果,然后将其传递给另一个 NN?
问题描述
我是神经网络的初学者,计划使用 Tensorflow 估计器,请多多包涵。
是否可以从经过训练的神经网络获得输出,对其进行修改,然后将结果传递给另一个模型?
我希望得到一个数字作为第一个 NN 的输出(如果可以通过 TensorFlow),使该数字经过一些计算,然后将其传递给第二个 NN。
我需要为此使用两个单独的估算器吗?我可以将这两个 NN 放在同一个模型中,同时确保第一个 NN 的输出是一个数字吗?
如果这些问题中的任何一个是常识,我很抱歉,但我肯定对它们有点迷茫。
解决方案
为了更容易使用tf.estimator
缺乏适当的文档tf.estimators
使得这个问题很难解决estimators
。您必须定义一个自定义估算器,但正如我所提到的,截至今天,没有关于如何完成此任务的端到端指南。
我的建议是通过tf.keras
API 定义您的模型,然后通过将编译的模型转换为估算器tf.keras.estimator.model_to_estimator
(有关更多信息,请查看此链接)
加入两个模型
Keras Lambda 层允许将您的自定义操作定义为模型层。例如,您可以定义您的两个模型,tf.keras.Sequential
并将它们与您的自定义 lambda 层“连接”。
(可选)不稳定的替代方法:子类化 API
您可以使用Keras 子类化 API来定义您自己的带有自定义前向传递的模型类,这将包括您的操作。然而,Subclassing API 存在一些序列化问题。来自TensorFlow 文档:
A subclassed model differs in that it's not a data structure, it's a piece of code. The architecture of the model is defined via the body of the call method. This means that the architecture of the model cannot be safely serialized.
因此,我不确定这是否可以安全地转换为tf.estimator
.
推荐阅读
- github - 在 github 上删除过时的检查
- r - 如何计算负二项式混合效应模型中固定效应的效应大小?
- c# - 当键不存在时,StringSetAsync with When.NotExists 返回 false
- forms - Symfony / Sonata:带有输入字段的下拉菜单
- php - 值更改的 XML 到 CSV
- seaborn - seaborn 热图条件边界
- azure - Azure AD SSO 通过 Graph API 同步用户
- python - 基于索引比较的总和索引明智列表
- r - “dgCMatrix”类的稀疏矩阵转换为数据帧,用于R中的同时回归
- css - 我对使用 CSS 时的空规则有疑问