使用 keras 功能模型时出现类型错误

我使用 Keras 函数式 API(keras 2.2 版)来定义模型,但是当我尝试将数据拟合到模型时,我得到了一些错误。我目前使用的是 python 2.7,代码在 Ubuntu 18.04 上运行。


以下是模型的代码:


class Model:


    def __init__(self, config):

        self.hidden_layers = config["hidden_layers"]

        self.loss = config["loss"]

        self.optimizer = config["optimizer"]

        self.batch_normalization = config["batch_normalization"]

        self.model = self._build_model()


    def _build_model(self):

        input = Input(shape=(32,))


        hidden_layers = []


        if self.batch_normalization:

            hidden_layers.append(Dense(self.hidden_layers[0], bias_initializer= Orthogonal)(input))

            hidden_layers.append(BatchNormalization()(hidden_layers[-1]))

            hidden_layers.append(Activation("relu")(hidden_layers[-1]))

        else:

            hidden_layers.append(Dense(self.hidden_layers[0], bias_initializer= Orthogonal, activation='relu')(input))


        for i in self.hidden_layers[1:]:

            if self.batch_normalization:

                hidden_layers.append(Dense(i, bias_initializer= Orthogonal)(hidden_layers[-1]))

                hidden_layers.append(BatchNormalization()(hidden_layers[-1]))

                hidden_layers.append(Activation("relu")(hidden_layers[-1]))

            else:

                hidden_layers.append(Dense(i, bias_initializer= Orthogonal, activation='relu')(hidden_layers[-1]))


        output_layer = Dense(2, activation="softmax")(hidden_layers[-1])

        model = Model(input= input, output= output_layer)

        model.compile(optimizer=self.optimizer, loss=self.loss, metrics=["accuracy"])

        return model


我真的不明白这个 TypeError 是什么。我不确定如何更改我的模型定义以避免此错误。


杨__羊羊
浏览 299回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python