윈도우즈에 아나콘다, 파이썬, 텐서플로 설치하기

텐서플로(TensorFlow)를 사용하려면 파이썬(Python) 개발 환경이 필요합니다. 파이썬 공식 사이트에서 인스톨파일을 다운받아 설치할 수 있지만 과학 계산을 위한 여러 파이썬 패키지를 따로 설치해야 합니다. 대표적으로는 SciPy, NumPy, scikit-learn 등이 있습니다. 이따금 이런 패키지들을 설치할 때 곤란한 경우가 생길 수 있습니다. 그래서 운영체제 환경에 맞게 패키지들을 미리 준비해 놓은 배포판을 많은 사람들이 선호합니다. 특별히 여러 버전의 파이썬에서 실험을 해야한다거나 Windows 환경이라면 더욱 그렇습니다. 텐서플로 뿐만 아니라 머신러닝과 딥러닝을 위한 언어로서 파이썬을 선택했다면 필요한 여러가지 도구를 손쉽게 한 번에 설치해 줄 것입니다.

과학 계산용이거나 범용적으로 가장 인기있는 파이썬 배포판은 아나콘다(Anaconda)입니다. 캐노피(Canopy)나 액티브파이썬(ActivePython) 등도 있지만 아나콘다가 안정적이고 피드백이 빠른 편입니다. 이 글에서는 Windows에 아나콘다와 텐서플로를 설치하고 IPython 쉘과 주피터 노트북(Jupyter Notebook)을 실행하는 과정을 설명하겠습니다.


B2002963743_l<혼자 공부하는 머신러닝+딥러닝>이 출간되었습니다.

머신러닝과 딥러닝에 입문하려는 누구나 이해하기 쉽고 단계적으로 배울 수 있도록 구성했습니다. 어려운 수학은 최대한 줄이고 친절한 설명과 풍성한 삽화로 이해를 돕도록 만들었습니다.

머신러닝과 딥러닝을 배우기 주저하셨다면 더 이상 미루지 말고 이 책으로 시작해 보세요. 이전에 다른 책을 시도했지만 너무 어려워 끝마치지 못했다면 바로 이 책이 딱입니다.

텐서 ≈ 스터디 페이스북 그룹에 오시면 동영상 강의와 함께 배울 수 있습니다.

  • 강의 시간: 12월 22일부터 매주 화요일, 금요일 저녁 10시(공휴일과 겹치는 경우 다음 날로 변경, 예를 들어 12월 25일 스터디는 12월 26일 저녁 10시에 진행합니다)
  • 참여 대상: 머신러닝, 딥러닝을 공부하고 싶은 누구나.
  • 접속 방법: http://bit.ly/tensorflowstudy 에 줌 접속 URL 공개

풀 컬러, 580 페이지에 맛깔스런 삽화를 한 가득 채웠습니다. 지금 온라인 서점 예약 판매 중입니다! [교보문고] [Yes24] [인터파크] [전자책]


아나콘다 설치

브라우저로 아나콘다 제품 페이지에 접속합니다.

스크린샷 2020-11-13 오전 12.27.29

아래에 있는 다운로드 버튼을 누르면 설치 파일 위치로 이동합니다.

스크린샷 2020-11-13 오전 12.28.15

이 글을 쓰는 시점에는 파이썬 3.8 버전용 설치 파일을 제공합니다. 텐서플로의 바이너리는 64비트용이므로 만약 사용하는 컴퓨터가 32비트라면 텐서플로 소스를 직접 컴파일하여 설치해야 합니다. 텐서플로는 공식적으로 Windows에서 직접 소스를 컴파일하는 것을 지원하지 않습니다. 사용하는 Windows 컴퓨터가 32비트인지 64비트인지 확인하려면 여기를 참고하세요.

텐서플로 1.6버전부터 CPU의 AVX(고급 벡터 확장) 명령을 지원하도록 컴파일되어 있습니다. 만약 AVX를 지원하지 않는 CPU를 사용한다면 파이썬 3.6 버전과 텐서플로 1.5 버전을 사용해야 합니다(아래 설명). 사용하고 있는 CPU가 AVX 명령을 지원하는지 확인하려면 여기를 참고하세요.

또는 인텔의 프로세서 유틸리티를 사용할 수도 있습니다. 이 프로그램을 다운받아 설치하고 실행하면 다음과 같은 화면을 볼 수 있습니다. 두 번째 탭에서 Advanced Vector Extensions에 ‘예’라고 표시되면 AVX 명령을 지원하는 CPU입니다.

캡처10

이제 AVX를 지원하는 64비트 컴퓨터가 준비되었다고 가정하고 아나콘다의 파이썬 3.8 버전 64비트 인스톨러를 다운받습니다.

아나콘다 인스톨러 설치는 보통의 Windows 설치 프로그램과 비슷합니다. 설치 과정을 마치면 시작버튼에 아나콘다 폴더가 추가됩니다.

install_anaconda-c5439

이 다음부터는 Anaconda Prompt에서 명령행 인터페이스를 사용해서 진행하겠습니다.

install_anaconda-4213b

콘다 및 파이썬 패키지 업데이트

Anaconda Prompt에 들어오면 conda 패키지 관리자를 사용할 수 있습니다. 파이썬 3.8버전에서 다음과 같은 오류가 나면 prompt-toolkit 패키지를 다운그레이드해야합니다.

(base) C:\Users\haesun>ipython
Python 3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.19.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import scipy
In [2]: scipy.__version__
Out[2]: '1.6.0'
Unhandled exception in event loop:
File "C:\Users\haesun\anaconda3\lib\asyncio\proactor_events.py", line 768, in _loop_self_reading
f.result() # may raise
File "C:\Users\haesun\anaconda3\lib\asyncio\windows_events.py", line 808, in _poll
value = callback(transferred, key, ov)
File "C:\Users\haesun\anaconda3\lib\asyncio\windows_events.py", line 457, in finish_recv
raise ConnectionResetError(*exc.args)
Exception [WinError 995] 스레드 종료 또는 응용 프로그램 요청 때문에 I/O 작업이 취소되었습니다
Press ENTER to continue...
In [4]: exit

다음 명령으로 prompt-toolkit을 다운그레이드해 주세요.

pip install --upgrade prompt-toolkit==2.0.10

텐서플로 설치

  • 텐서플로를 설치하려면 시스템에 비주얼 스튜디오 재배포 패키지가 설치되어 있어야합니다. 만약 ImportError: DLL load failed while importing _pywrap_tensorflow_internal:와 같은 에러가 발생하면 64비트용 비주얼 스튜디오 재배포 패키지를 여기에서 다운받아 설치해 주세요.

아나콘다 배포판에는 텐서플로 최신 버전이 늦게 포함되므로 파이썬 기본 패키지 관리자인 pip로 텐서플로를 설치합니다. (텐서플로 1.15.0 버전과 2.1.0 버전부터는 CPU 패키지와 GPU 패키지가 통합되어 다운로드 용량이 커졌습니다. CPU만 사용하려면 대신 tensorflow-cpu 패키지를 설치하세요)

> pip install tensorflow

만약 AVX를 지원하지 않는 CPU를 사용하고 있다면 다음과 같이 파이썬 3.6 버전과 텐서플로 1.5 버전을 설치합니다.

> conda install python=3.6
> pip install tensorflow==1.5.0

설치가 완료된 후 IPython 쉘을 실행하여 tensorflow 모듈을 임포트합니다. 아무런 메세지가 뜨지 않으면 정상적으로 설치에 성공한 것입니다.

> ipython
...
In [1]: import tensorflow as tf
In [2]:

install_anaconda-35971

IPython 쉘을 종료하려면 exit 명령을 입력합니다. 데이터 분석을 위해 IPython 쉘도 좋지만 이보다 코드와 실행 결과를 함께 관리할 수 있는 주피터 노트북을 사용하도록 하겠습니다. 주피터 노트북은 로컬 컴퓨터에서 실행되는 웹 서버 프로그램과 비슷합니다. 브라우저로 코드를 실행하면 IPython 커널에게 실행을 명령하고 그 결과를 브라우저로 전달해 줍니다. 주피터 노트북을 실행하려면 아나콘다 프롬프트에서 jupyter notebook 명령을 사용합니다.

> jupyter notebook

주피터 노트북이 실행되면 자동으로 기본 브라우저가 실행되어 주피터 노트북 서버에 접속합니다. 로컬 컴퓨터의 주피터 노트북 서버 주소는 http://localhost:8888/ 입니다. 주피터 노트북을 실행한 현재 폴더를 기본 홈 페이지로 설정됩니다. 이 폴더 하위에 파이썬 주피터 노트북을 만들고 실행할 수 있습니다.

install_anaconda-4b594

Documents 폴더로 들어가서 새로운 파이썬 노트북을 만들어 보겠습니다. 오른쪽 위에 있는 New 버튼을 누르면 새로운 파이썬 3 주피터 노트북을 생성할 수 있습니다.

install_anaconda-b1bc1

새로운 브라우저 탭이 열리면서 Untitled 노트북이 생성됩니다. 첫번째 코드 셀(cell)에 IPython 쉘에서 했던 것처럼 import tensorflow as tf를 입력하고 Shift+엔터 키를 입력합니다. 아무런 메세지가 나오지 않으면 텐서플로를 주피터 노트북에서 사용할 수 있도록 설치에 성공한 것입니다.

install_anaconda-2d827

261 thoughts on “윈도우즈에 아나콘다, 파이썬, 텐서플로 설치하기

  1. hk

    cmd 창에서 import errror 가 뜨시는 분들 있는데 그때 정 안되시면 git hub에서 제가 찾은 방법 한번 사용해 보시라고 남깁니다. 단순히 파일이 잘못 깔리는 경우도 있는거 같아요.
    !pip uninstall -y tensorflow
    !pip install tensorflow
    감사합니다.
    문제 시 삭제하겠습니다.

    Liked by 1 person

    Reply
  2. 구대영

    안녕하십니까, 주피터 노트북에서 import tensorflow as tf를 치니까 이렇게 뜹니다..

    —–

    ImportError Traceback (most recent call last)
    ~\anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py in
    57
    —> 58 from tensorflow.python.pywrap_tensorflow_internal import *
    59

    ~\anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py in
    27 return _mod
    —> 28 _pywrap_tensorflow_internal = swig_import_helper()
    29 del swig_import_helper

    ~\anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py in swig_import_helper()
    23 try:
    —> 24 _mod = imp.load_module(‘_pywrap_tensorflow_internal’, fp, pathname, description)
    25 finally:

    ~\anaconda3\lib\imp.py in load_module(name, file, filename, details)
    241 else:
    –> 242 return load_dynamic(name, filename, file)
    243 elif type_ == PKG_DIRECTORY:

    ~\anaconda3\lib\imp.py in load_dynamic(name, path, file)
    341 name=name, loader=loader, origin=path)
    –> 342 return _load(spec)
    343

    ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다.

    During handling of the above exception, another exception occurred:

    ImportError Traceback (most recent call last)
    in
    —-> 1 import tensorflow as tf

    ~\anaconda3\lib\site-packages\tensorflow\__init__.py in
    39 import sys as _sys
    40
    —> 41 from tensorflow.python.tools import module_util as _module_util
    42 from tensorflow.python.util.lazy_loader import LazyLoader as _LazyLoader
    43

    ~\anaconda3\lib\site-packages\tensorflow\python\__init__.py in
    48 import numpy as np
    49
    —> 50 from tensorflow.python import pywrap_tensorflow
    51
    52 # Protocol buffers

    ~\anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py in
    67 for some common reasons and solutions. Include the entire stack trace
    68 above this error message when asking for help.””” % traceback.format_exc()
    —> 69 raise ImportError(msg)
    70
    71 # pylint: enable=wildcard-import,g-import-not-at-top,unused-import,line-too-long

    ImportError: Traceback (most recent call last):
    File “C:\Users\kkyou\anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py”, line 58, in
    from tensorflow.python.pywrap_tensorflow_internal import *
    File “C:\Users\kkyou\anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py”, line 28, in
    _pywrap_tensorflow_internal = swig_import_helper()
    File “C:\Users\kkyou\anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py”, line 24, in swig_import_helper
    _mod = imp.load_module(‘_pywrap_tensorflow_internal’, fp, pathname, description)
    File “C:\Users\kkyou\anaconda3\lib\imp.py”, line 242, in load_module
    return load_dynamic(name, filename, file)
    File “C:\Users\kkyou\anaconda3\lib\imp.py”, line 342, in load_dynamic
    return _load(spec)
    ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다.

    Failed to load the native TensorFlow runtime.

    See https://www.tensorflow.org/install/errors

    for some common reasons and solutions. Include the entire stack trace
    above this error message when asking for help.

    ——-

    그냥 다시 tensorflow를 프롬프트에서 다시 설치하면 될까요?

    Like

    Reply
      1. 상김이

        혹시 오프라인에서 텐서플로우 다운은 어떻게하는지 알수잇을까요?
        폐쇠망이어서 CD에 담아서 다운해야합니다.
        현재 컴퓨터에는 아나콘다3다운로드가 되어잇습니다.

        Liked by 1 person

      2. leesh

        제 컴퓨터가 AVX 명령을 지원하는 것 까지 확인을 했는데, 주피터에서 import tensorflow as tf를 치니깐
        ImportError Traceback (most recent call last)
        ~\Desktop\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py in
        63 try:
        —> 64 from tensorflow.python._pywrap_tensorflow_internal import *
        65 # This try catch logic is because there is no bazel equivalent for py_extension.

        ImportError: DLL load failed while importing _pywrap_tensorflow_internal: 지정된 모듈을 찾을 수 없습니다.

        During handling of the above exception, another exception occurred:

        ImportError Traceback (most recent call last)
        in
        —-> 1 import tensorflow as tf

        ~\Desktop\Anaconda3\lib\site-packages\tensorflow\__init__.py in
        39 import sys as _sys
        40
        —> 41 from tensorflow.python.tools import module_util as _module_util
        42 from tensorflow.python.util.lazy_loader import LazyLoader as _LazyLoader
        43

        ~\Desktop\Anaconda3\lib\site-packages\tensorflow\python\__init__.py in
        37 # go/tf-wildcard-import
        38 # pylint: disable=wildcard-import,g-bad-import-order,g-import-not-at-top
        —> 39 from tensorflow.python import pywrap_tensorflow as _pywrap_tensorflow
        40
        41 from tensorflow.python.eager import context

        ~\Desktop\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py in
        81 for some common reasons and solutions. Include the entire stack trace
        82 above this error message when asking for help.””” % traceback.format_exc()
        —> 83 raise ImportError(msg)
        84
        85 # pylint: enable=wildcard-import,g-import-not-at-top,unused-import,line-too-long

        ImportError: Traceback (most recent call last):
        File “C:\Users\desktop\Desktop\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py”, line 64, in
        from tensorflow.python._pywrap_tensorflow_internal import *
        ImportError: DLL load failed while importing _pywrap_tensorflow_internal: 지정된 모듈을 찾을 수 없습니다.

        Failed to load the native TensorFlow runtime.

        See https://www.tensorflow.org/install/errors

        for some common reasons and solutions. Include the entire stack trace
        above this error message when asking for help.

        이렇게 뜹니다ㅜㅜ 혹시 어떻게 해야할까요

        Like

      3. 박해선 Post author

        본문에 설명되어 있는 것처럼 비주얼 스튜디오 재배포 패키지를 다운로드하여 설치해 보시겠어요?

        Like

  3. 주웅찬

    혹시
    from PIL import Image
    from pytesseract import *
    import re
    import cv2
    img = Image.open(‘ocr테스트이미지.jpg’)
    text = pytesseract.image_to_string(img, lang=’kor’)
    print(text)
    이런 코드는 파이참이나 아나콘다에서 작동 안돼나요? 파이참에서는 임포트가 안돼요. 아나콘다도 그렇고요.

    Like

    Reply
    1. 주웅찬

      혹시
      from PIL import Image
      from pytesseract import *
      import re
      import cv2
      img = Image.open(‘ocr테스트이미지.jpg’)
      text = pytesseract.image_to_string(img, lang=’kor’)
      print(text)
      이런 코드는 파이참이나 아나콘다에서 작동 안돼나요? 파이참에서는 임포트가 안돼요. 아나콘다도 그렇고요.

      Like

      Reply
      1. 박해선 Post author

        안녕하세요. 파이참이나 아나콘다에 관한 일반적인 질문은 제가 대답하기 어렵습니다. 파이썬 온라인 커뮤니티에 질문해 주세요. 감사합니다.

        Like

  4. shsh

    (base) C:\Windows\system32>ipython
    Python 3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)]
    Type ‘copyright’, ‘credits’ or ‘license’ for more information
    IPython 7.19.0 — An enhanced Interactive Python. Type ‘?’ for help.

    In [1]: import tensorflow as tf
    2021-01-26 22:17:02.325215: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library ‘cudart64_110.dll’; dlerror: cudart64_110.dll not found
    2021-01-26 22:17:02.328868: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.

    In [2]:

    이분야 처음 접해보는거라 많이 지식이 없어서 시행착오중입니다ㅜ
    ipython과 python 에서는 이렇게 오류가 뜨는데 주피터 노트북에서는 오류없이 되는데..
    어떻게 해야하나요

    Like

    Reply
    1. 박해선 Post author

      컴퓨터에 GPU가 없다는 것을 알려주기 위해 나온 메시지입니다. 자동으로 CPU를 사용하므로 아무 문제 없습니다. 그냥 사용하시면 됩니다. 🙂

      Like

      Reply
  5. 김맹뭉

    안녕하세요 본문의 내용 전부 설치했는데 import하면
    C:\Users\LG\anaconda3\lib\site-packages\tensorflow\python\framework\dtypes.py:493: FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / ‘(1,)type’.
    _np_qint8 = np.dtype([(“qint8”, np.int8, 1)])
    C:\Users\LG\anaconda3\lib\site-packages\tensorflow\python\framework\dtypes.py:494: FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / ‘(1,)type’.
    _np_quint8 = np.dtype([(“quint8”, np.uint8, 1)])
    C:\Users\LG\anaconda3\lib\site-packages\tensorflow\python\framework\dtypes.py:495: FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / ‘(1,)type’.
    _np_qint16 = np.dtype([(“qint16”, np.int16, 1)])
    C:\Users\LG\anaconda3\lib\site-packages\tensorflow\python\framework\dtypes.py:496: FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / ‘(1,)type’.
    _np_quint16 = np.dtype([(“quint16”, np.uint16, 1)])
    C:\Users\LG\anaconda3\lib\site-packages\tensorflow\python\framework\dtypes.py:497: FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / ‘(1,)type’.
    _np_qint32 = np.dtype([(“qint32”, np.int32, 1)])
    C:\Users\LG\anaconda3\lib\site-packages\tensorflow\python\framework\dtypes.py:502: FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / ‘(1,)type’.
    np_resource = np.dtype([(“resource”, np.ubyte, 1)])

    이런 오류가 발생합니다! 해결방법이 있을까요?

    Like

    Reply
    1. 박해선 Post author

      안녕하세요. 아마도 설치하신 텐서플로와 넘파이 버전이 잘 안 맞는 것 같습니다. future warning이면 사용하는데 큰 문제는 없을 것 같네요. 🙂

      Like

      Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.