Windows 10 이 공식적으로 bash를 지원할 계획이라는 소식을 완전히 잊고 지내고 있을 무렵, 

딥 러닝에 대해 공부해보려고 TensorFlow, Caffe 등을 사용설치해 보고 있었다.
서브시스템인 맥으로 Tensorflow를 공부하고 있던 터라 GPU 가속을 한번 해보고 싶어 우분투를 설치하려 하고 있었다.

그 순간 다시 기억이 났다. 윈도우에서 '곧' bash를 정식으로 지원할 거라고... 그것도 우분투를 통째로 흡수한 형태로..

서론은 여기까지 하고 설치한 과정을 한번 적어보았다.


우선, 빌드 14316 이상의 Windows 10 이 있어야 한다(Pro, Home, Enterprise 등의 에디션은 상관없다고 한다). 

이를 위해서는 Insider Preview Program 에 참가하여 Preview 빌드를 받아야 한다. (여기서 받자)

주의할 점은, Insider Preview 는 말그대로 프리뷰이다. 베타버전임으로 매우 불안정하다. 매인 OS로 쓰기에 적합하지는 않을 터이니 파티션을 하나 더 만들던가, 가상머신을 이용하도록 하자. (필자는 가상머신을 이용하였다.)


 

Preview 빌드를 받는곳에 들어가서 스크롤을 조금 내리면 Select Edition 이라는 드롭다운이 나타난다. 필자는 Pro(아무 글자가 없음)  버전을 사용하였고, 빌드는 가장 최신인 14322버전을 선택하였다. confirm을 누르면 언어 선택하라고 나온다. 원하는 언어를 선택하자. 

다음으로 64bit 인지 32bit인지를 물어본다. 원하는 것을 클릭하면 드디어 다운로드가 시작된다.


 빌드는 ISO 형식으로 다운로드 된다. 별도의 파티션에 설치하여 부팅한다면 일반적인 윈도우 설치 과정과 동일하게 진행하면 된다.

가상머신에서 사용할때도 여타 OS와 다를것 없이 순조롭게 부팅&설치가 된다.


필자는 Hyper-V 와 Virtualbox 가장 최신 버전에서 설치를 해 보았다. 둘 다 무료이니 편한것을 선택하자. (Hyper-V 보다는 VirtualBox가 기능은 많다. 또한 Hyper-V  사용시에는 다른 VM 소프트웨어에서 64bit 게스트 운영체제를 부팅할 수 없으니 주의해야한다.)



운영체제 설치가 순조롭게 끝났다면 윈도우에 bash를 설치해야 한다.

우선, 설정->업데이트 및 복구->개발자용 에 들어가서 '개발자 모드'에 체크해 준다(스샷 참고).


다음으로, 제어판(설정과 다르다)->프로그램 및 기능->Windows 기능 켜기/끄기 에 들어간다


나타난 Windows 기능 이라는 창에서 'Linux용 Windows 하위 시스템(베타)'에 체크하고, 확인을 클릭해 준다.(베타 운영체제의 베타?)

무언가 설치한 후에 PC를 재시작 하고 나면 끝이 아니라(하핳)

cmd(명령 프롬프트)에 들어가서 bash를 입력해 준다.

무언가 ????가 많이 나오는데 글자가 깨지는것 같다. [Y/N]을 물으면 y를 한번 입력해 준다.

잠시 기다리면 설치가 완료되고 bash로 넘어간다. 설치 과정에서 꽤 오래 멈춰있을 수 있는데, 몇 분 정도 걸리는 것이 정상이다.


bash에 들어왔으니 이제 Tensorflow 를 설치해 보자.


다른것들을 설치하기 전에 sudo apt-get update를 한번 해 주고 넘어가자.


공식 가이드 의 방법 중 필자는 pip를 사용하여 설치하였다.


우선 pip와 여타 툴들을 설치한다. (Python은 최신으로 설치되어 있다.)

sudo apt-get install python-pip python-dev


설치가 완료되면 Tensorflow를 설치하자 (cpu only 버전. GPU enabled 버전은 다른 포스트로 공유할 예정이다)

sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl


사실 Tensorflow 설치는 이게 끝이다..

이후 bash에서 python 을 실행한 후 공식 테스트 예제(?)를 따라하면 정상적으로 동작한다

$ python
...
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print(sess.run(a + b))
42
>>>




MS의 왠지모를 자비(?)덕분에 윈도우에서도 Tensorflow를 사용할 수 있게 되었다. 

참고로, bash의 파일시스템은 윈도우 파일시스템과 동일한 디렉터리를 가리킴으로 여타 IDE를 사용하기에도 별 문제는 없을것이다.  

GPU enabled 버전은 설치는 성공했지만 가상머신인 관계로 디바이스가 없다는 오류가 나타난다. 

다음에 가상머신이 아닌 실제 PC에서 진행한 후 오늘과 같이 글을 적어 볼 예정이다.





'AI' 카테고리의 다른 글

Pycharm 원격 빌드 설정하기  (8) 2016.07.25
딥러닝과 행렬  (4) 2016.06.26
Windows 10 build 14332 에 TensorFlow 설치하기  (12) 2016.05.09
  1. hojak99 2016.05.09 10:37

    감사합니다. 덕분에 잘 설치했네요

    • ghatdev 2016.05.09 21:54 신고

      도움이 되셨다니 다행입니다ㅎㅎ
      부족한 글 읽어주셔서 감사합니다~

  2. Byeonggeon Ko 2016.05.16 13:32

    마소가 Bash 발표하는거 보고 텐서플로우 설치 하는거 생각만 해봤는데 이렇게 직접 해보신분이 있군요. 정말 감사합니다!! 혹시 GPU 버전은 설치하기 전에 CUDA를 윈도우버전으로 설치하셨나요 아니면 우분투 버전으로 설치하셨나요?

    • ghatdev 2016.05.16 18:54 신고

      우분투 버전으로 설치하였습니다.14.04 버전으로 설치하시면 문제없이 사용가능하십니다ㅎㅎ

    • ghatdev 2016.05.16 18:56 신고

      cudnn까지는 문제없이 설치됩니다만 자바설치시 버그가 있어 드라이버가 설치되지 않습니다ㅠ

    • Byeonggeon Ko 2016.05.17 10:46

      아아... 그렇군요 ㅜㅜ 감사합니다!!!

  3. faceonly 2016.08.05 11:43

    안녕하세요
    귀중한 내용을 포스팅 해주셔서 감사합니다.
    8월 3일에 Windows 10 1주년 업그레이드가 릴리즈 되고 드디어 Windows 10 에서 Tensorflow 를 설치할수 있게 되었습니다.
    포스팅 해주신 자료를 참고로 Windows 10 에 Tensorflow 를 설치했습니다.
    그런데 저의 경우 Windows 10 에 Pycharm 을 설치하고 쓰고 있는데 이 환경에서 Tensorflow 를 사용할수 없을까요?
    혹시 해본 경험이 있으시다면 부탁드립니다.

  4. 김태형 2016.12.24 13:54

    많은 도움되었습니다.! 감사합니다!

  5. 문과 2017.01.02 05:42

    가상머신과는 비교할 수 없을 정도로 쾌적하네요
    좋은 정보 감사해요

  6. podong28 2017.02.28 10:00

    글잘읽었습니다....저도 bash에서 ubuntu 16.04 + tensorflow-gpu 버전 설치했으나 nvidia-smi를 실행하면 NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running. 이런 메시지가 뜨네요. 그리고 예제코드를 실행하면 정상적으로 동작히자 않네요. 혹시 어떤 원인인지 아실까요?
    @podong28@naver.com

    • ghatdev 2017.05.06 12:39 신고

      드라이버를 설치하지 않으신것 같습니다. 엔비디아 공식 홈에서 드라이버를 설치하시면 해결될 것 같습니다

    • ghatdev 2017.05.06 12:40 신고

      아, 그리고 아직 윈도우 bash에서 pci 디바이스 직접 연결을 제공하는지는 모르겠습니다. lspci 명령어가 작동하지 않는다면 다른 리눅스를 사용하셔야 할 것 같습니다.

+ Recent posts