• MaxOS에 Docker를 이용하여 TensorFlow설치하기

    2020. 12. 1. 23:05

    by. 위지원

    아직 맥이 너무 낯설다;;..키보드도 자꾸 독수리 타자치게된다.;;;얼른 익숙해져야겠다.

     

    텐써를 가상환경에 설치할까하다가 도커에 설치하기로 결심했다.

    그 결과 진짜 너무 편하다 도커 만쉐이! 사랑합니다! 사랑해 야! 사랑한다! 사귀자! 야! 😍😘

     

    아래 전과정은 아래 게시글을 참고하였습니다. 

    wooiljeong.github.io/server/docker_mac/

     

    macOS에 딥러닝을 위한 도커 환경 구축하기

    macOS에 딥러닝을 위한 도커 환경 구축하기

    wooiljeong.github.io


    도커 다운로드 

    www.docker.com/get-started

     

    Get Started with Docker | Docker

    Learn about the complete container solution provided by Docker. Find information for developers, IT operations, and business executives.

    www.docker.com

     

    설치가 완료되었다면 도커에서 요구하는데로 터미널에 run으로 실행시켜준다.

    그럼 조금 시간이 지난 후에  "docker run hello-world"를 터미널에 입력한다. 그럼 설치가 완료된 것..

    docker run hello-wolrd

     

    우분투 설치

    아래 명령어를 이용하여 우분투를 설치한다.

    docker pull ubuntu:18.04
    docker run -t -i -p 8888:8888 ubuntu:18.04
    

     

    패키지 설치 및 사용자 추가

    아래 명령어를 이용하여 필요한 패키지를  설치한다.

    apt-get update
    apt-get install -y sudo net-tools nano wget git-core

    아래 명령어를 이용하여 사용자를 추가하고 권한을 부여합니다.

    passwd root
    adduser ubuntu
    nano /etc/sudoers 
    위 파일을 열고 추가한다(아래 그림 참고)
    ubuntu    ALL=(ALL:ALL) ALL
    su - ubuntu

    권한 부여

     

    아나콘다 설치

    아래 명령어를 이용하여 아나콘다를 설치합니다.

    wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh
    bash Anaconda3-2019.10-Linux-x86_64.sh
    <<중간중간 나오는 과정들은 yes를 이용하여 통과!>>
    
    설치가 완료되면 아래 명령어를 이용하여 삭제해줘도 좋습니다.
    rm -rf Anaconda3-2019.10-Linux-x86_64.sh

     

    아래 명령어를 이용하여 아나콘다 환경변수를 잡아줍니다.

    nano ~/.bashrc
    export PATH=/home/ubuntu/anaconda3/bin:$PATH
    source ~/.bashrc

     ~/.bashrc 파일내에 환경변수 등록

     

    주피터 노트북 설치 및 설정

    아래 명령어를 차근차근 따라하면 2번째 코드블럭과 같은 과정을 거칠 수 있습니다.

    jupyter notebook --generate-config
    cd .jupyter
    ipython
    
    from notebook.auth import passwd                                    
    passwd() 
    exit()     

     

    ubuntu@5a2e48bd3793:~$ jupyter notebook --generate-config
    Writing default config to: /home/ubuntu/.jupyter/jupyter_notebook_config.py
    ubuntu@5a2e48bd3793:~$ cd .jupyter
    ubuntu@5a2e48bd3793:~/.jupyter$ ipython
    Python 3.7.4 (default, Aug 13 2019, 20:35:49) 
    Type 'copyright', 'credits' or 'license' for more information
    IPython 7.8.0 -- An enhanced Interactive Python. Type '?' for help.
    
    In [1]: from notebook.auth import passwd                                    
    
    In [2]: passwd()                                                            
    Enter password: 
    Verify password: 
    Out[2]: 'sha1:20f817cc6947:b731c0ec662918cd2731120d21f23c596d573020'
    
    In [3]: exit()

     

    그 다음 주피터의 설정을 몇가지 변경합니다.

    ifconifg로 ip주소를 미리 알아낸 뒤.. 아래 파일을 수정합니다.
    
    nano jupyter_notebook_config.py

    수정할 변수는 다음과 같습니다.

    c.NotebookApp.password = '위에서 만들어낸 암호 sha1'
    c.NotebookApp.ip = 'ifconfig로 알아낸 ip'
    c.NotebookApp.notebook_dir = '/home/ubuntu/project'
    c.NotebookApp.allow_root = True
    c.NotebookApp.open_browser = False
    
    * control + w로 c.NotebookApp까지 진행하고 방향키를 위로해서 끝에 password, ip 등만 
    수정해서 진행하면 속도를 낼 수 있습니다 ㅎㅎㅋㅋ

    수정이 완료된 이후에는 상위 폴더로 이동한 뒤 project 폴더를 생성하고 jupyter notebook을 입력해 주피터를 실행시킵니다.그 뒤에 주소창에 localhost:8888을 치고 접속하면 아래와같이 주피터가 나오는 것을 확인할 수 있습니다.

    텐서플로우 설치

    아래 명령어를 이용하여 주피터 확장프로그램 설치 및 텐서플로우 설치를 마무리합니다.

    conda install -c conda-forge jupyter_contrib_nbextensions
    pip install autopep8

     

    docker를 종료할 때는 exit를 입력하여 종료하고

    후에 다시 접속할때는 

    docker start 컨테이너 이름

    docker attach 컨테이너 이름

    으로 사용하면된다.