在 TF.Keras 中使用模型子类化 API 进行多输入建模

TF.Keras中使用模型子类化 API,我们如何构建一个多输入模型?在我的案例中,输入数据类型不同,一个是图像数据,另一个是表格特征。以下是我们尝试的内容:

但它抛出了以下ValueError错误:

Tensor("Placeholder:0", shape=(None, 224, 224, 3), dtype=float32)Tensor("Placeholder_1:0", shape=(None, 2), dtype=float32)---------------------------------------------------------------------------TypeError                                 Traceback (most recent call last)c:\users\innat\anaconda3\envs\melanoma\lib\site-packages\tensorflow\python\keras\engine\training.py in build(self, input_shape)    431         try:--> 432           self.call(x, **kwargs)    433         except (errors.InvalidArgumentError, TypeError):<ipython-input-1-a7757d21ee96> in call(self, inputs, training)     30 ---> 31         x2    = self.gender(inputs[1])     32         x3    = self.gmeta(x2)TypeError: 'Tensor' object is not callableDuring handling of the above exception, another exception occurred:ValueError                                Traceback (most recent call last)<ipython-input-1-a7757d21ee96> in <module>     46 gdim = 2     47 model = Net(idim, gdim)---> 48 model.build(input_shape=[(None, *idim), (None, gdim)])c:\users\innat\anaconda3\envs\melanoma\lib\site-packages\tensorflow\python\keras\engine\training.py in build(self, input_shape)    432           self.call(x, **kwargs)    433         except (errors.InvalidArgumentError, TypeError):--> 434           raise ValueError('You cannot build your model by calling `build` '    435                            'if your layers do not support float type inputs. '    436                            'Instead, in order to instantiate and build your model, `call` your model on real tensor data (of the correct dtype).')ValueError: You cannot build your model by calling `build` if your layers do not support float type inputs. Instead, in order to instantiate and build your model, `call` your model on real tensor data (of the correct dtype).

更新

感谢Andrey发现了这个愚蠢的错误。以下是接受的解决方案的模型图:

enter image description here


回答:

  1. 您调用了Layers.Input,但它实际上不是层,不能被调用。它是功能性API中使用的特殊名称。

  2. 您错误地调用了cat层

以下代码可以工作:

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注