fnwinter.github.io blog

AI study (1)

colab 을 로컬 PC에 연결하기

https://colab.research.google.com/ https://research.google.com/colaboratory/local-runtimes.html

colab을 사용하면, 실시간으로 코드를 클라우드에 저장할 수 있고,
네트워크가 연결 되어 있으면 언제든지 python code를 할 수 있으며,
Gemini에게도 바로 도움을 받을 수 있는 장점이 있다.

그런데, T4 같은 GPU는 하루 2시간 정도 밖이 사용할 수가 없기 때문에,
내 PC의 GPU를 연결해서 실행해 보고 싶은 요구가 생겼다.

이럴 경우 아래의 명령어를 쓰면 된다.</br>

pip install jupyter
pip install jupyter_http_over_ws
jupyter server extension enable --py jupyter_http_over_ws
jupyter notebook --NotebookApp.allow_origin='https://colab.research.google.com' --port=8888 --NotebookApp.port_retries=0

이렇게 실행한 다음 jupyter 에서 나온 URL을 colab의 runtime에 등록하면 된다.
만약 윈도우 WSL에서 실행했는데, /usr/etc/jupyter 폴더가 없다고 에러 메시지가 나오면,
그냥 폴더 생성 후에 777 권한 주고 다시 실행하면 정상적으로 동작한다.

추가로 내 경우, GPU는 AMD radeon 이고, 윈도우 WSL에서 실행해야 했기 때문에, 어쩔 수 없이 DirectML을 써야했다. 다음은 DirectML 링크이다.

https://learn.microsoft.com/ko-kr/windows/ai/directml/pytorch-windows

그리고, 현재 가장 큰 문제는, torch-directml 패키지가 PyTorch 2.2까지만 지원한다는 것이다.

pip install torch-directml

아래처럼 코드를 실행하면, 연산이 되어야 함.

import torch
import torch_directml

device = torch_directml.device()
t1 = torch.rand(10).to(device)
t2 = torch.rand(10).to(device)

print(t1)
print(t2)
t3 = t1 + t2
print(t3)

>>> 결과

tensor([0.2983, 0.3151, 0.9059, 0.6782, 0.3483, 0.4588, 0.7829, 0.9317, 0.9611,
        0.9084], device='privateuseone:0')
tensor([0.8023, 0.7632, 0.3733, 0.3022, 0.9611, 0.4284, 0.5475, 0.2728, 0.0848,
        0.5211], device='privateuseone:0')
tensor([1.1006, 1.0783, 1.2792, 0.9804, 1.3093, 0.8871, 1.3304, 1.2045, 1.0459,
        1.4295], device='privateuseone:0')
Dropped Escape call with ulEscapeCode : 0x03007703

device 가 GPU를 사용 중일 때, ‘privateuseone:0’ 이렇게 출력 됨.

https://rocm.docs.amd.com/projects/radeon/en/latest/docs/install/wsl/install-radeon.html WSL / 라데온에서 pytorch 사용시 gpu를 쓸 수 있게 하는 방법

comments powered by Disqus