분류 전체보기124 [Pytorch][Error] ’BertTokenizerFast' object has no attribute '_in_target_context_manager' Pytorch에서 Transformer 라이브러리를 사용하는데 여러 가상환경에서 테스트를 해보다가 이전에는 없었던 아래 에러가 발생하는것을 확인 ’BertTokenizerFast' object has no attribute '_in_target_context_manager' 찾아보니, transformers 라이브러리 4.22.x 와 4.21.x 버전에서 같은 에러가 발생한다고함 더 낮은 버전으로 다운그레이드하여 해결 pip install --force-reinstall transformers==4.20.1 https://github.com/MaartenGr/BERTopic/issues/718#issuecomment-1248934705 'BertTokenizerFast' object has no attr.. 2022. 12. 12. [Error] EOFError : Ran out of input 유사문서 매칭 모델 서비스에서 문서 텍스트를 BERT 계열 언어모델을 사용하여 embedding vector로 전환한 후, faiss 라이브러리를 통해 유서 문서 검색 기능을 제공하고 있다. 좀 더 자세히말하자면, faiss index를 생성한 후, 검색 대상 문서(Document Pool)에 embedding vector를 추가하는데 저장해놓은 pickle파일 형태의 벡터를 불러온다. 이때, EOFError : Ran out of input 에러가 발생 원인을 파악한 결과, 새로운 문서가 추가 되거나 인코더 역할을 하는 언어모델을 교체하여 새로운 인덱싱을 진행한 후 파일을 다시 저장할때, 즉, 아래처럼 with open을 'wb'로 실행할 때 비정상적으로 기능이 종료가되어 파일이 손상된 것이 원인이었다.. 2022. 12. 12. [torchserve] torchserve start -> ModuleNotFound Error (import yaml) torchserve를 실행하는데 ModuleNotFoundError가 나면서 yaml을 import하라는 로그가 떨어졌다. conda list에 이미 yaml이 있는데 안되서 해결방법을 찾다가 아래 실행해서 해결! pip install pyyaml https://stackoverflow.com/questions/14261614/how-do-i-install-the-yaml-package-for-python 위 방법으로도 안되어서 아래로 해결 $ conda install -c anaconda pyyaml 2022. 12. 6. [VSCode] SSH 원격 서버 연결 오류 반복 원래 정상적으로 SSH 연결이 잘 되었던 서버인데, 연결이 안되고 비밀번호를 계속 다시 입력하라는 창이 뜬다면, 아래와 같이 해보자. [F1]을 누르고 'uninstall'만 입력하면 아래와 같이된다 'Remote-SSH: Uninstall VS Code Server from Host...' 클릭하고 문제 서버를 클릭한 후 재연결하면 해결됨 2022. 12. 2. [Error] FileNotFoundError: No usable temporary directory found in ['/tmp', '/var/tmp', '/usr/tmp' 어제까지 잘 실행되었는데 오늘 갑자기 에러가 났다 FileNotFoundError: \[Errno 2\] No usable temporary directory found in \['/tmp', '/var/tmp', '/usr/tmp' ..\] 저장 공간이 부족하다는 의미인것 같아서, 가장 빨리 해볼 수 있는 conda clean --all 을 해줬더니 conda clean --all : 사용하지 않는 packages 나 cache 제거 아래처럼 총 9GB 이상의 파일이 삭제되었다. 그리고 정상적으로 실행됨 확인 2022. 11. 24. [Torchserve]'NoneType' object is not callable 새로운 서버에서 기존에 생성한 mar파일로 torchsere 실행 시, 다른 서버에서는 정상적으로 작동하였으나 특정 서버에서 Handler가 request마다 초기화 되어 'NoneType Error'가 발생함을 확인함 찾은 원인을 정리하자면 아래 2가지이다. 1. CUDA와 NVIDIA-driver의 설치 여부 및 호환성 문제 [확인 방법] torch.cuda.is_available() = False [해결 방법] CUDA와 NVIDIA driver가 설치되어있는지, 서로 호환이 가능한지 확인 ✔ CUDA 확인 : nvcc -V ✔ NVIDIA driver 확인 : nvidia-smi nvidia driver 에 맞는 CUDA는 10.2 인데(이미지), 실제 설치된 CUDA는 10.0이어서 호환성이 맞.. 2022. 11. 14. [Torchserve] java.lang.NoSuchMethodError 새로운 서버에서 기존에 생성한 mar파일로 torcsherve 실행시, java.lang.NosuchMethodError 오류 발생함 이는 java version의 문제로 java 1.8 버전을 사용하는 서버에서 모두 문제가 발생했음. java 11이상으로 변경했을때 정상적으로 작동함 확인 ✔️ 아래 명령어를 실행하여 java 버전 변경 update-alternatives --config java ✔️ java11이 설치되어있지 않다면 아래 진행해서 설치 $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install openjdk-11-jdk ✔️ 아래와 같은 오류 메세지가 뜬다면, sudo 추가 update-alternatives: using .. 2022. 11. 14. [Torchserve] ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 새로운 서버에서 기존에 생성한 mar 파일로 torchserve start를 했을때 위의 오류 발생 libstdc++.so.6.0.19 → so.6.0.26 이상으로 업그레이드 후 해결됨 1. 버전확인 ll /usr/lib64/libstdc++.so.6 2. 원하는 버전이 있는 위치 찾기 sudo find / -name "libstdc++.so.6" libstdc++.so.6이 존재하는 모든 위치가 출력되지만, 26 이상 으로 업그레이드 하고자 하므로, 26이 있는 위치 선택함 ~/anaconda3/envs/odqa/lib/libstdc++.so.6.0.26 3. /usr/lib64/ 위치에 최신버전 파일 이동 sudo cp [2에서 찾은 경로] /usr/lib64 4. 기존 링크 삭제 rm -rf /u.. 2022. 11. 14. [NVIDIA] Linux NVIDIA driver 설치 오류 - 'exit X before installing' 리눅스 NVIDIA driver 수동 설치 중 아래 에러 발생 You appear to be running an X server; please exit X before installing. For further details, please see the section INSTALLING THE NVIDIA DRIVER in the README available on the Linux driver download page at www.nvidia.com 1. 아래 명령어로 DisplayManager를 비활성화 시킨후 실행 systemctl isolate multi-user.target 2. 설치 완료 후에는 다시 활성화 시키기! systemctl start graphical.target 아래 글을 참고함 .. 2022. 11. 9. [Pytorch][BERT] 버트 소스코드 이해_⑫ BertSelfOutput [Pytorch][BERT] 버트 소스코드 이해 목차 BERT 📑 BERT Config 📑 BERT Tokenizer 📑 BERT Model 📑 BERT Input 📑 BERT Output 📑 BERT Embedding 📑 BERT Pooler 📑 BERT Enocder 📑 BERT Layer 📑 BERT SelfAttention 📑 BERT SelfOtput 👀 BertSelfOutput 2022. 10. 28. [Pytorch][BERT] 버트 소스코드 이해_⑪ BertSelfAttention [Pytorch][BERT] 버트 소스코드 이해 목차 BERT 📑 BERT Config 📑 BERT Tokenizer 📑 BERT Model 📑 BERT Input 📑 BERT Output 📑 BERT Embedding 📑 BERT Pooler 📑 BERT Enocder 📑 BERT Layer 📑 BERT SelfAttention 👀 📑 BERT SelfOtput BertSelfAttention 1. Attetion Process 1) key, query, value 생성 : 전체 hiddens_size를 실제로 attention 연산을 적용할 크기로 축소한다 2) attention score 구한다 3) context vector 구한다 (=output) ✔ num_attention_heads : (i.. 2022. 10. 28. [Pytorch][BERT] 버트 소스코드 이해_⑩ BERT Layer [Pytorch][BERT] 버트 소스코드 이해 목차 BERT 📑 BERT Config 📑 BERT Tokenizer 📑 BERT Model 📑 BERT Input 📑 BERT Output 📑 BERT Embedding 📑 BERT Pooler 📑 BERT Enocder 📑 BERT Layer 👀 📑 BERT SelfAttention 📑 BERT SelfOtput BertLayer 1. BertLayer의 init() ✔ transformers.apply_chunking_to_forward : 연산 효율화를 위해 chunk를 나누어서 계산한다. : This function chunks the input_tensors into smaller input tensor parts of size chunk_siz.. 2022. 10. 28. [Pytorch][BERT] 버트 소스코드 이해_⑨ BERT model 출력값 [Pytorch][BERT] 버트 소스코드 이해 목차 BERT 📑 BERT Config 📑 BERT Tokenizer 📑 BERT Model 📑 BERT Input 📑 BERT Output 👀 📑 BERT Embedding 📑 BERT Pooler 📑 BERT Enocder 📑 BERT Layer 📑 BERT SelfAttention 📑 BERT SelfOtput BaseModel 출력값 class BertModel(BertPreTrainedModel): def forward(...): ........ return BaseModelOutputWithPoolingAndCrossAttentions( last_hidden_state = **sequence_output**, pooler_output = **po.. 2022. 10. 28. [Pytorch][BERT] 버트 소스코드 이해_⑧ BERT model 입력값 [Pytorch][BERT] 버트 소스코드 이해 목차 BERT 📑 BERT Config 📑 BERT Tokenizer 📑 BERT Model 📑 BERT Input 👀 📑 BERT Output 📑 BERT Embedding 📑 BERT Pooler 📑 BERT Enocder 📑 BERT Layer 📑 BERT SelfAttention 📑 BERT SelfOtput BertModel 입력값 - BERT 모델을 생성한 후, forward 함수에서 필요한 입력값 class BertModel(BertPreTrainedModel): def forward( self, input_ids, attention_mask, token_type_ids, position_ids, head_mask, inputs_embeds, .. 2022. 10. 28. [Pytorch][BERT] 버트 소스코드 이해_⑦ Bert Pooler [Pytorch][BERT] 버트 소스코드 이해 목차 BERT 📑 BERT Config 📑 BERT Tokenizer 📑 BERT Model 📑 BERT Input 📑 BERT Output 📑 BERT Embedding 📑 BERT Pooler 👀 📑 BERT Enocder 📑 BERT Layer 📑 BERT SelfAttention 📑 BERT SelfOtput BertPooler : 마지막 hidden_state의 첫번째 토큰인 [CLS] 토큰의 embedding을 반환 We "pool" the model by simply taking the hidden state corresponding to the first token. The pooling layer at the end of the BERT m.. 2022. 10. 28. 이전 1 2 3 4 5 6 ··· 9 다음