【问题标题】:Keras Layer Build Error: build() takes 1 Positional Argument but two were givenKeras 层构建错误:build() 需要 1 个位置参数,但给出了两个
【发布时间】:2020-02-25 07:47:15
【问题描述】:

我在这个简单的层中有以下错误:

class MyLayer(Layer):

def __init__(self):
    super(MyLayer, self).__init__()

def build(self):
    # Create a trainable weight variable for this layer.
    self.kernel = self.add_weight(name='kernel', 
                                  shape=(1)
                                  trainable=True)
    super(MyLayer, self).build() 

def call(self, x):
    return x/self.kernel

当我把它用作:

m = MyLayer()
t = m (input)

错误:build() 采用一个位置参数,但给出了两个。

【问题讨论】:

  • 您需要参考Writing your own Keras layers
  • @giser_yugang 是同一个例子..
  • Keras 中的每一层都需要一个 input_shape 参数,而您的 build() 方法中不存在该参数。
  • @ShubhamPanchal 我说的是'int object is not iterable'错误
  • 您需要像for i in range( your_int ) 一样进行迭代。在您的问题中包含该代码。\

标签: python tensorflow keras keras-layer tf.keras


【解决方案1】:

Keras 层中的每一层都需要一个input_shape 参数。将其添加到您的 build() 方法中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2019-06-09
    • 2017-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多