You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TensorFlow多分支模型输入数量与底层输入输出机制问询

模型输入数量与底层机制解析

一、输入数量说明

这个模型只有1个输入,就是代码里定义的main_input,不存在3个输入的情况。两个子网络(entity_extraction和relation_extraction)都是复用同一个main_input作为输入源,相当于对同一组输入数据执行了两次独立的特征提取流程,并没有引入新的输入分支。代码最后Model(inputs=[main_input])也明确指定了模型的输入列表仅包含这一个元素,所以输入数量是1。

二、底层输入输出机制拆解

1. 输入层定义

main_input是形状为(MAX_SEQUENCE_LENGTH,)的整数序列输入,数据类型为int32,是整个模型的唯一数据入口,接收外部传入的整数序列(比如文本分词后的索引序列)。

2. 子网络特征提取流程

两个子网络的结构完全一致,各自独立对输入进行特征处理:

  • 嵌入转换:embedding_layer(main_input)将离散的整数索引转换为连续的低维嵌入向量,把输入映射到更适合神经网络处理的向量空间。
  • 序列特征提取:CuDNNLSTM(KG_EMBEDDING_DIM, return_sequences=True)(x)利用CuDNN加速的LSTM层处理嵌入序列,return_sequences=True保留每个时间步的输出,完整捕捉序列的时序特征。
  • 序列压缩:Avg(x)对LSTM输出的序列做平均池化,将变长的序列特征压缩为固定长度的向量,消除序列维度差异。
  • 特征变换:Dense(KG_EMBEDDING_DIM)(x)通过全连接层对池化后的特征做线性变换,维持特征维度的同时调整特征分布。
  • 非线性激活:Activation('relu')(x)用ReLU激活函数引入非线性,让模型能够学习更复杂的特征关系。
  • 维度调整:Transpose(x)对特征向量做转置操作,调整张量的维度顺序,确保后续拼接操作的维度匹配。

3. 输出合并与最终预测

  • 特征拼接:Concatenate(axis=0)([entity_extraction,relation_extraction])将两个子网络的输出沿着样本维度(轴0)拼接,把两组特征合并为一个张量。
  • 分类输出:Dense(units=20, activation='softmax')(...)通过全连接层结合softmax激活函数,将合并后的特征映射为20类的概率分布,得到模型的最终输出final_output。

4. 模型计算图构建

Model(inputs=[main_input], outputs=[final_output])将输入和输出节点关联,形成完整的计算图。在训练或推理时,输入的整数序列会同时流入两个子网络分支进行并行计算,各自生成特征后合并,最终输出分类概率。

内容的提问来源于stack exchange,提问作者cuneyttyler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 02:55:18