new5558 / Jutyper-Data-Science-Docker-Boilerplate

Boilerplate for using Jupiter notebook environment with docker-compose

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Jupyter Data Science Docker Boilerplate

Project Status

Beta 🚧: Notebooks are ready for development on Containers and Google Colab. However, There are many things need to be tested, added, and improved.

Why we need this?

When doing machine learning project, one of the problems data science practioners face is depedencies and environment mismatched problem. For example, installing tensorflow GPU support on NVIDIA GPU required correct version of CUDA and CUDNN. With container boilerplace, we can predefined environment and depedencies to make our model easier to be trained on cloud instances and controllable environment for deployment.

These notebook Docker containers are designed to have Google Colab parity. Users should be able to train model on their private cloud, Google Colab and, computer without dependeicies problem.

Getting start:

Standard notebook:

Fast and easy notebook equipped with out of the box data science tools

  • Jupyter notebook:
    docker-compose -f docker-compose.dev.yml up jupyter --build
    • Tested with src/standard_notebook.ipynb
    • Colab parity: link

Nivida GPU supported notebook:

GPU supported notebook with NVIDIA NGC Docker template for Deep Learning projects

Prerequisite: NVIDIA driver installed on your device.
Additional information for Windows users: Docker with GPU is only supported on Windows 11 or Insider preview of Windows 10. For more information please follow this tutorial

For first time installation - Run this first:
docker pull nvcr.io/nvidia/pytorch:20.01-py3

  • Jupyter notebook with Pytorch (Take longer to load):
    docker-compose -f docker-compose.dev.yml up jupyter-pytorch --build

    • Tested with src/pytorch_hello_world.ipynb
    • Colab parity: link
  • Jupyter notebook Pytorch and WangchanBERTa:
    docker-compose -f docker-compose.dev.yml up jupyter-pytorch-bert --build

    • Tested with src/wangchanberta_getting_started_aireseach.ipynb
    • Colab parity: link

Project roadmap

  • Tested all containers locally
  • Tested all notebooks on Google Colab
  • Tested Nivida GPU support with Windows 11 WSL2
  • Tested Nivida GPU support with Linux (cloud compute engine)
  • Add Jupyter notebook Tensorflow container

About

Boilerplate for using Jupiter notebook environment with docker-compose


Languages

Language:Jupyter Notebook 99.9%Language:Dockerfile 0.1%