我使用 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 是什么。我不确定如何更改我的模型定义以避免此错误。
杨__羊羊
随时随地看视频慕课网APP
相关分类