파이썬 및 Jupyter 노트

최근에 나는 Jupyter 노트북을 파이톤과 결합하여 사용하기 시작했지만, 의존항을 다운로드해야 하거나 다운로드가 정확하지 않았다.이것은 지속적인 추세이고 개발 환경에서 컴퓨터 간의 이식성을 실현하기를 희망하는 것을 감안하여 저는 Docker가 어떻게 일을 하는지 배웠습니다.
2.8GHz Intel Core i7 프로세서에서 작업할 때, 나는 이 컴퓨터에 Docker 환경을 설정하는 다른 방법과 앞으로 전환하고 싶은 다른 방법을 연구하기 시작했다.Jupter 노트북을 사용하여 Docker에 Intel Python을 설정하는 두 가지 방법을 발견했습니다.파이톤의 인텔 버전을 설정할 때, 나는 주피터 노트북을 코드, 방정식, 시각화의 전단으로 사용했다.이것이 바로 내가 현재 클래스에서 사용하는 방법이다. 나는 팀원들 사이에서 코드를 공유해야 할 때 매우 효과적이라는 것을 발견했다.
앞에서 언급한 바와 같이, 노트북을 용기화하여 프로그램을 포장하고 실행할 수 있도록 Docker를 사용하고 싶습니다.Docker를 사용하면 변환하기 쉬운 환경을 인코딩할 수 있습니다.Docker를 사용하여 Python 릴리스에 Jupyter 노트북을 설정할 때 준비된 이미지를 사용하거나 자신의 이미지를 사용자 정의할 때 이미지를 기반으로 사용할 수 있습니다.다음은 Jupyter 노트북에서 Intel Python에 Docker 이미지를 설정하는 두 가지 방법을 소개할 것입니다.

Docker 이미지
인텔 발행판은 Docker에 파이톤 2와 파이톤 3 이미지가 있고 핵심 또는 완전한 설정이 있습니다.핵심 구성에는 종속성이 있는 NumPy/SciPy가 포함되며 full에는 Intel 배포의 모든 내용이 포함됩니다.내 목적에서 나는 전체 버전의 인텔 파이톤 2를 사용했다.
Jupyter 노트북에서 Docker 이미지를 사용하기 위해서, 나는 Docker Hub에서 내가 원하는 이미지를 다운로드하고, 이 이미지에 사용할 볼륨을 설정했다.Docker 컨테이너를 사용할 때, 이 볼륨은 선택할 수 있는 추가이지만, 지속적인 데이터를 허용합니다.나는 이 예에서 볼륨을 사용했다. 왜냐하면 그것은 내가 실행하고 싶은 모든 노트북을 저장하는 곳이기 때문이다.용기가 더 이상 실행되지 않을 때 데이터는 지속되지 않고 용기에 있는 데이터만 사용할 수 있기 때문에 다른 프로세스가 필요할 때 데이터를 꺼내기 어려울 수 있습니다.따라서 나중에 컨테이너와 함께 사용할 수 있도록 호스트에 사용할 볼륨을 만들었습니다.이 Docker 컨테이너를 설정하려면 다음 절차를 따르십시오.
  • Docker 이미지를 Docker Hub에서 다운로드합니다.
  • 폴더를 Docker의 볼륨으로 설정하고~/Documents/notebooks 컴퓨터에 설정하여 Jupyter Notebook 컨테이너에 연결/home/notebooks합니다.이렇게 하면 노트북을 닫으면 파일에 쉽게 액세스하고 버전을 제어할 수 있습니다.
  • 터미널을 열고 노트북을 실행합니다.
  • # Pull image 
    docker pull intelpython/intelpython2_full
    
    # Set up folder 
    mkdir ~/Documents/notebooks/ 
    
    # Run the notebook 
    docker run -v ~/Documents/notebooks:/home/notebooks -p 8888:8888 intelpython/intelpython2_full jupyter notebook --ip='*' --port=8888 --allow-root --no-browser 
    
    이것은 많은 응용 프로그램에 적용될 수 있지만, 이것이 바로 내가 문제에 부딪힌 부분이다.Jupyter notebook에서 코드를 실행할 때 seaborn을 호출했습니다. 이것은 Python에서 matplotlib 기반의 시각화에 사용됩니다.이 라이브러리는 Python에서 더 매력적인 통계 도형을 만드는 데 사용됩니다.Docker Hub에서 제공하는 Intel Python의 전체 이미지로는 필요한 라이브러리를 제공할 수 없습니다.이것만 있으면, 나는 Docker 파일을 사용하여 seaborn에 사용자 정의 Docker 이미지를 추가합니다.

    사용자 정의용 Dockerfile
    Intel Python 기반의 맞춤형 Docker 이미지를 만들기 위해 Jupyter 노트북에서 실행할 수 있습니다. 저는 Intel Python의 Docker Hub Docker 파일에 따라 Docker 파일을 설정했습니다.이것으로 ContinuMio/miniconda는 작업의 기초 이미지로 사용됩니다.Anaconda는 Python이 지원하는 플랫폼이기 때문에 Python과 R에서 가장 유행하는 데이터인 scinece 패키지를 포함합니다. 그리고 이 패키지는 conda dependency and environment 관리자와 함께 설치할 수 있습니다.이 이미지를 사용하면 사용자 정의 이미지를 만들 때 인텔 파이톤에 포함되지 않은 모든 필수 패키지를 conda로 설치할 수 있습니다.
     
    # Set the base image using miniconda 
    FROM continuumio/miniconda3:4.3.27
    
    # Add metadata
    LABEL version="1.0" \
          description="Intel Python 2 using Jupyter Notebooks" \
          date_created="01march2018" \
          date_modified="28march2018"
    
    이렇게 하면 환경 변수ACCEPT_INTEL_PYTHON_EULA가 ENV 명령을 통해 예로 설정됩니다.이는 Intel Python 엔드 유저 라이센스 계약(EULA)에 대한 승인으로, 새 환경을 만들 때마다 이를 받아들여야 한다.이 변수를 설정하면 RUN 명령을 사용하여 새 레이어에서 셸 명령을 실행할 수 있습니다.이 명령을 실행할 때마다 새 레이어가 생성됩니다.이 명령을 사용하면, conda는 Intel Python, seaborn, 그리고 당신이 필요로 하거나 원하는 다른 데이터 과학 라이브러리를 설치하는 데 사용할 수 있습니다.그리고 apt-get을 사용하여 g++를 업데이트하고 설치합니다.사용자 정의 이미지를 설정한 후 사용할 수 있도록 구축하고 실행할 수 있습니다.
    # Set environmental variable(s)
    ENV ACCEPT_INTEL_PYTHON_EULA=yes
    
    # Installs, clean, and update    
    RUN conda config --add channels intel\
        && conda install  -y -q intelpython2_full=2018.0.1 python=2 \
        && conda install seaborn \ 
        && apt-get clean \
        && apt-get update -qqq \
        && apt-get install -y -q g++
    

    이미지를 확립하다
    Dockerfile이 완료되면 명령을 실행하기 전에 명령줄에서 올바른 위치에 있는지 확인합니다.내가 먼저 다른 것을 보고 다시 돌아와서 이미지를 만들 때, 나는 항상 내가 잘못된 목록에 있다는 것을 발견한다.
    $ ls
    Dockerfile
    
    그리고 이미지를 구축하려면build 명령을 실행하고 이미지에 태그 t를 추가하십시오.이 라벨은 그림에 간단하고 사용하기 쉬운 이름을 붙여 놓았고, 목록에서 쉽게 선택할 수 있도록 테스트 intel에 전화를 걸었다.이미지를 구축하는 데 몇 분 정도 걸릴 수 있습니다.
    docker build -t test_intel .
    

    이미지 실행
    이미지가 생성되면 로컬 컴퓨터에서 Dockers image registry를 검사하여 목록의 이미지를 볼 수 있습니다.이 명령을 실행하면 다음 그림과 같이 저장소 이름, 태그, 이미지 ID, 작성 시간 및 이미지 크기 목록이 나타납니다.이것은 앞으로 나아가기 전에 그림을 만들 수 있도록 하는 좋은 검사입니다.
    docker image ls
    REPOSITORY        TAG      IMAGE ID        SIZE
    test_intel        latest   ce5d8aa2966d    6.52GB
    
    일단 완성되면 이미지를 실행할 때다.이미지를 실행하는 작업 원리는 첫 번째 예와 유사합니다. 사용자 정의 없이 코어나 풀 Docker 이미지를 설정하는 것입니다.이 명령을 실행하려면 이전 단계에서 새로 만든 이미지 이름인 test intel을 사용하여 이미지 이름을 대체합니다.
    docker run -v ~/Documents/notebooks:/home/notebooks -p 8888:8888 test_intel jupyter notebook --ip='*' --port=8888 --allow-root --no-browser
    
    터미널에서 이 명령을 실행하면 Jupyter notebook에 연결하기 위해 브라우저에 복사하여 붙여넣을 URL이 나타날 것입니다. 이 노트북은 현재 Intel Python 버전을 설치하고 준비가 되어 있습니다.연결되면 사용자 정의 환경을 사용할 수 있습니다.서버와 모든 커널을 닫으려면 터미널에서 사용하십시오Control-C.

    도구책
    Intel Optimized Packages for the Intel Distribution for Python
    Docker
    seaborn
    miniconda
    표지 사진 출처Docker Wallpapers

    좋은 웹페이지 즐겨찾기