'No space left on deivce' 에러가 나서 $ df -h 명령어를 수행해보았다. 이전에는 /dev/loop* 디바이스가 출력되지 않았었는데 이번에 보니 굉장히 많은 루프 디바이스가 존재하고 사용률이 모두 100%인 것을 볼 수 있다. 루프 디바이스가 뭔지 찾아봤더니, 이 블로그에 따르면 "루프 디바이스는 블록 디바이스이긴 한데 디스크 등의 실제 장치는 아니고, 파일시스템 안의 파일과 다른 블록 스토리지의 맵핑을 위해 사용한다" 라고 한다. 원래 없었던 디바이스들인데 이게 생기면서 용량 부족 에러가 발생했으니 지워도 되는 것으로 보인다. $ sudo apt autoremove --purge snapd 위 명령어를 수행하니 루프 디바이스들이 모두 제거되었고 코드가 다시 잘 돌아갔다. (참고)..
Xshell에서 서버에 SSH 연결하는 법을 알아본다. 상단 좌측에 '새로 만들기' 버튼을 누른다. 이름(N): 나에게 보일 서버 이름을 입력 호스트(H): 서버의 IP주소 입력 포트 번호(O): 포트 번호 입력 그리고 좌측에 연결 - 사용자 인증 탭을 눌러서 서버에 로그인할 계정의 정보를 입력한 후 확인을 누른다. 그러면 좌측의 세션 관리 탭에 방금 등록해준 서버가 뜰 것이다. 더블 클릭하면 서버 창이 뜬다. 이런 창이 뜨면 제대로 연결되지 않은 것이다. 서버 IP 주소, 포트번호, 사용자 계정 정보를 잘 입력했는지 확인해보자. 이런 식으로 가장 아래에 등록한 사용자 이름으로 커맨드를 입력할 수 있도록 뜨면 연결이 잘 된 것이다.
KeyError: 'src_texts' BART를 이용한 대화 생성 실험을 하려는데, 위 에러가 발생했다. 디버깅해보니 에러가 발생하는 원인은 Seq2SeqDataCollator 객체가 호출될 때 __call__() 함수에 넘어오는 batch 변수가 비어있기 때문에 'src_texts'라는 key를 찾을 수 없기 때문이었다. batch 변수가 비어있는 이유는 다음과 같다. data_collator를 선언하는 과정에서, RemoveColumnsCollator 객체가 호출될 때 _remove_columns() 함수가 실행된다. 이 함수는 현재 데이터에서 key가 self.signature_columns라는 리스트에 포함되지 않으면 제거하는 기능을 수행한다. transformers에서 제공하는 코드를 그대로 ..
CUDA error: CUBLAS_STATUS_NOT_INITIALIZED when calling `cublasCreate(handle)` 사전학습된 모델과 토크나이저를 불러오는 코드 부분을 수정했더니 위와 같은 에러가 발생했다. 원인은 토크나이저에 새로운 스페셜 토큰을 추가했는데, 모델에 대해 resize 해주는걸 까먹지 말아야지 해놓고 까먹었기 때문이다. ㅠ 해결 방법 model.resize_token_embeddings(len(tokenizer)) 토크나이저와 모델을 선언한 다음 이 코드를 추가해준다.
한 줄의 길이가 길 때, 좌우로 스크롤을 넘기면서 봐야해서 불편하다. 좌우로 스크롤할 필요없이 자동 줄바꿈 되도록 설정을 해보자. 현재 파일에서만 자동 줄바꿈 설정을 하려면, View - Active Editor - Soft-Wrap 을 눌러준다. 특정 확장자 파일에 대해 모두 설정을 하려면, 우측 상단의 Settings - Editor - General - Soft Wraps에서 Soft-wrap these files: 에 체크를 하고 자동 줄바꿈 설정할 확장자를 입력한다.
Pycharm에서 File - New Project를 누른다. Location에 프로젝트를 만들 위치를 입력하고, Python interpreter를 눌러 아래로 열면 위와 같이 뜬다. 빨간색으로 표시한 ... 버튼을 누른다. 좌측에 SSH Interpreter를 선택한다. Existing server configuration을 선택한 후 빨간색으로 표시한 ... 버튼을 눌러준다. 좌측에 있는 + 버튼을 누른 다음 Host, User name, Password를 입력하고 OK 버튼을 누른다. 그럼 위와 같이 세팅이 될 것이다. Next 버튼을 누른다. Interpreter 부분에 본인이 사용할 서버에서의 python 경로를 입력해준다. 이 때 default 값으로 "/usr/bin/python" 이 설정..
우선 conda 가상환경을 만들었다고 가정한다. 만들어둔 conda 가상환경을 jupyter notebook에서도 사용하고 싶을 때는 커널(kernel)을 추가하면 된다. 아래 커맨드를 프롬프트 창에서 실행한다. 1. 가상환경 활성화 conda activate 가상환경이름 2. ipykernel 라이브러리 설치 conda install ipykernel 3. 커널 추가 python -m ipykernel install --user --name 가상환경이름 --display-name 커널이름 --display-name에는 jupyter notebook에 추가할 커널 이름을 써주면 된다. 나는 가상환경 이름과 동일하게 설정했다. 4. jupyter notebook에서 확인 jupyter notebook을 새..
1. Git LFS 설치 모델의 크기가 크기 때문에 대용량 업로드를 위해 Git LFS를 설치해야 한다. curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash sudo apt-get install git-lfs git lfs install 2. Access Token 발급 https://huggingface.co/settings/tokens 에 들어가서 토큰을 발급받아야 한다. Role은 'write'로 선택해준다. 노란색으로 표시한 아이콘을 눌러 만들어진 토큰을 복사한다. 3. Huggingface에 업로드하기 from transformers import AutoModel from tran..