ceteri / nbtransom

Machines and people collaborating together through Jupyter notebooks.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Active Learning with Jupyter Notebooks

This is a Python 3 library to read/write cells programmatically in Jupyter notebooks which anticipates upcoming collaborative features in Jupyter.

We use this at O'Reilly Media for notebooks used to manage machine learning pipelines. That is to say, machines and people collaborate on documents, implementing a "human-in-the-loop" design pattern:

  • people adjust parameters for the ML pipelines
  • machines write structured "logs" during ML modeling/evaluation
  • people run jupyter notebook via SSH tunnel for remote access

For more info about use cases for this library and active learning in general, see the JupyterCon 2017 talk Humans in the loop

Example Usage

The following script generates a Jupyter notebook in the test.ipynb file, then runs it:

python test.py
jupyter notebook

Then launch the test.ipynb notebook and from the Cells menu select Run All to view results.

NB: whenever you use the put_df() function to store data as a Pandas dataframe be sure to include import pandas as pd at some earlier point in the notebook.

Dependencies and Installation

This code has dependencies on:

To install from PyPi:

pip install nbtransom

To install from this Git repo:

git clone https://github.com/ceteri/nbtransom.git
cd nbtransom
pip install -r requirements.txt

Kudos

@htmartin @esztiorm @fperez @odewahn

About

Machines and people collaborating together through Jupyter notebooks.

License:Apache License 2.0


Languages

Language:Python 100.0%