2022년 7월 8일 금요일

우분투 apt-get update 시 NO_PUBKEY 문제 해결 방법

이 글은 우분투 apt-get update 시 NO_PUBKEY 문제 해결 방법을 간략히 정리한다. 

가끔 다음과 같이 실행하면, NO_PUBKEY나 EXPKEYSIG 에러 발생하는 경우가 있다.
sudo apt-get update 

에러 화면

이 경우는 업데이트 저장 사이트가 변경되거나 등의 이유로 해당 키값이 적절히 등록되어 있지 않아 발생하는 것이다. 

아래 명령으로 각 키값을 등록한다.
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key [NO_PUBKEY 에러 키값]

EXTKEYSIG 에러는 다음 명령으로 해당 키를 삭제한다. 
sudo apt-key del [EXTKEYSIGN 에러 키값]

그럼 다음과 같이 정상적으로 업데이트된다. 

레퍼런스

2022년 7월 7일 목요일

PyTorch 소스코드 빌드 기반 설치 방법

이 글은 파이토치(PyTorch) 소스코드를 이용해 빌드 기반으로 설치하는 방법을 간략히 설명한다. 
딥러닝 프레임웍인 파이토치에 대한 상세 내용은 다른 링크를 참고한다. 
파이토치를 이용할때 가장 빈번하게 발생하는 고질적 문제는 아래와 같다. 
  • NVIDIA DRIVER, CUDA 버전 불일치로 인한 패키지 설치 에러
  • 사용 라이브러리 버전 불일치로 인한 GPU 버전 동작 에러
이런 문제를 해결하기 위해서는 소스코드를 깃허브에서 다운로드 받고 빌드해 설치해야 한다. 빌드 환경은 우분투 리눅스, CUDA 11.2 버전이며, NVIDIA GPU 드라이버는 미리 설치되어 있어야 한다. 이 부분도 많은 단계가 있다. 여기서는 모두 다 설치되어 있다고 가정한다. 

아래는 빌드 테크트리이다. 
우선, conda나 virtualenv로 가상 환경을 생성하고, 활성화한다. 

아래와 같이 관련 패키지들을 설치한다. 
conda install astunparse numpy ninja pyyaml setuptools cmake cffi typing_extensions future six requests dataclasses

github에서 pytorch 소스코드 다운로드하고 빌드한다.


만약, cuda 에러가 발생하면, 다음과 같이 설치 프로그램을 다운로드하고, 기존 cuda 삭제한 후 다시 설치한다.
 
sudo apt clean
sudo apt update
sudo apt purge nvidia-* 
sudo apt autoremove
sudo apt install -y cuda

모두 설치되면, 다음과 같이 설치 버전을 확인해 본다. 
nvidia-smi
nvcc --version
cat /usr/local/cuda/version.txt

python
import torch
torch.cuda.is_available()
torch.cuda.device(0)
torch.cuda.device_count()
torch.cuda.get_device_name(0)
torch.version.cuda