텐서플로우와 케라스로 딥러닝 환경 구축하기
머신러닝, 딥러닝

텐서플로우와 케라스로 딥러닝 환경 구축하기

반응형

최근 딥러닝에 관심을 가지게 되면서 관련된 책을 구입해 독학해보는 중이다.



이 책이 딥러닝을 처음 공부하기에는 최고의 책이 아닌가 싶다. 파이썬, 텐서플로우, 케라스 조합으로 딥러닝의 기초부터 자세하고 쉽게 설명해 마음이 든다. (다만 책에 오류와 오타가 좀 있는데 한번 문의해볼 생각이다.)


그래서 이 참에 위 책의 내용을 토대로 배운 딥러닝 개발환경을 구축하는 방법을 공유하고자 한다. 우선 필자의 경우는 노트북에 외장 그래픽 카드가 장착되어 있으므로 GPU를 사용하는 방식으로 구축하고자 한다. 만약 본인이 GPU가 없다면 아래 내용의 3번부터 시작하면 된다.



1. CUDA 설치


GPU의 연산을 효율적으로 도와주는 CUDA는 아래 링크에서 다운이 가능하다. 


https://developer.nvidia.com/cuda-90-download-archive


최신 버전의 텐서플로우는 CUDA 9.0을 지원하기 때문에 9.0버전을 다운받는다. 다운 받은 후 설치하면 C:\Program Files\NVIDIA GPU Computing Toolkit 경로에 CUDA 파일이 생겼음을 확인할 수 있다.



2. cudnn 설치


cudnn은 일종의 CUDA 라이브러리다. 다만 cudnn은 그 버전에 따라 텐서플로우의 컨벌루션 계산의 오류가 발생할 수 있으므로 주의해야한다. 여기서는 7.3.1 버전을 설치했는데 정상 작동함을 확인했다. 


https://developer.nvidia.com/rdp/cudnn-archive


위 링크에서 Download cuDNN v7.3.1 (Sept 28, 2018), for CUDA 9.0를 선택해 다운받으면 된다. 다운받은 후 압축을 풀면 가장 하위 폴더에 4~5개의 파일과 폴더가 있는데 이를 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0 경로에 덮어씌우면 된다.



3. 아나콘다 설치


딥러닝은 사용환경에 따라 개발을 위한 라이브러리와 파이썬 버전들이 모두 다르기 때문에 이를 효율적으로 관리해주는 아나콘다가 필요하다.


https://www.anaconda.com/download/


링크에서 파이썬 3.7버전의 아나콘다(현 시점 기준)를 설치한다. 설치하면  아래와 같이 Anaconda Prompt 를 열어서 작업할 수 있다.




4. 새 프로젝트 만들기


아래의 명령어를 Anaconda Prompt에 입력해 새 프로젝트를 만든다.


conda create -n deeplearning python=3.5 numpy matplotlib cython Pillow tensorflow-gpu keras


deeplearning은 프로젝트 이름, python= 뒤에는 원하는 파이썬 버전 (3.7버전 이하만 가능)이다. 그리고 뒤에 필요한 라이브러리들을 띄어쓰기로 구분하여 입력하면 된다. 만약 컴퓨터에 GPU가 없다면 tensorflow-gpu대신 tensorflow를 입력하면 된다.  

이제 아래와 같이 출력된다.


## Package Plan ##


  environment location: C:\Users\nicet\Anaconda3\envs\deeplearning


  added / updated specs:

    - cython

    - keras

    - matplotlib

    - numpy

    - pillow

    - python=3.5

    - tensorflow-gpu



The following packages will be downloaded:


    package                    |            build

    ---------------------------|-----------------

    libtiff-4.0.10             |    h2929a5b_1001         1.1 MB

    tensorflow-base-1.10.0     |gpu_py35h6e53903_0       171.2 MB

    tensorflow-1.10.0          |gpu_py35ha5d5ef7_0           4 KB

    cudnn-7.1.4                |        cuda9.0_0       192.3 MB

    tensorflow-gpu-1.10.0      |       hf154084_0           3 KB

    cudatoolkit-9.0            |                1       339.8 MB

    ca-certificates-2018.12.5  |                0         153 KB

    _tflow_select-2.1.0        |              gpu           3 KB

    ------------------------------------------------------------

                                           Total:       704.4 MB


The following NEW packages will be INSTALLED:


    _tflow_select:       2.1.0-gpu

    absl-py:             0.4.1-py35_0

    astor:               0.7.1-py35_0

    blas:                1.0-mkl

    ca-certificates:     2018.12.5-0

    certifi:             2018.8.24-py35_1

    cudatoolkit:         9.0-1

    cudnn:               7.1.4-cuda9.0_0

    cycler:              0.10.0-py35hcc71164_0

    cython:              0.28.5-py35h6538335_0

    freetype:            2.9.1-ha9979f8_1

    gast:                0.2.0-py35_0

    grpcio:              1.12.1-py35h1a1b453_0

    h5py:                2.8.0-py35h3bdd7fb_2

    hdf5:                1.10.2-hac2f561_1

    icc_rt:              2019.0.0-h0cc432a_1

    icu:                 58.2-ha66f8fd_1

    intel-openmp:        2019.1-144

    jpeg:                9b-hb83a4c4_2

    keras:               2.2.2-0

    keras-applications:  1.0.4-py35_1

    keras-base:          2.2.2-py35_0

    keras-preprocessing: 1.0.2-py35_1

    kiwisolver:          1.0.1-py35h6538335_0

    libpng:              1.6.36-h2a8f88b_0

    libprotobuf:         3.6.0-h1a1b453_0

    libtiff:             4.0.10-h2929a5b_1001

    markdown:            2.6.11-py35_0

    matplotlib:          3.0.0-py35hd159220_0

    mkl:                 2018.0.3-1

    mkl_fft:             1.0.6-py35hdbbee80_0

    mkl_random:          1.0.1-py35h77b88f5_1

    numpy:               1.15.2-py35ha559c80_0

    numpy-base:          1.15.2-py35h8128ebf_0

    olefile:             0.46-py35_0

    openssl:             1.1.1a-he774522_0

    pillow:              5.2.0-py35h08bbbbd_0

    pip:                 10.0.1-py35_0

    protobuf:            3.6.0-py35he025d50_0

    pyparsing:           2.2.1-py35_0

    pyqt:                5.9.2-py35h6538335_2

    python:              3.5.6-he025d50_0

    python-dateutil:     2.7.3-py35_0

    pytz:                2018.5-py35_0

    pyyaml:              3.13-py35hfa6e2cd_0

    qt:                  5.9.7-vc14h73c81de_0

    scipy:               1.1.0-py35h4f6bf74_1

    setuptools:          40.2.0-py35_0

    sip:                 4.19.8-py35h6538335_0

    six:                 1.11.0-py35_1

    sqlite:              3.26.0-he774522_0

    tensorboard:         1.10.0-py35he025d50_0

    tensorflow:          1.10.0-gpu_py35ha5d5ef7_0

    tensorflow-base:     1.10.0-gpu_py35h6e53903_0

    tensorflow-gpu:      1.10.0-hf154084_0

    termcolor:           1.1.0-py35_1

    tk:                  8.6.8-hfa6e2cd_0

    tornado:             5.1.1-py35hfa6e2cd_0

    vc:                  14.1-h0510ff6_4

    vs2015_runtime:      14.15.26706-h3a45250_0

    werkzeug:            0.14.1-py35_0

    wheel:               0.31.1-py35_0

    wincertstore:        0.2-py35hfebbdb8_0

    yaml:                0.1.7-hc54c509_2

    zlib:                1.2.11-h62dcd97_3


Proceed ([y]/n)? 


y를 입력하면 라이브러리들이 설치가 되며 새 프로젝트가 생성된다. 만약 또 다른 라이브러리를 설치해야 한다면 activate deeplearning 입력후 pip install 라이브러리 이름 이렇게 입력해 설치하면 된다.



반응형
    # 테스트용