GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Bagaimana membangun wadah Docker Ilmu Data Anaconda Python

Dalam artikel ini, kita akan membuat container Docker untuk lingkungan pengembangan Machine Learning (ML). Gambar ini cukup berguna jika Anda mengembangkan model ML atau Anda memerlukan notebook Jupyter yang telah dikonfigurasi sebelumnya dengan beberapa pustaka yang paling berguna.

Baru-baru ini kami memublikasikan artikel Pengenalan Cepat dan Sederhana untuk Diagram Helm Kubernetes dalam 10 menit, di mana Anda dapat menemukan petunjuk tentang cara menggunakan Helm untuk men-deploy container ini ke cluster Kubernetes Anda.

Pembaruan untuk tahun 2020

  • Ditingkatkan ke Python 3.6.
  • Memperbaiki banyak masalah build.

Terakhir kali kami membuat kontainer Docker dengan Jupiter, Keras, Tensorflow, Pandas, Sklearn, dan Matplotlib. Tiba-tiba, saya mengerti, bahwa saya melewatkan OpenCV untuk manipulasi gambar dan video Docker. Yah, saya menghabiskan sepanjang hari mempersiapkan pembuatan gambar baru. Dan dalam artikel ini saya akan menunjukkan cara melakukannya dengan lebih cepat menggunakan Anaconda resmi Docker Image.

Ada dua cara untuk melakukannya.

Cara sederhana

Proses ini membutuhkan waktu ~7 menit untuk membuat container berukuran 3,11 Gb.

Anaconda way

Ketika saya mulai bermain dengan ML pada tahun 2018, Anaconda adalah cara yang sangat cepat dan termudah untuk membuat wadah Docker untuk eksperimen ML. Itu jauh lebih cepat, kemudian mengkompilasi OpenCV 3 untuk Ubuntu 16.04. Hari ini sebaliknya.

Saya menggunakan sumber yang sama, tetapi mengubah Dockerfile .

Berikut tampilannya:

FROM continuumio/anaconda3
MAINTAINER "Andrei Maksimov"

RUN apt-get update && apt-get install -y libgtk2.0-dev && \
    rm -rf /var/lib/apt/lists/*

RUN /opt/conda/bin/conda update -n base -c defaults conda && \
    /opt/conda/bin/conda install python=3.6 && \
    /opt/conda/bin/conda install anaconda-client && \
    /opt/conda/bin/conda install jupyter -y && \
    /opt/conda/bin/conda install --channel https://conda.anaconda.org/menpo opencv3 -y && \
    /opt/conda/bin/conda install numpy pandas scikit-learn matplotlib seaborn pyyaml h5py keras -y && \
    /opt/conda/bin/conda upgrade dask && \
    pip install tensorflow imutils

RUN ["mkdir", "notebooks"]
COPY conf/.jupyter /root/.jupyter
COPY run_jupyter.sh /

# Jupyter and Tensorboard ports
EXPOSE 8888 6006

# Store notebooks in this mounted directory
VOLUME /notebooks

CMD ["/run_jupyter.sh"]

Seperti yang Anda lihat, kami hanya menginstal libgtk2.0 untuk dukungan OpenCV dan semua komponen lainnya seperti Terraform, Pandas, Scikit-learn, Matplotlib, Keras, dan lainnya menggunakan manajer paket conda.

Menjalankan container

Sekarang Anda memiliki wadah yang berfungsi dan saatnya untuk memulainya. Buat folder di dalam folder proyek Anda tempat kami akan menyimpan semua Jupyter Noteboos kami dengan kode sumber proyek kami:

mkdir notebooks

Dan mulai wadah dengan perintah berikut:

docker run -it -p 8888:8888 -p 6006:6006 \
    -d -v $(pwd)/notebooks:/notebooks \
    python_data_science_container:anaconda

Ini akan memulai penampung dan mengekspos Jupyter pada port 8888 dan Dasbor Tensorflow pada port 6006 di komputer lokal atau server Anda tergantung di mana Anda menjalankan perintah ini.

Jika Anda tidak ingin membuat dan memelihara wadah Anda sendiri, silakan gunakan wadah pribadi saya:

docker run -it -p 8888:8888 -p 6006:6006 -d -v \
    $(pwd)/notebooks:/notebooks amaksimov/python_data_science:anaconda

Menginstal Paket Tambahan

Segera setelah Anda meluncurkan Jupyter, beberapa paket mungkin hilang untuk Anda dan tidak apa-apa. Jangan ragu untuk menjalankan perintah berikut di sel notebook Jupyter Anda:

!pip install requests

Atau untuk conda:

!conda install scipy

Semoga, artikel ini bermanfaat untuk Anda. Jika demikian, silakan suka atau repost. Sampai jumpa lagi!

Ringkasan

Menggunakan Anaconda sebagai gambar dasar membuat gambar Docker Anda menjadi berat. Maksud saya BENAR-BENAR berat.

Misalnya:

docker images

REPOSITORY                          TAG                 IMAGE ID            CREATED             SIZE
amaksimov/python_data_science       anaconda            7021f28dfba1        29 minutes ago      6.36GB
amaksimov/python_data_science       latest              3330c8eaec1c        2 hours ago         3.11GB

Menginstal semua komponen di dalam image container Ubuntu 20.04 LTS termasuk OpenCV 3 membutuhkan waktu ~7 menit, dan image akhir ~3.11 Gb.

Pada saat yang sama, proses pembuatan wadah Anaconda3 memakan waktu x2 kali lebih lama dan memberi Anda gambar x2 kali lebih besar (~6,36 Gb). Proses pembangunannya jauh lebih rumit, dibandingkan tahun 2018, dan saya butuh beberapa saat untuk memperbarui konfigurasi ke status kerja.

Kami harap, Anda menemukan artikel ini bermanfaat. Jika demikian, tolong, bantu kami untuk menyebarkannya ke seluruh dunia!


Docker
  1. Cara menginstal WordPress menggunakan Docker

  2. Cara Menggunakan Dockerfile untuk Membangun Gambar Docker

  3. Cara Menetapkan IP Statis ke Wadah Docker

  1. Cara Menjalankan MySQL Dalam Wadah Docker

  2. Cara Berbagi Data Antar Wadah Docker

  3. Cara Mendaftar Kontainer Docker

  1. Bagaimana Cara Menjalankan Program Di Dalam Wadah Docker?

  2. Cara SSH Ke Wadah Docker

  3. Cara Menginstal Vim di Wadah Docker