![TensorFlow知识图谱实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/115/44510115/b_44510115.jpg)
上QQ阅读APP看书,第一时间看更新
2.1.7 多输入多输出TensorFlow编译方法(选学)
读者已经知道了对于多输入单一输出的TensorFlow的写法,那么在实际编程中有没有可能遇到多输入多输出的情况呢?事实上是有的。虽然读者可能遇到的情况会很少,但是在必要的时候还是需要设计多输出的神经网络模型去进行训练,例如“bert”模型。
对于多输出模型的写法,实际上也可以仿照单一输出模型改为多输入模型的写法,将output的数据使用中括号进行包裹。
第一步:数据的修正和设计
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P55_8317.jpg?sign=1739027881-jwjA7GQmBj3LcRmaWKRVM9YSm0S9GO4v-0-a89ce42013e8f80d0bf3d0ef7350811d)
首先是对数据的修正和设计,数据的输入被平均分成2组,每组有2个特征。这实际上没什么变化。对于特征的分类,在引入one-hot处理的分类数据集外,还保留了数据分类本身的真实值做目标的辅助分类计算结果。无论是多输入还是多输出,都要使用打包的形式将数据重新打包成一个整体的数据集合。
在fit函数中,直接调用打包后的输入数据即可。
model.fit(x = train_data, epochs=500)
完整代码如下所示。
【程序2-8】
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P55_8321.jpg?sign=1739027881-WsfTdfGHIEnWd6kKlDcZE9S5VQ4c9HAy-0-9e239bf55d39d62405ea771712a5046b)
输出结果如图2.10所示。
![](https://epubservercos.yuewen.com/281CEB/23721624209516806/epubprivate/OEBPS/Images/Figure-P56_4508.jpg?sign=1739027881-BUZmQU3SAQ2xemHFQ4fEPaMktE0q1WNS-0-f56f5802ac3fa38faaa6c2fc435a90d9)
图2.10 数据结果
限于篇幅关系,这里也只给出一部分结果,相信读者能够理解输出的数据内容。