본문 바로가기

PROGRAMING/파이썬

directML - python 3.7 - tensorflow 1.1.5

directML  -  python 3.7 - tensorflow 1.1.5
가으자!!

https://docs.microsoft.com/ko-kr/windows/ai/windows-ml/tutorials/tensorflow-intro

 

Windows ML을 사용하여 TensorFlow + DirectML

Windows 머신에서 TensorFlow를 구성하는 방법 알아보기

docs.microsoft.com

https://docs.microsoft.com/en-us/windows/ai/directml/gpu-tensorflow-wsl

 

Tensorflow with DirectML on WSL

Enable TensorFlow with DirectML on the Windows Subsystem for Linux

docs.microsoft.com

1번 miniconda windows 버전 설치

https://docs.conda.io/en/latest/miniconda.html#windows-installers

 

Miniconda — Conda documentation

Miniconda is a free minimal installer for conda. It is a small, bootstrap version of Anaconda that includes only conda, Python, the packages they depend on, and a small number of other useful packages, including pip, zlib and a few others. Use the conda in

docs.conda.io

python 3.7 설치

conda create --name directml python=3.7 conda activate directml

위에거 했는데 안됨.
다른 사이트 찾아보니까.

Tensorflow 사용을 위한 Directml 사용 도전기-1 : 네이버 블로그 (naver.com)

 

Tensorflow 사용을 위한 Directml 사용 도전기-1

Tensorflow는 되게 유명한 딥러닝 end to end 프레임 워크 라이브러리 이다. 구글에서 만들었고.... 귀찮...

blog.naver.com

Radeon™ Software Adrenalin 2020 Edition for Microsoft® DirectX on Windows Subsystem for Linux Release Notes | AMD

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코드에서 아래와 같이 하고 

from tensorflow.python.client import device_lib
device_lib.list_local_devices()
 
 

그래픽카드가 정상적으로 잡혔다고 보는게 맞는 것 같다.

DML이 그래픽카드와 연결된거라고 보면 되는 걸까??
궁금타.

CPU하고   DML하고 선택해 실행하는 방법을 찾아봐야겠다.

 

https://www.sysnet.pe.kr/2/0/12817

 

스크립트: 25. 파이썬 - 윈도우 환경에서 directml을 이용한 tensorflow의 AMD GPU 사용 방법

글쓴 사람 정성태 (techsharer at outlook.com) 홈페이지 첨부 파일 부모글 보이기/감추기 파이썬 - 윈도우 환경에서 directml을 이용한 tensorflow의 AMD GPU 사용 방법 다음의 글을 보면, Tensorflow AMD GPU로 학습

www.sysnet.pe.kr

 

음 cpu랑 ,gpu를 지정해서 실행하는 방법을 찾아봐야겠다.

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"

"-1"로 하면  CPU 강제 사용이라고 한다.

https://madrabbit7.tistory.com/80

 

tensorflow 사용시 유용한 팁 몇 가지 (주로 GPU 관련)

텐서 플로 사용 시 유용한 몇 가지 팁을 정리한다. 텐서 플로 2.5.0 기준 GPU는 RTX 3060 12GB를 사용하고 있다. i7-10700k, 16GB RAM, 우분투 리눅스 20.04 1. 텐서 플로의 정보 출력 억제하기 import os os.envi..

madrabbit7.tistory.com

https://otugi.tistory.com/330

방법 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의 사용량을 보고 확인하면 된다.

여기까지 하자 끝!!