Haw*_*001 2 python machine-learning keras tensorflow
我有一个包含图像和文本特征的数据集。训练数据的标签是一个二维数组,形状与输入图像相同,均为 1/0。
基本上,训练输入是:
(X,Y),(Z,)。训练标签的形状为(X,Y)。
我正在尝试使用 Tensorflow/Keras 在此数据上训练模型。我知道我可以训练一个输入大小为 的模型(X* Y) + Z,但我读到这不是处理混合图像/附加数据特征的最佳方法。
所以我的问题是:
1)如何设置模型来处理混合输入类型?
2)由于我的输出与图像大小相同,我是否需要定义(X * Y)大小的输出层?我如何指定输出层,以便它可以采用多个值,即输出中的任何/多个位置可以是 1 或 0?
一种方法是定义两个独立的子模型来处理文本和图像数据,然后合并这些子模型的输出以创建最终模型:
--------------- ---------------
- 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 -
-----------
Run Code Online (Sandbox Code Playgroud)
每个框对应一个或多个层,您可能有不同的方法来实现它们并设置它们的参数,尽管我在每个框中提到了一些建议。
| 归档时间: |
|
| 查看次数: |
1114 次 |
| 最近记录: |