ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 아나콘다에 Python, TensorFlow, & Keras 설치하기
    인공지능(AI)/Python 2019. 10. 14. 11:12

    Installation of Python, TensorFlow, & Keras (in Anaconda)

    http://yp87.proboards.com/thread/21/installation-python-tensorflow-keras-anaconda?page=1&scrollTo=28

    - 이재현 글 퍼옴(비공개)

     

    * 목적
       - Anaconda를 설치.
       - Anaconda를 설치하면 Python를 사용할 수 있는 "base"라 불리우는 환경(environment)이 기본적으로 설정되는데, 이것 이외에 아래와 같이 두개의 환경을 추가 설치.
         * Python 3.7.3위에 TensorFlow 2.0.0
         * Python 3.7.3위에 TensorFlow 1.14.0
           (앞으로 이 environments를 각각 py37tf20, py37tf114라 부르겠음.)

    * 유의사항
       - 이 문서는 Windows에서 설치한다고 가정하고 작성되었습니다.  Linux, macOS의 경우에도 설치방법이 대동소이 합니다.
       - 이 문서는 2019년 10월 13일 기준 상황으로 작성되었습니다.  따라서, 추후 Python library 업그레이드에 따라 세부적인 사항은 바뀔 수 있습니다.
       - 이 문서는 CPU를 사용하는 경우를 가정하고 작성되었습니다.  NVIDIA GPU가 설치된 컴퓨터에 관한 설치 방법은 다른 thread에서 다루겠습니다.
       - TensorFlow를 구동시 "Your CPU suppoprts instructions that this TensorFlow birany was not complied to use: AVX2"와 같은 warning message를 받을 수 있는데, 이에 관한 내용은 다른 thread에서 다루겠습니다. 

    * Anaconda를 사용하는 이유
       - Python을 직접 다운로드 (https://www.python.org/downloads) 받아서 설치해도 되지만, data science 작업에 Jupyter Notebook이란 도구가 유용하게 사용되기에 이를 제공하는 Anaconda를 사용합니다.
       - 또한, Python 작업시 여러개의 environments를 사용해야 할 경우가 생기는데 (예, 옛 버전으로 만들었던 Python 코드를 다시 실행해야 할 경우, 옛 버전 Python이 돌아가는 환경에  따로 설치), 여러 environments를 설치, 관리하는데 Anaconda가 유용합니다. 

    * 두개의 environments를 설치하는 이유
       - py37tf20 (Python 3.7.3위에 TensorFlow 2.0.0)
         * TensorFlow 2.0.0이 가장 최신 버전이므로 앞으로 새로 작성하는 코드는 이 environment에서 작성이 되어야 함.
         * TensorFlow 2.0.0에서는 syntax가 많이 변경 되었기에 TensorFlow 1.* 환경에서 작성된 코드를 바로 사용할 수 없음.
       - py37tf114 (Python 3.7.3위에 TensorFlow 1.14.0)
         * 예전에 작성된 코드나 책 예제 코드를 구동할 때 필요함.

    * Anaconda 설치
       - 사용하는 컴퓨터의 OS에 맞는 Anaconda 설치파일을 www.anaconda.com/distribution로부터  다운로드 받음.
         * 3.7을 선택하기 바랍니다.  (Python은 크게 3와 2의 라인이 있는데, 기본적으로 Python 2는 단지 예전 코드를 실행시키기 위한 것임.)
       - 설치 세부사항
         * Install for: Just Me 추천
         * Bottom one: Register Anaconda as my default Python 3.7
                              (이 옵션말고 다른 옵션은 OS의 path를 건드리기에 사용하지 말것을 권합니다.)
         * 설치가 끝나면 컴퓨터를 reboot 하기를 권합니다.

    * 주로 사용하는 소프트웨어
       Anaconda를 설치한 뒤 아래의 세 software를 주로 사용합니다.
       - Jupyter Notebook: data science 작업, 즉 실제 프로그래밍과 실행을 하는 곳
       - Anaconda Prompt: environment, library (package)를 설치, 관리케 해주는 터미널
       - Anaconda Navigator: Anaconda Prompt에서 하는 작업을 가능케 해주는 기능들을 포함한 GUI

    Anaconda Prompt를 통한 기본적인 Python 사용법
       - Windows 메뉴에서 Anaconda Prompt를 선택하면 Anaconda Prompt를 위한 터미널이 뜹니다.
         (참고로, 이 터미널은 Windows OS에서 제공하는 MS DOS 터미널과는 다릅니다.)
       - 프롬프트 앞 부분에 보이는 (base)는 지금 Anaconda 설치시 기본적으로 제공되는 "base"란 environment에 있음을 알려줍니다.
       - 아래 명령어들을 실행해 보기 바랍니다.
          where python
          python -V
          python --version
          첫번째는 Python이 어디에 설치되어 있는지를 두번째, 세번째는 이 environment에 설치된 Python의 버전을 보여줍니다 (3.7.3이 보일겁니다).
       - 프롬프트에서 python을 입력하면 Python 안으로 들어갑니다.
       - Python 프롬프트(>>> 모양)에서 시험삼아 1+1을 실행해 보세요.
       - Ctrl-d, Ctrl-z, 또는 exit() & enter를 사용하면 Python을 종료할 수 있습니다.

    * Environment 설치전 준비 작업
       - conda, pip: environment와 library(package)를 설치할 때 사용되는 명령어.
       - Anaconda Prompt 터미널의 (base) 환경에서 다음의 명령어를 순서대로 모두 실행합니다.
         conda --version (conda의 현재 버전을 보여줌)
         conda update conda (시간이 좀 걸림)
         conda --version (updated된 conda의 버전을 보여줌)
         conda list (현재 설치되어 있는 library를 보여줌)
         conda env list (현재 설치되어 있는 환경을 보여줌.  지금 단계에선 base만 보여야 함)
         conda install nb_conda (나중에 Jupyter Notebook에서 새로 만든 환경들이 보이게 하기 위해 필요한 작업)

    * Environment py37tf20 설치
       - Anaconda Prompt 터미널의 base 환경에서 다음의 명령어를 실행.
         conda create --name py37tf20 python=3.7 (Python 3.7.3이 설치된 py37tf20라 불리우는 새로운 환경을 설치함)
         conda env list (이제는 base에 더해 py37tf20가 보여야 함)
         where python (아직은 base 환경에서의 Python 위치를 보여줌)
         conda activate py37tf20 (base 환경에서 py37tf20 환경으로 이동.  프롬프트 앞부분도 (base)에서 (py37tf20)으로 변경됨.)
       - 이제 py37tf20 환경에서 다음의 명령어를 실행.
         where python (이젠 py37tf20 환경에서의 Python 위치를 보여줌)
         conda install ipykernel (나중에 Jupyter Notebook에서 새로 만든 환경들이 보이게 하기 위해 필요한 작업)
         pip install --upgrade tensorflow (TensorFlow 최신 버전 2.0.0 설치)
         pip install --upgrade keras (Keras 최신 버전 설치)
         python (py37tf20 환경에서 Python 실행)
       - 이제 Python 프롬프트에서 다음의 명령어를 실행.
         import tensorflow as tf
         tf.__version__
         tf.keras.__version__
         print(tf.reduce_sum(tf.random.normal([1000, 1000])))
            여기서 위에 기술한 이유로 warning message를 (한번만) 받을수도 있음.
         session = tf.Session()
            여기서 error message를 받을 것임.  Session 명령어는 TensorFlow 2.0 부터는 사용되지 않기에 (syntax 변경 예).  
         exit() (Python 종료)
       - py37tf20 환경에서 다음의 명령어를 실행.
        conda deactivate (py37tf20 환경에서 base 환경으로 돌아감)

    * Environment py37tf114 설치
       - Anaconda Prompt 터미널의 base 환경에서 다음의 명령어를 실행.
         conda create --name py37tf114 python=3.7
         conda env list (이제는 base, py37tf20에 더해 py37tf114가 보여야 함)
         where python
        conda activate py37tf114
       - 이제 py37tf114 환경에서 다음의 명령어를 실행.
         where python
         conda install ipykernel (나중에 Jupyter Notebook에서 새로 만든 환경들이 보이게 하기 위해 필요한 작업)
         pip install --upgrade tensorflow==1.14.0 (TensorFlow 구 버전 1.14.0 설치)
         pip install --upgrade keras
         python
       - 이제 Python 프롬프트에서 다음의 명령어를 실행.
         import tensorflow as tf
            여기서 numpy 관련 error message를 받을 것임.  numpy 버전을 낮춰 주어야 함.
         exit()
       - 다시 py37tf114 환경에서 다음의 명령어를 실행.
         pip show numpy (아마도 1.17.2 로 나올것인데 TensorFlow 1.14.0를 위해서는 높은 버전)
         pip uninstall numpy (numpy 제거)
         pip install numpy==1.16.5 (낮은 버전으로 다시 설치)
         python
       - 다시 Python 프롬프트에서 다음의 명령어를 실행.
         import tensorflow as tf (이번에는 error message가 없어야 함)
         tf.__version__
         tf.keras.__version__
         print(tf.reduce_sum(tf.random.normal([1000, 1000])))
         session = tf.Session()
            여기서 위에 기술한 이유로 warning message를 (한번만) 받을수도 있음.
         exit()
       - py37tf114 환경에서 다음의 명령어를 실행.
        conda deactivate (py37tf114 환경에서 base 환경으로 돌아감)

    * 참고
       환경을 제거하고 싶을때는 base 환경에서 다음 명령어 실행.
       conda env remove --name 환경이름



    이제 기본적인 설치가 완료되었습니다.  Thread TBD에서 기본적인 Jupyter Notebook 사용법을 알아보세요.

    anaconda에는 jupyter notebook이 설치되어 있으므로 별도 설치할 필요가 없음.

    그냥

    jupyter notebook 실행(linux의 경우 web browser가 설치되어 있어야 하고, root로 실행할 경우 --allow-root 해줘야 함.)

    *** DISPLAY=ip:0.0으로 설정해야 되었음.

     

    댓글

Starcell Inc. all right reserved