inflearn logo
강의

講義

知識共有

例として学ぶディープラーニング自然言語処理入門 NLP with TensorFlow - RNNからBERTまで

実習 1 - TensorflowとTransformerモデルを使ってポルトガル語-英語翻訳を行ってみる

트레이닝 에러 발생

335

dwk8332

投稿した質問数 2

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'

딥러닝 tensorflow NLP

回答 2

0

AISchool

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

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

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

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

 

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

 

좋은 하루 되세요.

감사합니다.

0

communityai8509

안녕하세요, 인프런 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’의 정의 부분)가 필요할 수 있습니다.

import torch가 안되는 경우는 어떻게 하나요?

0

16

1

소리가 겹쳐서 들려요

0

20

2

가중치에 대한 질문

0

107

1

transformer 기계번역 강의 오류 질문

0

155

2

seq2seq를_이용한_NMT.ipynb 실습코드 에러 문의사항입니다.

0

254

2

실습 2 - Char-RNN 코드 학습 부분에서 오류가 발생합니다.

0

277

2

pad_both_ends 사용할 때 n은 왜 사용하나요?

1

206

2

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

0

219

1

9강 BERT 실습 예제 코드

0

465

1

Bert 관련 문의

0

336

2

코랩에서 실행이 안됩니다

0

1126

1

bert를 이용해서 ocr 시스템을 만들려면 어떻게 해야 할까요 ?

0

787

1

소스코드 실행 시 에러

0

565

2

N-gram_example

1

808

1

BERT를 이용한 텍스트 분류에서 다중분류라면 어떻게 해야할까요?

1

1524

1

개인 깃허브 소스코드 업로드 가능할까요?

0

331

1

#@title Choose a BERT model to fine-tune

0

370

1

nltk모듈 MLE의 score메서드 계산 질문드립니다.

0

202

0

bert 파인튜닝 코드 질문

0

397

0

네이버 영화리뷰 파인튜닝 질문드려요

0

306

1

코드 실행 오류

0

316

1

bert를 이용한 텍스트 분류 imdb 편 질문드립니다.

0

355

1

안녕하세요. 강의 잘듣고있습니다!

0

278

1

강의 자료는 어디있나요(자연어 처리)

0

333

1