본문 바로가기

프로그래밍/AI:ML:DL

windows 에서 pytorch / autokeras 설치하기

  • 2019-03-26 포스팅최초작성 : pytorch 나 autokeras 등은 버전이 바뀌면서 설치방법이 바뀔 수 있기 때문에, 본 포스팅을 보는 시점이 작성시점과 너무 차이가 난다면, 다른 방법을 검색하십시오.
  • 2019-07-09 버전변경에 따른 주의사항 : 현재 최신버전인 autokeras 4.0.0 버전에서는 torch 디펜던시 버전이 1.0.1.post2 로 바뀌면서, 윈도우에서의 설치는 불가능한 것으로 보입니다. 아래 lay님과의 댓글을 참조. 본 포스팅의 내용을 따라해 보려면, pip install "autokeras<4.0" 으로 과거버전으로 설치해 볼 수 있을 것 같습니다.

autokeras 란 원하는 신경망의 하이퍼패러미터를 신경망 개발자가 디자인하는 것이 아니라, 데이터만 주입하면, 알아서 신경망을 만들어주는 라이브러리임.

이 라이브러리를 테스트해 보기 위해 설치를 시도하였다. autokeras 설치 설명에는 pip install autokeras 명령만으로 간단히 설치될 것처럼 쓰여 있으나, autokeras 가 pytorch 를 디펜던시로 갖으며, 윈도우 환경에서 pytorch 설치에는 신경쓸 부분이 있다. 이 과정을 기술한다.

먼저 pytorch 를 설치

pytorch 설치에 관해 검색해 보면, anaconda 환경에서 설치하는 방법들이 많이 검색된다. 하지만, 2019년 3월 현재, anaconda 환경이 아닌 바닐라 python 3.6 64 환경에서 pip 로 설치가 가능하다.

  1. py -3.6 -m venv vautokeras 명령으로 설치를 테스트할 vautokeras 라는 이름의 가상환경을 만든다.
  2. vautokeras/scripts/activate 명령으로 만들어진 가상환경을 활성화(activate)한다. 가상환경 진입하며 프롬프트가 바뀐다. 확인한다.
  3. https://pytorch.org/ 첫 페이지에서 OS, Package, Language, CUDA 옵션을 windows, pip, python3.6, None (테스트한 환경에는 그래픽카드가 없음.)으로 설정하면, pip install 할 torch 패키지 whl 파일의 url 이 나온다. 글 작성시점의 명령은 다음과 같다.
    pip3 install https://download.pytorch.org/whl/cpu/torch-1.0.1-cp36-cp36m-win_amd64.whl
    1. 우리는 가상환경에 진입하여 실행하는 것이므로, pip3 로 실행할 필요 없이, pip 로 설치를 진행하면 된다.
  4. torchvision 을 설치한다.
    pip install torchvision

이상과 같은 방법으로, pytorch 설치가 완료된다.

autokeras 설치

autokeras 의 설치를 계속 진행해 본다. 위 2에서 진입한 가상환경에서 계속 진행한다.

pip install numpy       #  numpy 를 먼저 설치한다.

pip install autokeras   # 를 실행해 본다.

이 명령을 실행하면 autokeras 의 종속 패키지들을 주르륵 깔지만, lws 패키지를 깔다가 VC 14.0 빌드툴이 없다며 에러를 발생하며 실패한다.

보통 이런 경우에는 빌드가 실패하는 패키지를 파이썬 윈도우 바이너리(whl 파일)를 모아둔 사이트에서 받아서, pip install 어쩌고저쩌고.whl 파일을 설치하고 진행하지만, lws 패키지는 빌드된 바이너리가 없었다.

결국, VC 14.0 빌드툴을 깔아서 진행하고 (또는, 이미 비주얼 스튜디오 2015가 깔려있는 경우에는 빌드툴을 또 따로 깔 필요 없음) vs2015 x64 네이티브 도구명령 프롬프트를 실행하여, 그 프롬프트에서 vautokeras 가상환경에 다시 진입한 후pip install lws 를 진행한다.

pip list                  # lws 가 잘 깔렸는지 확인한다.

pip install autokeras     # autokeras 설치를 다시 실행한다.

에고 힘들었다.

  • 추신1: windows conda 환경에서 torch 를 설치하고, autokeras 를 설치하는 것은 비추다. autokeras 가 매우 특정한 버전의 패키지들을 요구하는데, 그걸 맞추어가면서 설치하는 것이 거의 불가능했다.
  • 추신2: ubuntu 환경에서는 python3 로 가상환경만 잘 만들면, 그 가상환경 안에서 pip install autokeras 명령 하나로 아무 문제없이 설치가 진행된다.
728x90
  • lay 2019.07.04 20:27

    아나콘다에서 https://daewonyoon.tistory.com/266?category=759651 와 같이 한후에
    결국, VC 14.0 빌드툴을 깔아서 진행하고 (또는, 이미 비주얼 스튜디오 2015가 깔려있는 경우에는 빌드툴을 또 따로 깔 필요 없음) vs2015 x64 네이티브 도구명령 프롬프트를 실행하여, 그 프롬프트에서 vautokeras 가상환경에 다시 진입한 후에 pip install lws 를 진행한다.

    여기서 이해를 못해서요... 링크 첨부 부탁드리겠습니다.

    • Favicon of https://daewonyoon.tistory.com BlogIcon daewonyoon 2019.07.05 00:51 신고

      어떤 부분이 어떻게 이해가 안가시나요? 조금 더 설명하자면, lws 소스로 설치가 되는데, lws 소스가 설치될 때, c/cpp 소스 컴파일 과정이 필요합니다. 윈도우에서는 기본컴파일러가 없기 때문에, 비주얼씨 빌드툴을 깔거나, 이미 비주얼 스튜디오 2015 가 깔려 있다면, 비주얼 스튜디오의 64비트 빌드명령창에서 진행하면 된다는 말입니다.

  • lay 2019.07.05 01:53

    C:\Program Files (x86)\Microsoft Visual Studio 14.0>pip install lws
    Collecting lws
    Using cached https://files.pythonhosted.org/packages/3a/c7/856af2e1202e7a4c5102406196aa661edb402256e7ce2334be0c0d8afa2e/lws-1.2.tar.gz
    Building wheels for collected packages: lws
    Building wheel for lws (setup.py) ... error
    Complete output from command C:\Users\Lay\Anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\Lay\\AppData\\Local\\Temp\\pip-install-tn5r6wu2\\lws\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d C:\Users\Lay\AppData\Local\Temp\pip-wheel-nhqirhd6 --python-tag cp37:
    running bdist_wheel
    running build
    running build_ext
    building 'lws' extension
    error: [WinError 3] 지정된 경로를 찾을 수 없습니다: 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\PlatformSDK\\lib'

    ----------------------------------------
    Failed building wheel for lws
    Running setup.py clean for lws
    Failed to build lws
    Installing collected packages: lws
    Running setup.py install for lws ... error
    Complete output from command C:\Users\Lay\Anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\Lay\\AppData\\Local\\Temp\\pip-install-tn5r6wu2\\lws\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\Lay\AppData\Local\Temp\pip-record-afxuq8tf\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_ext
    building 'lws' extension
    error: [WinError 3] 지정된 경로를 찾을 수 없습니다: 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\PlatformSDK\\lib'

    ----------------------------------------
    Command "C:\Users\Lay\Anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\Lay\\AppData\\Local\\Temp\\pip-install-tn5r6wu2\\lws\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\Lay\AppData\Local\Temp\pip-record-afxuq8tf\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\Lay\AppData\Local\Temp\pip-install-tn5r6wu2\lws\

    C:\Program Files (x86)\Microsoft Visual Studio 14.0>
    vs2015깔고 했는데 이런오류나네요..


    • Favicon of https://daewonyoon.tistory.com BlogIcon daewonyoon 2019.07.05 13:28 신고

      vs2015 명령프롬프트 들어간 다음에도, 설치하려고 만든, 가상환경에 진입한 후에 pip 실행해야 합니다. 메시지 보면, 아나콘다 베이스의 python 이 실행되고 있습니다.

  • lay 2019.07.05 01:55

    py -3.6 -m venv vautokeras 이 가상환경 만드는건 뭐에요? py라는 명령어가뭘뜻하죠?

    python3 -m venv tutorial-env 보통 이렇게 venv만들지않나요?

    • Favicon of https://daewonyoon.tistory.com BlogIcon daewonyoon 2019.07.05 13:25 신고

      py 는 윈도우버전 파이썬 설치할 때 같이 깔 수 있는 파이썬 런처라는 프로그램입니다. 파이썬의 버전이 여러가지 같이 깔려있을 때 구분해서 실행할 수 있도록 해 줍니다.

      리눅스에서 python, python3 이런식으로 버전을 구분하여 실행하는 것과 비슷합니다. 단, py 는 python3.6 python3.7, python3.6-32, 등등이 다 깔려 있어도 그걸 다 구분해서 실행할 수 있습니다.

  • lay 2019.07.07 13:12

    계속죄송합니다...

    py 저거 파이썬 런처라고 구글링해도 못찾음.... 그냥
    1.conda create -n ak python=3.6 -y 로 가상환경생성함
    2.activate ak
    3. 토치다운로드...
    pip3 install https://download.pytorch.org/whl/cu100/torch-1.1.0-cp36-cp36m-win_amd64.whl
    에서
    pip install https://download.pytorch.org/whl/cu100/torch-1.1.0-cp36-cp36m-win_amd64.whl
    로바꿈

    ``` 이유는
    (base) C:\Windows\system32>activate ak

    (ak) C:\Windows\system32>pip3 install https://download.pytorch.org/whl/cu100/torch-1.1.0-cp36-cp36m-win_amd64.whl
    ERROR: torch-1.1.0-cp36-cp36m-win_amd64.whl is not a supported wheel on this platform.

    (ak) C:\Windows\system32>pip3 install https://download.pytorch.org/whl/cpu/torch-1.1.0-cp36-cp36m-win_amd64.whl
    ERROR: torch-1.1.0-cp36-cp36m-win_amd64.whl is not a supported wheel on this platform.

    (ak) C:\Windows\system32>pip3 install https://download.pytorch.org/whl/cpu/torch-1.1.0-cp36-cp
    Collecting https://download.pytorch.org/whl/cpu/torch-1.1.0-cp36-cp
    ERROR: HTTP error 403 while getting https://download.pytorch.org/whl/cpu/torch-1.1.0-cp36-cp
    ERROR: Could not install requirement https://download.pytorch.org/whl/cpu/torch-1.1.0-cp36-cp because of error 403 Client Error: Forbidden for url: https://download.pytorch.org/whl/cpu/torch-1.1.0-cp36-cp
    ERROR: Could not install requirement https://download.pytorch.org/whl/cpu/torch-1.1.0-cp36-cp because of HTTP error 403 Client Error: Forbidden for url: https://download.pytorch.org/whl/cpu/torch-1.1.0-cp36-cp for URL https://download.pytorch.org/whl/cpu/torch-1.1.0-cp36-cp

    (ak) C:\Windows\system32>pip install https://download.pytorch.org/whl/cu100/torch-1.1.0-cp36-cp36m-win_amd64.whl
    Collecting torch==1.1.0 from https://download.pytorch.org/whl/cu100/torch-1.1.0-cp36-cp36m-win_amd64.whl
    Using cached https://download.pytorch.org/whl/cu100/torch-1.1.0-cp36-cp36m-win_amd64.whl
    Collecting numpy (from torch==1.1.0)
    Using cached https://files.pythonhosted.org/packages/20/ed/e036d31a9b2c750f270cbb1cfc1c0f94ac78ae504eea7eec3267be4e294a/numpy-1.16.4-cp36-cp36m-win_amd64.whl
    Installing collected packages: numpy, torch
    Successfully installed numpy-1.16.4 torch-1.1.0
    에러가 나기 때문에..```

    4.pip install torchvision

    5. vs2015다운로드후 MSBuild Command Prompt for VS2015 실행
    6. 5에서 실행시킨 cmd에서 activate ak 실행
    7. 막힘...

    C:\Program Files (x86)\Microsoft Visual Studio 14.0>activate ak

    (ak) C:\Program Files (x86)\Microsoft Visual Studio 14.0>pip install lws
    Collecting lws
    Downloading https://files.pythonhosted.org/packages/ee/14/b1d07a911f7e50f5c2d8ab1b65021a79232eb6267cba203afe20e50b3caa/lws-1.2.1.tar.gz (142kB)
    |████████████████████████████████| 143kB 930kB/s
    ERROR: Complete output from command python setup.py egg_info:
    ERROR: Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "C:\Users\Lay\AppData\Local\Temp\pip-install-5ee7w8f8\lws\setup.py", line 27, in <module>
    verstrline = open(VERSIONFILE, "rt";).read()
    File "C:\Users\Lay\Anaconda3\envs\ak\lib\codecs.py", line 897, in open
    file = builtins.open(filename, mode, buffering)
    FileNotFoundError: [Errno 2] No such file or directory: '_version.py'
    ----------------------------------------
    ERROR: Command "python setup.py egg_info" failed with error code 1 in C:\Users\Lay\AppData\Local\Temp\pip-install-5ee7w8f8\lws\

    (ak) C:\Program Files (x86)\Microsoft Visual Studio 14.0>
    이에러가 나네요ㅜㅜ

  • lay 2019.07.07 13:18

    python 버전은 3.6.8입니다.

  • lay 2019.07.07 13:26

    3번에서 pip3로 설치하면 에러가 나서 pip로 설치 했는데...

    지금 lws 설치 안된 상태에서 pip install autokeras를 설치하면

    ERROR: Could not find a version that satisfies the requirement torch==1.0.1.post2 (from autokeras) (from versions: 0.1.2, 0.1.2.post1, 0.1.2.post2)
    ERROR: No matching distribution found for torch==1.0.1.post2 (from autokeras)

    에러가뜨네요.. pip3로 설치해야하나요?

  • lay 2019.07.07 14:41

    https://github.com/keras-team/autokeras/issues/694

    윈도우에서는 실행 불가.. MS store에서 Ubuntu 다운받고 https://sourceforge.net/projects/xming/ 설치해서

    pycharm으로 열어서 수정완료... 힘들었네요

    • Favicon of https://daewonyoon.tistory.com BlogIcon daewonyoon 2019.07.08 16:38 신고

      음. 하신 것 중에서, pytorch 설치에 대해서만 좀 말씀드리면요.

      pytorch 설치파일 찾는 페이지 보셨으면 아실텐데, 아나콘다 환경에서는 conda 명령으로 (pip 명령 말고) 설치하도록 가이드 되어 있어요.

      아나콘다환경에서는 되도록 conda 를 쓰는 게 좋다고 생각해요.

      --

      lws 설치하면서 나온 version.py 파일 없는 문제는, tar 파일 받아서, 풀어낸 다음에 그 폴더에서 python setup.py install 실행하면서 조금 디버깅하면, 간단히 넘어갈 수도 있을 것 같은 에러네요.

      --

      어찌됐든 잘 설치하셨다니, 고생하셨습니다.

    • Favicon of https://daewonyoon.tistory.com BlogIcon daewonyoon 2019.07.09 15:20 신고

      찜찜해서 설치테스트 해 보았습니다. 윈도우에선 현재 최신버전의 autokeras (4.0.0)가 요구하는 torch 버전을 윈도우에서 깔수가 없는 것 같습니다. ( 1.0.1.post2 )

      제가 포스팅할 때의 autokeras 는 3.7.0 이었던 것 같고, 이 때에는 1.0.1 버전의 torch 를 깔 수가 있었던 거구요.

      이 차이 때문에 삽질을 ㅜㅜ