반응형

Tensorflow얼마전에 새로 텐서플로 설정을 했는데, 남은 그래픽카드로 model 연산을 하고싶어졌다.

https://www.tensorflow.org/guide/gpu

 

GPU 사용하기  |  TensorFlow Core

Note: 이 문서는 텐서플로 커뮤니티에서 번역했습니다. 커뮤니티 번역 활동의 특성상 정확한 번역과 최신 내용을 반영하기 위해 노력함에도 불구하고 공식 영문 문서의 내용과 일치하지 않을 수

www.tensorflow.org

 


원래같으면 CUDA를 써야겠지만, 남은 GPU가 AMD RADEON GPU 이기 때문에, 다른방법을 찾아봤다.

서치해보니까, ROCm을 설치해서 리눅스를 깔고 이러쿵 저러쿵 하는 방법이 주로  사용됐었던 것 같은데,

조금더 찾아보니, MS에서 DirectML이라는 걸 배포했다고 한다. 


https://cloudblogs.microsoft.com/opensource/2020/09/08/open-sourcing-tensorflow-with-directml/

 

Open-sourcing TensorFlow with DirectML - Microsoft Open Source Blog

Following the release of our Developer Preview in June, today we’re announcing an exciting next step as we make the source code of TensorFlow-DirectML, an extension of TensorFlow on Windows, available to the public as an open-source project on GitHub. Te

cloudblogs.microsoft.com

https://docs.microsoft.com/en-us/windows/win32/direct3d12/gpu-faq

 

GPU acceleration in WSL - FAQ - Win32 apps

FAQ for GPU acceleration in Windows Subsystem for Linux

docs.microsoft.com

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

 

Windows ML을 사용하여 TensorFlow + DirectML

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

docs.microsoft.com

관련 Document를 참조해서 설정했다.

anaconda에서 amd_machine_learning 라는 env 생성, 생성할때 파이썬 버전 3.7선택(3.7.1)

 

activate amd_machine_learning (env활성화)

 

아나콘다 프롬포트에서 

pip install tensorflow==1.15.5 (1.15.5버전 tf install)

 

 conda install ipykernel (ipykernel 모듈install)
python -m ipykernel install -user --name amd_machine_learning (해당 env ipykernel 추가)

 

pip install tensorflow-directml

아나콘다 프롬포트 -->  python 입력해서 python세션으로 이동

python

 

 

import tensorflow as tf

 

tf.test.is_gpu_available()

 

exit()  (파이썬 세션 나오기)

 

conda uninstall pyzmq
conda install pyzmq==19.0.2

이렇게 tensorflow에서 amd gpu인 radeon rx5600xt를 인식한 것을 볼 수있다.

jupyter notebook에

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

이렇게 입력하면

 

요약

1. amd_machine_learning (env생성) 생성할때 파이썬 버전 3.7선택 (3.7.1)

2. 그리고 activate시킨후

3. 아나콘다 프롬포트에서 pip install tensorflow==1.15.5

4. conda install jupyter

5. conda install ipykernel

6. python -m ipykernel install --user --name amd_machine_learning

7. 아나콘다 프롬포트에서 pip install tensorflow-directml

8. 아나콘다에서 python 입력해서 파이썬 세션으로키기

9. import tensorflow as tf

10. tf.test.is_gpu_available()

11. exit()  (파이썬세션나오기)

12. conda uninstall pyzmq

13. conda install pyzmq==19.0.2


14. from tensorflow.python.client import device_lib
     device_lib.list_local_devices()  (GPU사용가능 여부 확인하는것--쥬피터에서 돌려봐도됌)

 

 

rx5600xt 가 DML로 잘 인식된 것 까진 확인했는데, 여기서 tensorflow가 연산할 때 gpu대신 DML을 잡아서 연산시키는 방법에서 지금 막힌상태인데, PlaidML이라는 새로운 방법을 찾았다.

PlaidML은 다음포스팅에 메모할 것이다.

반응형