Harap dicatat, Perang Kerangka Pembelajaran yang mendalam telah berakhir, proyek ini tidak lagi dipertahankan.
Deepo adalah kerangka kerja terbuka untuk mengumpulkan gambar Docker khusus untuk penelitian pembelajaran mendalam tanpa rasa sakit. Ini menyediakan "set Lego" dari lusinan komponen standar untuk menyiapkan alat pembelajaran yang mendalam dan kerangka kerja untuk merakitnya menjadi gambar Docker khusus.
Inti dari Deepo adalah generator Dockerfile
Kami juga menyiapkan serangkaian gambar Docker yang sudah dibangun sebelumnya
docker pull ufoym/deepo Untuk pengguna di Tiongkok yang mungkin menderita kecepatan lambat saat menarik gambar dari Registry Docker Publik, Anda dapat menarik gambar deepo dari China Registry Mirror dengan menentukan jalur lengkap, termasuk Registry, dalam perintah Docker Pull Anda, misalnya: misalnya:
docker pull registry.docker-cn.com/ufoym/deepoSekarang Anda dapat mencoba perintah ini:
docker run --gpus all --rm ufoym/deepo nvidia-smiIni harus bekerja dan memungkinkan Deepo untuk menggunakan GPU dari dalam wadah Docker. Jika ini tidak berhasil, cari bagian masalah pada NVIDIA-Docker GitHub-banyak solusi sudah didokumentasikan. Untuk mendapatkan shell interaktif ke wadah yang tidak akan dihapus secara otomatis setelah Anda keluar
docker run --gpus all -it ufoym/deepo bashJika Anda ingin membagikan data dan konfigurasi antara host (mesin atau VM Anda) dan wadah tempat Anda menggunakan Deepo, gunakan opsi -v, misalnya
docker run --gpus all -it -v /host/data:/data -v /host/config:/config ufoym/deepo bash Ini akan membuat /host/data dari host yang terlihat sebagai /data dalam wadah, dan /host/config as /config . Isolasi seperti itu mengurangi kemungkinan eksperimen kemas Anda yang menimpa atau menggunakan data yang salah.
Harap dicatat bahwa beberapa kerangka kerja (misalnya Pytorch) menggunakan memori bersama untuk berbagi data antar proses, jadi jika multiprosessing digunakan ukuran segmen memori bersama yang dijalankan dengan wadah tidak cukup, dan Anda harus meningkatkan ukuran memori bersama baik dengan --ipc=host atau --shm-size opsi baris perintah docker run .
docker run --gpus all -it --ipc=host ufoym/deepo bashdocker pull ufoym/deepo:cpuSekarang Anda dapat mencoba perintah ini:
docker run -it ufoym/deepo:cpu bashJika Anda ingin membagikan data dan konfigurasi antara host (mesin atau VM Anda) dan wadah tempat Anda menggunakan Deepo, gunakan opsi -v, misalnya
docker run -it -v /host/data:/data -v /host/config:/config ufoym/deepo:cpu bash Ini akan membuat /host/data dari host yang terlihat sebagai /data dalam wadah, dan /host/config as /config . Isolasi seperti itu mengurangi kemungkinan eksperimen kemas Anda yang menimpa atau menggunakan data yang salah.
Harap dicatat bahwa beberapa kerangka kerja (misalnya Pytorch) menggunakan memori bersama untuk berbagi data antar proses, jadi jika multiprosessing digunakan ukuran segmen memori bersama yang dijalankan dengan wadah tidak cukup, dan Anda harus meningkatkan ukuran memori bersama baik dengan --ipc=host atau --shm-size opsi baris perintah docker run .
docker run -it --ipc=host ufoym/deepo:cpu bashAnda sekarang siap untuk memulai perjalanan Anda.
$ python
> >> import tensorflow
> >> import sonnet
> >> import torch
> >> import keras
> >> import mxnet
> >> import cntk
> >> import chainer
> >> import theano
> >> import lasagne
> >> import caffe
> >> import paddle $ caffe --version
caffe version 1.0.0
$ darknet
usage: darknet <function>
Perhatikan bahwa docker pull ufoym/deepo yang disebutkan di Start Quick akan memberi Anda gambar standar yang berisi semua kerangka kerja pembelajaran mendalam yang tersedia. Anda dapat menyesuaikan lingkungan Anda sendiri juga.
Jika Anda lebih suka kerangka kerja tertentu daripada gambar all-in-one, cukup tambahkan tag dengan nama kerangka kerja. Ambil TensorFlow misalnya:
docker pull ufoym/deepo:tensorflowdocker pull ufoym/deepodocker run --gpus all -it -p 8888:8888 -v /home/u:/root --ipc=host ufoym/deepo jupyter lab --no-browser --ip=0.0.0.0 --allow-root --LabApp.allow_origin= ' * ' --LabApp.root_dir= ' /root ' git clone https://github.com/ufoym/deepo.git
cd deepo/generator Misalnya, jika Anda suka pytorch dan lasagne , lalu
python generate.py Dockerfile pytorch lasagneatau dengan Cuda 11.1 dan Cudnn 8
python generate.py Dockerfile pytorch lasagne --cuda-ver 11.1 --cudnn-ver 8 Ini harus menghasilkan dockerfile yang berisi segalanya untuk membangun pytorch dan lasagne . Perhatikan bahwa generator dapat menangani pemrosesan ketergantungan otomatis dan secara topologis mengurutkan daftar. Jadi Anda tidak perlu khawatir tentang dependensi yang hilang dan urutan daftar.
Anda juga dapat menentukan versi Python:
python generate.py Dockerfile pytorch lasagne python==3.6docker build -t my/deepo .Ini mungkin memakan waktu beberapa menit karena menyusun beberapa perpustakaan dari awal.
| . | Modern-Deep-Learning | DL-Docker | Jupyter-Deeplearning | Deepo |
|---|---|---|---|---|
| Ubuntu | 16.04 | 14.04 | 14.04 | 18.04 |
| Cuda | X | 8.0 | 6.5-8.0 | 8.0-10.2/Tidak Ada |
| Cudnn | X | v5 | V2-5 | v7 |
| onnx | X | X | X | HAI |
| Theano | X | HAI | HAI | HAI |
| Tensorflow | HAI | HAI | HAI | HAI |
| sonet | X | X | X | HAI |
| Pytorch | X | X | X | HAI |
| keras | HAI | HAI | HAI | HAI |
| Lasagna | X | HAI | HAI | HAI |
| mxnet | X | X | X | HAI |
| cntk | X | X | X | HAI |
| Chainer | X | X | X | HAI |
| Caffe | HAI | HAI | HAI | HAI |
| Caffe2 | X | X | X | HAI |
| obor | X | HAI | HAI | HAI |
| Darknet | X | X | X | HAI |
| Paddlepaddle | X | X | X | HAI |
| . | CUDA 11.3 / Python 3.8 | CPU-ONLY / PYTHON 3.8 |
|---|---|---|
| all-in-one | all all-py38 py38-cu113 latest all-py38-cu113 | all-py38-cpu all-cpu py38-cpu cpu |
| Tensorflow | tensorflow-py38-cu113 tensorflow-py38 tensorflow | tensorflow-py38-cpu tensorflow-cpu |
| Pytorch | pytorch-py38-cu113 pytorch-py38 pytorch | pytorch-py38-cpu pytorch-cpu |
| Keras | keras-py38-cu113 keras-py38 keras | keras-py38-cpu keras-cpu |
| Mxnet | mxnet-py38-cu113 mxnet-py38 mxnet | mxnet-py38-cpu mxnet-cpu |
| Chainer | chainer-py38-cu113 chainer-py38 chainer | chainer-py38-cpu chainer-cpu |
| Darknet | darknet-cu113 darknet | darknet-cpu |
| Paddlepaddle | paddle paddle-cu113 | paddle-cpu |
| . | CUDA 11.3 / Python 3.6 | CUDA 11.1 / Python 3.6 | CUDA 10.1 / Python 3.6 | CUDA 10.0 / Python 3.6 | CUDA 9.0 / Python 3.6 | CUDA 9.0 / Python 2.7 | CPU-ONLY / PYTHON 3.6 | CPU-ONLY / PYTHON 2.7 |
|---|---|---|---|---|---|---|---|---|
| all-in-one | py36-cu113 all-py36-cu113 | py36-cu111 all-py36-cu111 | py36-cu101 all-py36-cu101 | py36-cu100 all-py36-cu100 | py36-cu90 all-py36-cu90 | all-py27-cu90 all-py27 py27-cu90 | all-py27-cpu py27-cpu | |
| All-in-One dengan Jupyter | all-jupyter-py36-cu90 | all-py27-jupyter py27-jupyter | all-py27-jupyter-cpu py27-jupyter-cpu | |||||
| Theano | theano-py36-cu113 | theano-py36-cu111 | theano-py36-cu101 | theano-py36-cu100 | theano-py36-cu90 | theano-py27-cu90 theano-py27 | theano-py27-cpu | |
| Tensorflow | tensorflow-py36-cu113 | tensorflow-py36-cu111 | tensorflow-py36-cu101 | tensorflow-py36-cu100 | tensorflow-py36-cu90 | tensorflow-py27-cu90 tensorflow-py27 | tensorflow-py27-cpu | |
| Sonet | sonnet-py36-cu113 | sonnet-py36-cu111 | sonnet-py36-cu101 | sonnet-py36-cu100 | sonnet-py36-cu90 | sonnet-py27-cu90 sonnet-py27 | sonnet-py27-cpu | |
| Pytorch | pytorch-py36-cu113 | pytorch-py36-cu111 | pytorch-py36-cu101 | pytorch-py36-cu100 | pytorch-py36-cu90 | pytorch-py27-cu90 pytorch-py27 | pytorch-py27-cpu | |
| Keras | keras-py36-cu113 | keras-py36-cu111 | keras-py36-cu101 | keras-py36-cu100 | keras-py36-cu90 | keras-py27-cu90 keras-py27 | keras-py27-cpu | |
| Lasagna | lasagne-py36-cu113 | lasagne-py36-cu111 | lasagne-py36-cu101 | lasagne-py36-cu100 | lasagne-py36-cu90 | lasagne-py27-cu90 lasagne-py27 | lasagne-py27-cpu | |
| Mxnet | mxnet-py36-cu113 | mxnet-py36-cu111 | mxnet-py36-cu101 | mxnet-py36-cu100 | mxnet-py36-cu90 | mxnet-py27-cu90 mxnet-py27 | mxnet-py27-cpu | |
| Cntk | cntk-py36-cu113 | cntk-py36-cu111 | cntk-py36-cu101 | cntk-py36-cu100 | cntk-py36-cu90 | cntk-py27-cu90 cntk-py27 | cntk-py27-cpu | |
| Chainer | chainer-py36-cu113 | chainer-py36-cu111 | chainer-py36-cu101 | chainer-py36-cu100 | chainer-py36-cu90 | chainer-py27-cu90 chainer-py27 | chainer-py27-cpu | |
| Caffe | caffe-py36-cu113 | caffe-py36-cu111 | caffe-py36-cu101 | caffe-py36-cu100 | caffe-py36-cu90 | caffe-py27-cu90 caffe-py27 | caffe-py27-cpu | |
| Caffe2 | caffe2-py36-cu90 caffe2-py36 caffe2 | caffe2-py27-cu90 caffe2-py27 | caffe2-py36-cpu caffe2-cpu | caffe2-py27-cpu | ||||
| Obor | torch-cu113 | torch-cu111 | torch-cu101 | torch-cu100 | torch-cu90 | obor torch torch-cu90 | torch-cpu | |
| Darknet | darknet-cu113 | darknet-cu111 | darknet-cu101 | darknet-cu100 | darknet-cu90 | darknet-cu90 darknet | darknet-cpu |
@misc{ming2017deepo,
author = {Ming Yang},
title = {Deepo: set up deep learning environment in a single command line.},
year = {2017},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {url{https://github.com/ufoym/deepo}}
}
Kami menghargai semua kontribusi. Jika Anda berencana untuk berkontribusi kembali perbaikan bug, silakan lakukan tanpa diskusi lebih lanjut. Jika Anda berencana untuk menyumbangkan fitur baru, fungsi utilitas atau ekstensi, silakan buka terlebih dahulu dan diskusikan fitur dengan kami.
Deepo berlisensi MIT.