24.07.14 10:41 작성
·
54
0
sample_encoder_layer = EncoderLayer(512, 8, 2048)
sample_encoder_layer_output = sample_encoder_layer(tf.random.uniform((64, 43, 512)), False, None)
sample_encoder_layer_output.shape # (batch_size, input_seq_len, d_model)
해당 코드에서 아래 에러가 떴어요. 어떻게 조치하면 될까요?
Only input tensors may be passed as positional arguments. The following argument value should be passed as a keyword argument: False (of type <class 'bool'>)
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
dw.k님, 전달하신 코드에서 발생한 에러는 함수의 인자를 전달할 때, 위치 인자(positional argument)와 키워드 인자(keyword argument)의 사용 방식에 관한 것으로 보입니다. TensorFlow에서는 특정 인자들을 키워드 인자로 명시적으로 전달하도록 요구하는 경우가 있습니다. 에러 메시지에 따르면, False
값을 키워드 인자로 전달해야 합니다. 수정된 코드는 다음과 같습니다.
sample_encoder_layer_output = sample_encoder_layer(tf.random.uniform((64, 43, 512)), training=False, mask=None)
여기에서 training
과 mask
파라미터를 키워드 인자로 명시적으로 지정했습니다. 이렇게 변경하면 에러 없이 올바르게 실행될 것입니다.