基于图像和文本特征的 TensorFlow 训练模型,具有多类输出
Posted
技术标签:
【中文标题】基于图像和文本特征的 TensorFlow 训练模型,具有多类输出【英文标题】:TensorFlow Training model on image and text features, with multi class outputs 【发布时间】:2019-01-15 06:23:09 【问题描述】:我有一个包含图像和文本特征的数据集。训练数据的标签是一个二维数组,与输入图像的形状相同,为 1s/0s。
所以基本上,训练输入是:
输入形状为(X,Y)
的图片,
形状为(Z,)
的附加特征集(即文本特征)。
训练标签的形状为(X,Y)
。
我正在尝试在此数据上使用 Tensorflow/Keras 训练模型。我知道我可以训练一个输入大小为 (X* Y) + Z
的模型,但我读到这不是处理混合图像/附加数据特征的最佳方法。
所以我的问题是:
1) 我将如何设置我的模型来处理混合输入类型?
2) 由于我的输出与我的图像大小相同,我需要定义一个(X * Y)
大小的输出层吗?我将如何指定输出层以便它可以采用多个值,即输出中的任何/多个位置可以是 1 或 0?
【问题讨论】:
【参考方案1】:一种方法是定义两个独立的子模型来处理文本和图像数据,然后合并这些子模型的输出以创建最终模型:
--------------- ---------------
- Input Image - - Input Text -
--------------- ---------------
| |
| |
| |
--------------- ---------------------
- Image Model - - Text Model -
- (e.g. CNNs) - - (e.g. Embeddings, -
--------------- - LSTM, Conv1D) -
\ ---------------------
\ /
\ /
\ /
\ /
\ /
\ /
\ /
\ /
----------------------
- Merge -
- (e.g. concatenate) -
----------------------
|
|
|
----------------------
- Upsample -
- (e.g. Dense layer, -
- transpose-conv) -
----------------------
|
|
|
-----------
- Output -
-----------
每个框对应一个或多个层,您可能有不同的方法来实现它们并设置它们的参数,尽管我在每个框中都提到了一些建议。
【讨论】:
以上是关于基于图像和文本特征的 TensorFlow 训练模型,具有多类输出的主要内容,如果未能解决你的问题,请参考以下文章
《21个项目玩转深度学习:基于TensorFlow的实践详解》高清带标签PDF版本学习下载
深度学习基于tensorflow的服装图像分类训练(数据集:Fashion-MNIST)
基于 Tensorflow 2.x 使用 MobileNetV2 微调模型优化训练花卉图像识别模型