Oracle Cloud Infrastructure 환경에서 Jupyter Notebook 및 TensorFlow 설치

소개



환경이 필요해 설치했으므로, 비망록입니다.
파이썬 가상 환경에는 pyenv + pipenv를 사용했습니다.

환경


  • Oracle Cloud Infrastructure 환경의 Compute 인스턴스
  • Compartment 작성 (선택 사항. 기본적으로 최상위 루트 구획)
  • VCN 만들기
  • Compute 인스턴스 생성 (이번에는 CentOS 7 이미지 사용)
  • Public IP 주소 확인


  • ※Jupyter Notebook에의 액세스는 수중의 PC로부터 인터넷 경유로 실시하고 싶기 때문에, Notebook를 기동하는 PORT:8888에 액세스 할 수 있도록, Compute 인스턴스의 Firewall 설정과, VCN의 보안 설정을 실시한다. 아래를 참고로 PORT를 8888로 읽어들여 실행한다. (링크처에서는 PORT:5601과 9200의 2개를 설정하고 있다)

    이 클라우드 환경별 설정 변경

    설치



    pyenv + pipenv 환경 준비



    Python의 가상 환경은 이번에는 pyenv + pipenv로 수행하기로 결정합니다.

    pipenv를 사용하는 경우 특정 디렉토리 (이번에는 $ HOME/mypj)로 이동하고 pipenv shell을 사용하여 가상 환경에 넣습니다. 빠지는 것은 exit. 다음은 그 실행 이미지.
    [fn@yuzu ~]$ cd mypj/
    [fn@yuzu mypj]$ pipenv shell
    Launching subshell in virtual environment...
     . /home/fn/.local/share/virtualenvs/mypj-CamC0rlR/bin/activate
    [fn@yuzu mypj]$  . /home/fn/.local/share/virtualenvs/mypj-CamC0rlR/bin/activate
    (mypj) [fn@yuzu mypj]$ python
    Python 3.6.8 (default, Mar 12 2019, 06:34:05)
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> (略)
    >>> exit()
    (mypj) [fn@yuzu mypj]$ exit
    exit
    [fn@yuzu mypj]$
    

    실행한 명령 목록



    이 페이지를 참고로 실시. 자세한 내용은 꼭 링크처를 참조하십시오. pyenv + pipenv 를 왜 선택했을지도 링크처의 기술을 참고로 했습니다.
    [Python] pyenv 및 pipenv로 python 가상 환경 구축 (CentOS 7 거의 초기 상태에서)

    ※TensorFlow가 현시점에서 Python3.6까지의 대응이므로, 이번은 3.6.8을 인스톨.

    참고로 한 페이지의 거의 copipe이므로 대단히 죄송합니다만, 비망록으로서 커맨드만 열거.
    $ curl https://bootstrap.pypa.io/get-pip.py | sudo python
    $ sudo yum install git
    
    $ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
    $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
    $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
    $ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
    $ exec "$SHELL" -l
    
    $ pyenv --version
    pyenv 1.2.9-19-g7d02b24
    
    $ pyenv install --list
    (3.6.8 があることを確認した)
    $ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel
    
    $ sudo pip install pipenv
    
    $ pipenv --version
    pipenv, version 2018.11.26
    
    ★ 仮想環境(mypjディレクトリを使用する)に、python 3.6.8をインストール ★
    $ mkdir mypj
    $ cd mypj
    $ pipenv --python 3.6.8
    

    필요한 패키지 설치



    tensorflow와 jupyter와 ipython, 나머지는 필수는 아니지만, 사용할 것 같은 것을 우선 설치.
    pipenv 명령으로 수행합니다.
    $ cd ~/mypj
    $ pipenv install oci-cli
    $ pipenv install tensorflow
    $ pipenv install jupyter
    $ pipenv install matplotlib scikit-learn spyder pandas ipython
    

    설치 후 주요 패키지 버전을 표시했습니다.
    [fn@yuzu mypj]$ pipenv shell
    (mypj) [fn@yuzu mypj]$ pip list | grep jupyter
    jupyter                  1.0.0
    jupyter-client           5.2.4
    jupyter-console          6.0.0
    jupyter-core             4.4.0
    (mypj) [fn@yuzu mypj]$ pip list | grep tensorflow
    tensorflow               1.13.1
    tensorflow-estimator     1.13.0
    (mypj) [fn@yuzu mypj]$
    

    Jupyter Notebook 설정



    이후 모두 pipenv shell에서 가상 환경에 들어간 상태에서 실시하고 있다.
    [fn@yuzu ~]$ cd ~/mypj/
    [fn@yuzu mypj]$ pipenv shell
    (mypj) [fn@yuzu mypj]$
    

    설정 파일 만들기


    $ jupyter-notebook --generate-config
    Writing default config to: /home/fn/.jupyter/jupyter_notebook_config.py
    $
    

    액세스 시 비밀번호 설정



    다음을 실행. 지정한 패스워드에 대해서 돌려주는 sha1:로 시작되는 hash 캐릭터 라인을, 나중에 사용한다.
    $ ipython3
    Python 3.6.8 (default, Mar 12 2019, 06:34:05)
    Type 'copyright', 'credits' or 'license' for more information
    IPython 7.3.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:bf3XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' <-- 後で使用する
    In [3]: exit
    $
    

    설정 파일 편집



    다음의 5행을 --generate-config 로 작성한 파일에 추가한다. 마지막 행은 위에서 조사한 hash 문자열.
    $ vi ~/.jupyter/jupyter_notebook_config.py
    
    (以下を追記)
    c.IPKernelApp.pylab = 'inline'
    c.NotebookApp.ip = '0.0.0.0'
    c.NotebookApp.open_browser = False
    c.NotebookApp.port = 8888
    c.NotebookApp.password = u'sha1:bf3XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
    

    Jupyter Notebook 시작


    $ jupyter-notebook &
    [1] 2293
    $ [I 12:22:06.152 NotebookApp] Writing notebook server cookie secret to /home/fn/.local/share/jupyter/runtime/notebook_cookie_secret
    [I 12:22:06.387 NotebookApp] Serving notebooks from local directory: /home/fn/mypj
    [I 12:22:06.387 NotebookApp] The Jupyter Notebook is running at:
    [I 12:22:06.387 NotebookApp] http://(yuzu or 127.0.0.1):8888/
    [I 12:22:06.387 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
    

    액세스하여 동작 확인



    브라우저에서 http://:8888/
    지정된 암호를 입력하고 Log in.

    ※PORT:8888에 액세스할 수 있는 환경에서 실행한다(예를 들면, VPN 경유라고 허가되어 있지 않은 경우가 있다)



    New -> Python3에서 새 Notebook을 시작하고 다음을 실행하여 TensorFlow를 가져올 수 있는지 확인합니다.



    참고



    htps : // 기주 b. 코 m / py 빠 / 피펜 v
    htps : // 피펜 v. Red d. cs. 이오 / 엔 / 아 st /

    좋은 웹페이지 즐겨찾기