Skip to content

Latest commit

 

History

History
35 lines (28 loc) · 3.46 KB

README.md

File metadata and controls

35 lines (28 loc) · 3.46 KB

Jupyter Lab containers for Biostat courses

Builds and deploys customized Jupyter Lab Docker container images.

The images are currently built off of the jupyter/tensorflow-notebook containers from the (excellent) Docker Stacks project.

Customization includes adding the following:

For all additions, we follow the recipes from the Docker Stacks container definitions to the extent possible.

The following tags are available:

  • The course year as a four-digit number (e.g., 2024)
  • Tags with suffix -py include only the Python additions in the list above, i.e., do not include the R kernel and packages.
  • Tags -cuda (and -cuda-py) in the suffix include support for GPUs; they are built off of the CUDA-supporting Docker Stacks tensorflow image and thus include the CUDA libraries (PyTorch is installed with CUDA v12.1). Note that tags without -cuda in the suffix do not have GPU support.
  • Tags with suffix -tf2.17.0 (and tag latest) use Tensorflow 2.17.0 (and thus Keras v3); those with suffix -tf2.15.0 use Tensorflow 2.15.0 (and thus Keras v2.15.0).
    • Note that code developed for Keras v2 may need to be migrated to run under Keras v3.
    • Alternatively, use the (pre-installed) tf-keras package (which creates a Keras v2-compatible API in tensorflow.keras) under Tensorflow 2.16+, by issuing the following before importing Tensorflow:
      import os;
      os.environ["TF_USE_LEGACY_KERAS"]=1

For prefixes latest and 2024, the base image used is built with Tensorflow 2.17+, and thus Keras v3.x.

Currently the Python-only images (tags with -py suffix) without GPU support (no -cuda in the suffix) are built multi-platform (i.e., including the aarch64/arm64 platform).

  • Note that certain Python packages are unavailable in installable form for the aarch64 platform (such as keras-nlp and tensorflow-text); if keras-nlp (which is installable on arm64) is needed on an Apple Silicon machine, consider creating a local conda environment instead of using the container.
  • Docker on Apple Silicon Macs does not provide access to the Metal API, hence there is no benefit to the -cuda image on macOS.