안 쓰던 블로그

[케라스] add_weight() got multiple values for argument 'name' 해결 방법 본문

머신러닝/메모 및 에러 해결

[케라스] add_weight() got multiple values for argument 'name' 해결 방법

proqk 2021. 8. 29. 18:07
반응형

케라스에서 커스텀 Attention(Layer)를 사용할 때 add_weight() got multiple values for argument 'name' 에러

 

1. class Attention(Layer) -> class Attention(keras.layers.Layer) 변경

2. add_weights 메소드 안에 Add shape=(...) 추가

 

두 가지로 해결

 

class Attention(tf.keras.layers.Layer): # 여기
    def __init__(self, step_dim, ...

    def build(self, input_shape):
        assert len(input_shape) == 3

        self.W = self.add_weight(shape=(input_shape[-1],), # 여기 shape= 붙이지 않으면 에러
                                 initializer=self.init,
                                 name='{}_W'.format(self.name), ...

 

https://stackoverflow.com/questions/62976818/add-weight-got-multiple-values-for-argument-name-while-using-a-custom-attent

반응형
Comments