Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- llm을 활용 단어장 앱 개발일지
- C++
- fastapi를 사용한 파이썬 웹 개발
- BFS
- 영상처리
- MATLAB
- Image Processing
- BOF
- Dreamhack
- PCA
- rao
- ML
- Got
- Flutter
- Algorithm
- pytorch
- BAEKJOON
- bloc
- ARM
- 백준
- system hacking
- Stream
- study book
- DART
- Widget
- MDP
- Kaggle
- 파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터비전 심층학습
- FastAPI
- Computer Architecture
Archives
- Today
- Total
Bull
[Docker:Dockerfile] windows10 wsl2 docker nvidia pytorch GPU사용하기 본문
DevOps/Docker
[Docker:Dockerfile] windows10 wsl2 docker nvidia pytorch GPU사용하기
Bull_ 2024. 4. 13. 08:27# 사용할 베이스 이미지
FROM pytorch/pytorch:latest
# PyTorch 및 Jupyter 설치
RUN conda install pytorch
RUN conda install torchvision
RUN conda install jupyter
RUN apt-get update
RUN conda install cudatoolkit=11.8 cudnn -c pytorch
# 작업 디렉터리 설정
WORKDIR /workspace
# Jupyter Notebook 설정 (옵션: 비밀번호 설정 등)
# 이 예제에서는 비밀번호 없이 모든 IP에서 접속 가능하게 설정
RUN jupyter notebook --generate-config --allow-root
RUN echo "c.NotebookApp.ip = '0.0.0.0'" >> ~/.jupyter/jupyter_notebook_config.py
RUN echo "c.NotebookApp.allow_root = True" >> ~/.jupyter/jupyter_notebook_config.py
RUN echo "c.NotebookApp.open_browser = False" >> ~/.jupyter/jupyter_notebook_config.py
RUN echo "c.NotebookApp.port = 8888" >> ~/.jupyter/jupyter_notebook_config.py
# 포트 8888 노출
EXPOSE 8888
# Jupyter Notebook 실행
# CMD ["jupyter", "notebook", "--allow-root"]
처음에 VMware로 리눅스환경에서 설치했다가 VGA를 자체 어댑터로 밖에 지원안한다는 사실을 하고 며칠 몇 시간 동안 날리고,
도커로 하면 GPU 인식된다는 사실을 알고 블로그에 있는 글 모두 긁어모아 따라해봤지만,
되는 게 없었다....
cudatoolkit, cudnn, docker-nvidia pytorch 버전도 항상 맞추어 줬는데, 윈도우 버전을 맞춰야하는 건지
WSL2 환경에서 깔린 버전을 맞춰야 하는건지... 정말 교묘하게 환경설정이 꼬여서 이 GPU좀 써보겠다고 총 날린 시간을 합쳐보면 15시간은 되는 거 같은데....
결론적으로 GPU 인식은 도커에서 됐는데 버전 맞추는 게 계속 잘못되었던 것 같다.
FROM pytorch/pytorch:latest이 베이스이미지에서 구축하니까 제대로 된다는 것을 알았다.
지금보니 저 conda 명령은 없어도 될 거 같긴한데.... 귀찮으니 일단 블로그에 저장해두고 사용하려고 한다.
포스팅 제목이 너무 웃긴 거 같은데ㅋㅋ
진짜 말 그대로 윈도우에 도커를 깔고 WSL2으로 윈도우 자원을 이용해 도커로 접근하는 요상한 방법으로 한다.
wsl, 도커는 맛보기로 몇 번 써보긴 했는데 이런식으로 맞물려서 사용되는 것을 보고 신기했다.
분명 윈도우 환경인데 bash shell을 쓰는 장면... 여기서 docker를 키면 윈도우에서 인식이 된다. 개신기.
실행
sudo docker run -p 8888:8888 --cpus 6 --memory 20g --gpus all -it --rm pytorch-jupyter
jupyter notebook --ip=0.0.0.0 --port=8888 --allow-root