MRC 모델을 평가하는 아래의 코드를 실행하던 중,
python train.py --output_dir ./outputs/train_dataset --model_name_or_path ./models/train_dataset/ --do_eval
읽기도 싫은 아래와 같은 오류가 발생했다죠…
Traceback (most recent call last):
File "/data/ephemeral/home/sujin/code/train.py", line 375, in <module>
main()
File "/data/ephemeral/home/sujin/code/train.py", line 105, in main
run_mrc(data_args, training_args, model_args, datasets, tokenizer, model)
File "/data/ephemeral/home/sujin/code/train.py", line 366, in run_mrc
metrics = trainer.evaluate()
File "/data/ephemeral/home/sujin/code/trainer_qa.py", line 45, in evaluate
output = self.prediction_loop(
File "/data/ephemeral/home/sujin/.local/lib/python3.10/site-packages/transformers/trainer.py", line 3611, in prediction_loop
preds_gatherer.add_arrays(self._gather_and_numpify(preds_host, "eval_preds"))
File "/data/ephemeral/home/sujin/.local/lib/python3.10/site-packages/transformers/trainer.py", line 3657, in _gather_and_numpify
return nested_numpify(tensors)
File "/data/ephemeral/home/sujin/.local/lib/python3.10/site-packages/transformers/trainer_pt_utils.py", line 149, in nested_numpify
return type(tensors)(nested_numpify(t) for t in tensors)
File "/data/ephemeral/home/sujin/.local/lib/python3.10/site-packages/transformers/trainer_pt_utils.py", line 149, in <genexpr>
return type(tensors)(nested_numpify(t) for t in tensors)
File "/data/ephemeral/home/sujin/.local/lib/python3.10/site-packages/transformers/trainer_pt_utils.py", line 159, in nested_numpify
return t.numpy()
RuntimeError: Numpy is not available
간단하게 말하자면 Numpy가 not available하다는 오류입니다.
실은 train을 실행하는 과정에서 pip install numpy를 해줬습니다. (requirement.txt에 추가해야됨.)
그때 버전이 Found existing installation: numpy 2.1.1
으로 설치되었는데,
아마 충돌이 난 듯합니다.
수많은 시행착오를 겪었지만, 그 시행착오를 여러분이 겪을 필요는 없으니까요.
다운그레이드하면 해결됩니다. 이미 설치되어있어도 아래 코드 실행하면 알아서 기존 버전을 삭제하고 새로운 버전으로 설치해줍니다.
(main) sujin@instance-11511:~/code$ pip install numpy==1.24.1