All Projects → awslabs → aws-iot-analytics-notebook-containers

awslabs / aws-iot-analytics-notebook-containers

Licence: Apache-2.0 license
An extension for Jupyter notebooks that allows running notebooks inside a Docker container and converting them to runnable Docker images.

Programming Languages

python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language
Jupyter Notebook
11667 projects
shell
77523 projects

Projects that are alternatives of or similar to aws-iot-analytics-notebook-containers

jupyter-extensions
Jupyter extensions for SWAN
Stars: ✭ 56 (+124%)
Mutual labels:  jupyter-notebooks, jupyter-notebook-extension
colour-notebooks
Colour - Jupyter Notebooks
Stars: ✭ 21 (-16%)
Mutual labels:  jupyter-notebooks
otter-grader
A Python and R autograding solution
Stars: ✭ 92 (+268%)
Mutual labels:  jupyter-notebooks
portfolio
Site built from fastpages: https://fastpages.fast.ai/. Deployed here 👉
Stars: ✭ 16 (-36%)
Mutual labels:  jupyter-notebooks
jupyter-notebook-on-servers
ever wondered how to run jupyter notebook on servers like ada?
Stars: ✭ 27 (+8%)
Mutual labels:  jupyter-notebooks
IOTA101
IOTA Developer Essentials
Stars: ✭ 38 (+52%)
Mutual labels:  jupyter-notebooks
BIT AI
No description or website provided.
Stars: ✭ 41 (+64%)
Mutual labels:  jupyter-notebooks
Self-Driving-Car-Steering-Simulator
The aim of this project is to allow a self driving car to steer autonomously in a virtual environment.
Stars: ✭ 15 (-40%)
Mutual labels:  jupyter-notebooks
databricks-notebooks
Collection of Databricks and Jupyter Notebooks
Stars: ✭ 19 (-24%)
Mutual labels:  jupyter-notebooks
reinforcement learning course materials
Lecture notes, tutorial tasks including solutions as well as online videos for the reinforcement learning course hosted by Paderborn University
Stars: ✭ 765 (+2960%)
Mutual labels:  jupyter-notebooks
notebook-free-notebook
A professional, lock-in-free Jupyter dev env for coders, teams and non-trivial, large Jupyter projects
Stars: ✭ 38 (+52%)
Mutual labels:  jupyter-notebooks
ai-lab
Artificial Intelligence & Machine Learning Experiments by DevScope
Stars: ✭ 19 (-24%)
Mutual labels:  jupyter-notebooks
pydna
Clone with Python! Data structures for double stranded DNA & simulation of homologous recombination, Gibson assembly, cut & paste cloning.
Stars: ✭ 109 (+336%)
Mutual labels:  jupyter-notebooks
pycourse
A Python Course from MálagaAI
Stars: ✭ 13 (-48%)
Mutual labels:  jupyter-notebooks
Quantum-Computing-Resources
This repository contains the best resources for learning practical quantum computing. This repository will be updated frequently.
Stars: ✭ 60 (+140%)
Mutual labels:  jupyter-notebooks
nbcelltests
Cell-by-cell testing for production Jupyter notebooks in JupyterLab
Stars: ✭ 66 (+164%)
Mutual labels:  jupyter-notebooks
omxware-getting-started
Examples to get started with IBM Functional Genomics Platform
Stars: ✭ 13 (-48%)
Mutual labels:  jupyter-notebooks
Kaggle
Kaggle Kernels (Python, R, Jupyter Notebooks)
Stars: ✭ 26 (+4%)
Mutual labels:  jupyter-notebooks
Seminars
Занятия по Machine Learning клуба AI Community Innopolis
Stars: ✭ 62 (+148%)
Mutual labels:  jupyter-notebooks
03 Python Flow Control
Flow control is the order in which statements or blocks of code are executed at runtime based on a condition. Learn Conditional statements, Iterative statements, and Transfer statements
Stars: ✭ 207 (+728%)
Mutual labels:  jupyter-notebooks

AWS IoT Analytics Notebook Containers

An extension for Jupyter notebooks that allows running notebooks inside a Docker container and converting them to executable Docker images.

Features

  • Special Jupyter kernels that execute cells inside a Docker container
  • Simple wizard UI for converting the container to an executable Docker image
  • Parameterized execution of notebooks with a variable replacement mechanism (read more in the Notebook parameterization section below)

Jupyter Compatibility

The extension relies on certain configurations specific to Jupyter notebooks offered by Amazon SageMaker service. In particular, it assumes that Docker is installed, relies on Environment Kernels plugin and specific kernel name prefix to create matching containerized kernels. It also expects certain directories to be present (in order to mount them to the container) and puts the notebook output to a specific S3 location.

With that said, the core functionality of the extension should be compatible with most Jupyter installations.

Installation

The extension is automatically installed in Jupyter notebooks provisioned via the AWS IoT Analytics Console.

To install the extension manually, run the install.sh script.

Run the following commands in a Jupyter Terminal to download and install the most recent version of the extension:

cd /tmp
aws s3 cp s3://iotanalytics-notebook-containers/iota_notebook_containers.zip /tmp
unzip iota_notebook_containers.zip
cd iota_notebook_containers
chmod u+x install.sh
./install.sh

Notebook parameterization

The executable Docker images produced by this extension can accept input parameters. Those parameters are then inserted into notebooks via variable replacement.

Specifically, the image entry script (iota_run_nb.py) finds the first occurrence of each variables’ assignment in the notebook code cells and replaces the assigned value with the corresponding input value (if provided, otherwise it keeps the original assignment). It then runs the resulting notebook.

The input variables are read from a file inside the container located at /opt/ml/input/data/iotanalytics/params. That means you should either mount or copy the params file into the container prior to running it.

Below is an example of the input params file showing how to use variables of different types:

{
   "Context": {
       "OutputUris": {
           "html": "s3://aws-iot-analytics-dataset-xxxxxxx/notebook/results/iotanalytics-xxxxxxx/output.html",
           "ipynb": "s3://aws-iot-analytics-dataset-xxxxxxx/notebook/results/iotanalytics-xxxxxxx/output.ipynb"
       }
   },
   "Variables": {
       "example_string_var": "hello world!",
       "example_numeric_var": 5
   }
}

License

This library is licensed under the Apache 2.0 License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].