강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của dwk8332
dwk8332

câu hỏi đã được viết

Giới thiệu deep learning xử lý ngôn ngữ tự nhiên qua ví dụ NLP với TensorFlow - Từ RNN đến BERT

Thực hành 1 - Thử thực hiện dịch tiếng Bồ Đào Nha - tiếng Anh sử dụng mô hình Transformer và Tensorflow

트레이닝 에러 발생

Viết

·

324

·

Đã chỉnh sửa

0

for epoch in range(EPOCHS):
  start = time.time()

  train_loss.reset_states()
  train_accuracy.reset_states()

  # inp -> portuguese, tar -> english
  for (batch, (inp, tar)) in enumerate(train_batches):
    train_step(inp, tar)

    if batch % 50 == 0:
      print(f'Epoch {epoch + 1} Batch {batch} Loss {train_loss.result():.4f} Accuracy {train_accuracy.result():.4f}')

  if (epoch + 1) % 5 == 0:
    ckpt_save_path = ckpt_manager.save()
    print(f'Saving checkpoint for epoch {epoch+1} at {ckpt_save_path}')

  print(f'Epoch {epoch + 1} Loss {train_loss.result():.4f} Accuracy {train_accuracy.result():.4f}')

  print(f'Time taken for 1 epoch: {time.time() - start:.2f} secs\n')

위 코드에서 에러 발생합니다. GPT 에도 물어보고 해도 답이 안나와서 조치 방법 질문드립니다.

AttributeError                            Traceback (most recent call last)
<ipython-input-109-d5f75ec190c4> in <cell line: 1>()
      2   start = time.time()
      3 
----> 4   train_loss.reset_states()
      5   train_accuracy.reset_states()
      6 

AttributeError: 'Mean' object has no attribute 'reset_states'
딥러닝tensorflowNLP

Câu trả lời 2

0

AISchool님의 프로필 이미지
AISchool
Người chia sẻ kiến thức

안녕하세요~. 반갑습니다.

먼저 수강에 불편을 드려서 죄송합니다.

강의 영상 촬영시점 이후에 많은 시간이 흘러서 tensorflow 버전과 관련된 충돌이 발생하는 것 같습니다.

tensorflow 버전을 정리한 아래 colab 파일로 실습 진행 부탁드립니다.

 

https://colab.research.google.com/drive/18nxotMTc2Qqc2_tARhcvmz8laFOzYfWm?usp=sharing

 

좋은 하루 되세요.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

제시하신 코드에서 ‘Mean’ 객체에 ‘reset_states’ 속성이 없다는 AttributeError가 발생한 것으로 보입니다. 일반적으로, TensorFlow에서는 tf.keras.metrics.Mean 클래스 인스턴스를 사용해 평균적인 손실이나 정확도를 계산할 때 ‘reset_states’ 메소드를 호출하여 상태(데이터)를 리셋할 수 있습니다. 따라서, ‘train_loss’와 ‘train_accuracy’가 tf.keras.metrics.Mean의 인스턴스인지 확인해보시는 것이 좋습니다.

예를 들어, 다음과 같이 ‘train_loss’와 ‘train_accuracy’를 정의해야 합니다.

train_loss = tf.keras.metrics.Mean(name='train_loss')
train_accuracy = tf.keras.metrics.SparseCategoricalAccuracy(name='train_accuracy')

만약 ‘train_loss’와 ‘train_accuracy’가 위와 같이 정의되어 있음에도 불구하고 같은 에러가 발생한다면, TensorFlow 버전을 확인해 보시기 바랍니다. ‘reset_states’ 메소드는 TensorFlow의 특정 버전부터 지원되므로, 버전 호환성 문제일 수 있습니다. 필요하다면 TensorFlow를 업데이트하여 해결할 수 있습니다.

pip install --upgrade tensorflow

문제가 계속 발생한다면, 정확한 상황을 파악하기 위해 추가적인 정보(예: TensorFlow 버전, ‘train_loss’와 ‘train_accuracy’의 정의 부분)가 필요할 수 있습니다.

Hình ảnh hồ sơ của dwk8332
dwk8332

câu hỏi đã được viết

Đặt câu hỏi