본문 바로가기

파이토치6

윈도우 파이토치 쿠다 버전 안 맞는 오류 해결법 AssertionError : torch not compiled with cuda enabled 최근 Windows 환경에서 Pytorch를 GPU버전으로 설치하려는데, torch는 실행이 잘 되는데 GPU와의 연결이 잘 안되는 경우가 생겼다. 에러 메시지는 다음과 같다. (리눅스에서도 뜨는 경우를 봤던 것 같다) AssertionError : torch not compiled with cuda enabled 참고로 pytorch 설치는 다음과 같이 진행하였다. conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia 이 중 한 깃헙 이슈에서 발견한 좋은 해결책을 공유한다. pip uninstall torch pip cache purge pip install torch -f https://download.p.. 2023. 11. 3.
만들면서 배우는 생성 AI - 데이비드 포스터 매우 유용한 책을 받았다. 요새는 정말 대-생성 AI의 시대인데, 나름 인공지능 쪽 공부하고 있는 사람으로써 이것들을 잘 알아야 하지 않나 싶은데,. 논문들도 정말 너무 많이 나오고 너무 바빠서 석사 때에 비해서는 여러 논문들을 딥하게 공부는 못하고 있는 것 같다. 뭔가, 석사 때 수업에서 배우고 공부했던 것들이 꽤 자세했다는 생각이 든다. 물론, 최신 트렌드를 어느 정도는 다 러프하게 알고 있지만, 디테일이 조금 떨어지는 것 같다. (이제 보니, 여러 교수님들이 수업을 듣는 것이 중요하고 좋은 것이라고 하셨던 게 이해가 간다) 이미지 생성, 챗지피티 등 요새 모든 것들이 마구 생성이 되고 있다. 사실 연구 쪽에서는 Point cloud나 시계열 데이터 등 정말 다양하게 많지만, 아무래도 일반인들에게 제.. 2023. 10. 28.
MLOps 도입 가이드 - 데이터이쿠 MLOps는 요즘 핫한 Machine Learning에서의 ML과 DevOps라는 단어를 합친 말이다. 여기서 DevOps는 조금 학교보다는 기업에서 주로 사용하는 단어라 모르는 사람이 꽤 많을 것 같다. 사실 나도 워낙 기업과 멀다 보니 어렴풋이 알고 있었는데, 이 책을 보면서 제대로 알게 되었다. 데브옵스는 이제 기업에서 효율적으로 소프트웨어를 개발(DEVelopment) 하고 운영 (OPerationS) 하는 방법에 대한 전략이다. 소프트웨어 기업은 특성상 아주 완벽한 소프트웨어를 만들고 나서 출시하기보다는 어느 정도 완성된 후에는 출시하고 기능을 개선한다. 여기서 기능을 개선하는 것이 아주 쉬운 것은 아닌 것이 기존에 쓰던 사람들이 불편함을 겪지 않으면서 정말 기능이 개선되어야 하기 때문이다. 어.. 2022. 5. 28.
[Pytorch] 진짜 커스텀 데이터셋 만들기, 몇 가지 팁 Pytorch 개발자들이 이미 데이터셋, 데이터로더 클래스를 여러 개 만들어 두었다. 데어터셋의 경우 ImageFolder, DatasetFolder 와 같이 내 폴더 안에 있는 데이터들을 돌게 해주는 애들과 CIFAR10, ImageNet 등 유명한 베이스라인 데이터셋을 다운로드부터 train/test 스플릿까지 손쉽게 해주는 클래스 들이 있다. 이번에는 이런 것보다 조금 더 low-level로 직접 데이터셋 클래스를 만들어서 이를 데이터로더에 집어 넣는 것까지 해보겠다. 핵심은 바로 위 사진에 있는 torch.utils.data.Dataset 이라는 class를 상속받는 자식 클래스를 만들 것이다. 이 자식 클래스가 필요로 하는 메소드는 3가지이며, 다음과 같다. (언더바가 두 개임) 설명을 잘 모르.. 2021. 10. 4.
[CUDA] GPU 메모리는 할당되어 있는데 프로세스가 안 나올때 사진은 없긴 한데 또 생기면 캡쳐해서 올리겠습니다. nvidia-smi 는 GPU의 사용량을 모니터링하기 위해 사용합니다. 여기에는 GPU가 몇 개인지 어떤 GPU인지, 메모리는 얼마나 사용하고 있는지, 파워나 온도 등 여러 정보가 나옵니다. 추가로 watch -n 1 nvidia-smi 를 터미널에 치면 1초마다 업데이트 됩니다. nvidia-smi를 1초마다 눌러라 라는 명령이라서요. 그런데 가끔 코드를 돌리다가 Ctrl + C를 통해서 코드를 Terminate 시킬 때 어떻게 잘못하게 되면 nvidia-smi의 위쪽 부분에서 분명 메모리는 할당되어 있는데 아래에 Process에는 아무것도 없는 상황이 생길 때가 있습니다. 이 때에는 실제로 다시 코드를 돌려보면 GPU Out of Memory가 뜨게.. 2021. 5. 4.
[Pytorch] Dataloader 다양하게 사용하기 (custom loader) 파이토치의 데이터로더는 아래의 형태와 같이 사용합니다. path = 'C:/test' dataset = torchvision.dataset.ImageFolder(root=path, transform=transforms.Compose([ transforms.Grayscale(), transforms.ToTensor(), ])) dataloader = torch.utils.data.DataLoader(dataset, batch_size=batch_size, shuffle=True) 이미지든 어떠한 형태의 데이터를 모두 다룰 수 있지만, 위에 사용한 ImageFolder는 이미지를 다루는 애고 다른 형식의 데이터는 조금 후에 말하겠습니다. 데이터로더는 만들어진 이유가 Classification 태스크를 다루기.. 2020. 4. 15.