바이트 형식이라서 인코딩이 먹히지도 않고 (latin1, ascii, utf-8) .pkl을 만들 때 인코딩을 해도 해결이 안됩니다.
AttributeError: Can't get attribute 'voc' on <module '__main__' from 'manage.py'> UnicodeDecodeError:
'cp949' codec can't decode byte 0xe2 in position 9735: illegal multibyte sequence
그냥 파이썬에서 실행이 잘 되던 코드가 Django에서 작동이 안되고 에러가 발생합니다.
그래서 약 2일간 'cp949' codec can't decode byte 0xe2 해결책을 찾기 위해서 삽질을 합니다. protocol 을 설정하는 방법도 써 보았지만 해결이 되지 않았습니다.
그런데 다른 방법으로 접근 후,pkl 로딩이 잘 되는 것을 다시 확인합니다. 그러면 인코딩 문제가 아니라는 생각으로 재접근을 합니다. 그리고 조언을 받아 추가한 코드로 해결이 됩니다.
from.import voc sys.modules["voc"]= voc
모듈임을 지정하는 기능인데 사용하는 함수를 들여쓰기에 맞춰 class 안에 모두 위치 시킵니다.
Trouble 3. libstdc++ 경로 문제
신버전이 있음에도 구버전의 경로가 설정되어 있어서 에러가 발생한 경우입니다.필요한 버전을 찾아가도록 링크를 설정하면 해결됩니다.
Touble 4. pycocotools._mask 에러
ModuleNotFoundError: No module named 'pycocotools._mask' 다른 가상환경을 설치하여 실행할 수 있습니다.
Trouble 5. argparse 에러
argparse에서 parser 에러가 발생하는 경우가 있습니다.
argparse 에러 발생 1
usage: ipykernel_launcher.py [-h]
data/annotations/captions_train2014.json data/vocab.pkl ipykernel_launcher.py: error: the following arguments are required: data/vocab.pkl
An exception has occurred, use %tb to see the full traceback.
SystemExit: 2
argparse 에러 발생 2
usage: ipykernel_launcher.py [-h] [--model_path MODEL_PATH] [--crop_size CROP_SIZE] [--vocab_path VOCAB_PATH] [--image_dir IMAGE_DIR] [--caption_path CAPTION_PATH] [--log_step LOG_STEP] [--save_step SAVE_STEP] [--embed_size EMBED_SIZE] [--hidden_size HIDDEN_SIZE] [--num_layers NUM_LAYERS] [--num_epochs NUM_EPOCHS] [--batch_size BATCH_SIZE] [--num_workers NUM_WORKERS] [--learning_rate LEARNING_RATE] ipykernel_launcher.py: error: unrecognized arguments: -f /home/jovyan/.local/share/jupyter/runtime/kernel-a655061f-5057-4176-9fe1-8b2b50c96aa9.json
An exception has occurred, use %tb to see the full traceback.
SystemExit: 2 /opt/conda/lib/python3.7/site-packages/IPython/core/interactiveshell.py:3299: UserWarning: To exit: use 'exit', 'quit', or Ctrl-D. warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)