Skip to content

Machines and people collaborating together through Jupyter notebooks.

License

Notifications You must be signed in to change notification settings

ceteri/nbtransom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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