Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Keras __init_u3;()得到一个意外的关键字参数“inputs”_Keras_Tf.keras - Fatal编程技术网

Keras __init_u3;()得到一个意外的关键字参数“inputs”

Keras __init_u3;()得到一个意外的关键字参数“inputs”,keras,tf.keras,Keras,Tf.keras,我正在尝试执行上述代码并得到上述错误。我使用的是Keras的2.2.4-tf版本。我无法理解错误背后的原因 有人能帮我确定并解决这个问题吗 谢谢大家! 编辑1:完全回溯: class Model: def __init__(self): self.model = Sequential() self.model.add(Conv2D(24, 3, 2, 'valid', input_shape=(75, 75, 3))) self.m

我正在尝试执行上述代码并得到上述错误。我使用的是Keras的2.2.4-tf版本。我无法理解错误背后的原因

有人能帮我确定并解决这个问题吗

谢谢大家!

编辑1:完全回溯:

class Model:
    def __init__(self):    
        self.model = Sequential()
        self.model.add(Conv2D(24, 3, 2, 'valid', input_shape=(75, 75, 3)))
        self.model.add(BatchNormalization())
        self.model.add(Conv2D(24, 3, 2))
        self.model.add(BatchNormalization())
        self.model.add(Conv2D(24, 3, 2))
        self.model.add(BatchNormalization())
        self.model.add(Conv2D(24, 3, 2))
        self.model.add(BatchNormalization())
        self.model.add(Flatten())

    def get_model(self):
        return self.model

class CNN_MLP:
    def __init__(self):
        model = Model()
        self.model = model.get_model()
        self.optimizer = optimizers

    def get_model(self): 
        self.model = self.extend(self.model)
        return self.model

    def extend(self, model):
        self.model = model
        self.sequence = Input(shape=(75, 75, 3), name='Sequence')
        self.features = Input(shape=(11, ), name='Features')
        conv_sequence = self.model(self.sequence)

         merged_features = concatenate([conv_sequence, self.features])
         fc1 = Dense(256, activation='relu')(merged_features)
         fc2 = Dense(256, activation='relu')(fc1)
         logits = Dense(10, activation='softmax')(fc2)

         # In the following statement I am getting the error
         self.model = Model(inputs=[self.sequence, self.features], outputs=[logits])
         return self.model

您定义了一个名为Model的类,因此它会隐藏类keras.models.Model,所以当您尝试实例化Model时,它会使用您的类而不是keras

一个简单的解决方案是在调用中完全限定包名:

<ipython-input-29-5112dc1649fd> in <module>()
      1 if args.model == 'CNN_MLP':
      2   model = CNN_MLP()
----> 3   model = model.get_model()

1 frames

<ipython-input-28-6491bbcf21c5> in get_model(self)
      6 
      7   def get_model(self):
----> 8     self.model = self.extend(self.model)
      9     return self.model
     10 

<ipython-input-28-6491bbcf21c5> in extend(self, model)
     20     logits = Dense(10, activation='softmax')(fc2)
     21 
---> 22     self.model = Model(inputs=[self.sequence, self.features], outputs=[logits])
     23     return self.model

TypeError: __init__() got an unexpected keyword argument 'inputs'

您定义了一个名为Model的类,因此它会隐藏类keras.models.Model,所以当您尝试实例化Model时,它会使用您的类而不是keras

一个简单的解决方案是在调用中完全限定包名:

<ipython-input-29-5112dc1649fd> in <module>()
      1 if args.model == 'CNN_MLP':
      2   model = CNN_MLP()
----> 3   model = model.get_model()

1 frames

<ipython-input-28-6491bbcf21c5> in get_model(self)
      6 
      7   def get_model(self):
----> 8     self.model = self.extend(self.model)
      9     return self.model
     10 

<ipython-input-28-6491bbcf21c5> in extend(self, model)
     20     logits = Dense(10, activation='softmax')(fc2)
     21 
---> 22     self.model = Model(inputs=[self.sequence, self.features], outputs=[logits])
     23     return self.model

TypeError: __init__() got an unexpected keyword argument 'inputs'

请包括完整的traceback@MatiasValdenegro请现在看一下。请包括完整的traceback@MatiasValdenegro现在请看一看。