Skip to main content

Diary to create notebooks and store intermediate results and figures

Project description

CI License MIT Python3.8 pypi codecov

DiaryPy

A python class to automatically save the partial/intermediary results of a running experiment in a set of notebooks (csv files) and images as files.

Build Status

Create a new diary

from diarypy.diary import Diary
diary = Diary(name='world', path='hello', overwrite=False,
              stdout=False, stderr=False)

Create all the notebooks that you want to use

diary.add_notebook('validation')
# You can use the returned instance later
notebook_test = diary.add_notebook('test')
# And specify the header
notebook_train = diary.add_notebook('training', header=['iteration', 'accuracy'])

Store your results in the different notebooks

diary.add_entry('validation', ['accuracy', 0.3])
diary.add_entry('validation', ['accuracy', 0.5])
diary.add_entry('validation', ['accuracy', 0.9])
notebook_train.add_entry([0, 0.4])
notebook_train.add_entry([1, 0.6])
notebook_train.add_entry([2, 0.8])
notebook_test.add_entry(['First test went wrong', 0.345, 'label_1'])

Add an image

from PIL import Image
image = Image.new(mode="1", size=(16,16), color=0)
diary.save_image(image, filename='test_results')

Resulting files

The files that are generated after executing the previous lines are

hello/
└── world
    ├── description.txt
    ├── images
    │   └── test_results_4.png
    ├── test.csv
    └── training.csv
    └── validation.csv

the content of the files is

description.txt

Date: 2015-10-22 17:43:19.764797
Name : world
Path : hello/world
Overwrite : False
Image_format : png

validation.csv

1,1,|2021-06-17|,|12:56:45.945000|,|accuracy|,0.3
2,2,|2021-06-17|,|12:56:46.813717|,|accuracy|,0.5
3,3,|2021-06-17|,|12:56:53.358989|,|accuracy|,0.9

training.csv

|id1|,|id2|,|date|,|time|,|iteration|,|accuracy|
4,1,|2021-06-17|,|12:56:54.231691|,0,0.4
5,2,|2021-06-17|,|12:56:55.128130|,1,0.6
6,3,|2021-06-17|,|12:56:56.006014|,2,0.8

test.csv

7,1,|2021-06-17|,|12:56:56.761961|,|First test went wrong|,0.345,|label_1|

Unittest

python -m unittest discover diarypy

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

diarypy-0.4.3.tar.gz (7.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page