인프런 커뮤니티 질문&답변

dw.k님의 프로필 이미지
dw.k

작성한 질문수

예제로 배우는 딥러닝 자연어 처리 입문 NLP with TensorFlow - RNN부터 BERT까지

실습 1 - Tensorflow와 Transformer 모델을 이용해서 포르투칼어-영어 번역 수행해보기

트랜스포머 인코더 레이어 테스트 에러

작성

·

77

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)

여기에서 trainingmask 파라미터를 키워드 인자로 명시적으로 지정했습니다. 이렇게 변경하면 에러 없이 올바르게 실행될 것입니다.

dw.k님의 프로필 이미지
dw.k

작성한 질문수

질문하기