directML - python 3.7 - tensorflow 1.1.5
가으자!!
https://docs.microsoft.com/ko-kr/windows/ai/windows-ml/tutorials/tensorflow-intro
https://docs.microsoft.com/en-us/windows/ai/directml/gpu-tensorflow-wsl
1번 miniconda windows 버전 설치
https://docs.conda.io/en/latest/miniconda.html#windows-installers
python 3.7 설치
conda create --name directml python=3.7 conda activate directml
위에거 했는데 안됨.
다른 사이트 찾아보니까.
Tensorflow 사용을 위한 Directml 사용 도전기-1 : 네이버 블로그 (naver.com)
wsl도 설치가 안되어있어서 cmd 창 관리자로 열고
wsl --install 로 설치했다.
그리고 나서 위에서 받은 dx12-wsl을 관리자 모드로 설치했다. (관리자 모드는 혹시몰라서 )
그래픽 driver가 오히려 다운그레이드 된다.
그리고 나서도
conda create --name directml python=3.7 conda activate directml
했는데 오류남
pip install tensorflow-directml
이걸 먼저 설치했다.
vs 코드에서 버전을 찍을 때 안되서 뭘 설치하라고 했는데
C:/ProgramData/Miniconda3/Scripts/conda.exe install -c conda-forge --name base --update-deps --force-reinstall ipykernel -y
에러가 http 에러가 나서
찾아보니 아래와 같이 해보라고 했다.
conda config --set ssl_verify no
했는데 그래도 에러가 났다. 혹시나 해서 console을 열어서
C:/ProgramData/Miniconda3/Scripts/conda.exe install -c conda-forge --name base --update-deps --force-reinstall ipykernel -y
하니까 되었다.
vs코드에서 아래와 같이 하고
그래픽카드가 정상적으로 잡혔다고 보는게 맞는 것 같다.
DML이 그래픽카드와 연결된거라고 보면 되는 걸까??
궁금타.
CPU하고 DML하고 선택해 실행하는 방법을 찾아봐야겠다.
https://www.sysnet.pe.kr/2/0/12817
음 cpu랑 ,gpu를 지정해서 실행하는 방법을 찾아봐야겠다.
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
"-1"로 하면 CPU 강제 사용이라고 한다.
https://madrabbit7.tistory.com/80
방법 1 : 원하는 부분에만 GPU로 실행하도록 하기
# 텐서를 GPU에 할당
with tf.device('/GPU:0'):
a = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
b = tf.constant([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]])
c = tf.matmul(a, b)
print(c)
위와 같이 with문으로 사용하면 특정 컨텍스트를 묶어 해당 부분만을 특정 GPU로 실행되도록 한다. 이 때, 어떤 GPU를 사용할 것인지 특정해주어야 한다.
방법 2 : 전체에 대해 GPU로 실행하도록 하기
import os
os.environ["CUDA_VISIBLE_DEVICES"]="0"
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
try:
tf.config.experimental.set_memory_growth(gpus[0], True)
except RuntimeError as e:
print(e)
위의 코드를 처음 부분에 넣어주면 GPU 아래의 모든 부분에 대해 GPU로 실행하도록 한다. 이 때 os.environ["CUDA_VISIBLE_DEVICES"]에 사용하고자 하는 GPU의 넘버를 적어주면 된다.
만약 본인이 제대로 설정을 해서 GPU로 돌아가고 있는게 맞는지 확인하려면 nvidia-smi 커맨드를 사용해 자신이 특정한 GPU의 사용량을 보고 확인하면 된다.
여기까지 하자 끝!!
'PROGRAMING > 파이썬' 카테고리의 다른 글
파이썬 study 5 (소놀코딩-13.Set) (0) | 2021.12.27 |
---|---|
파이썬 스터디 4(소놀코딩 12강-tuple) (0) | 2021.12.26 |
파이썬 스터디2일차(소놀 코딩-10강제어문 중첩) (0) | 2021.12.26 |
파이썬 study 1일차(소놀코딩-8강 for문 9강.기타제어문 for문, continue,break,pass) (0) | 2021.12.26 |
plaidml(0.7.0) amd gpu 사용 - keras2.2.4 (0) | 2021.12.25 |