Overview¶
Source code¶
pailab’s source code is available on GitHub:
https://github.com/pailabteam/pailab
and cloned using:
git clone https://github.com/pailabteam/pailab.git pailab
Examples and first steps¶
Tutorial¶
To learn how to work with pailab you may find the Tutorial useful. The tutorial gives an introduction to all building blocks and tools.
Notebooks¶
If you like working with jupyter, there are the following jupyter notebooks demonstrating pailab’s functionality. The notebooks are located in the examples folder of pailab’s GitHub repo. Please note that the plots in these notebooks are created using plotly. Therefore if you want to play around with the plotting functionality you have to install this. However, even if you do not want to install plotly, the notebooks are nevertheless a very good starting point.
Introductionary
- boston_housing.ipynb: Shows pailab’s basic functionality using the boston housing data set and a regression tree from scikit learn (without preprocessing).
- adult-census-income.ipynb: Shows pailab’s basic functionality using the adult-census data set and a regression tree from scikit learn (including preprocessing).
- boston_housing_widgets.ipynb: Similar to boston_housing.ipynb but using some jupyter widgets.
- boston_housing_distributed.ipynb: Similar to boston_housing.ipynb but using the
pailab.job_runner.SQLiteJobRunner
job runner to execute jobs in a different thread or even on a different machine.
Advanced
- caching_demo.ipynb: Simple example demonstrating the caching of results of time consuming functions.
- Convolutional_Autoencoder.ipynb: Notebook from Udacity’s Deep Learning Nanodegree program GitHub repository modified to use pailab. Here, an autoencoder for the MNIST dataset is built using PyTorch.
- Convolutional_Autoencoder_disk_store.ipynb: Same as Convolutional_Autoencoder.ipynb but using disk store and hdf5 files to persist all objects created during the analysis of the problem
Logging¶
pailab uses the Python standard logging module logging
making use of different
log levels. The log level of the logger may be globally set by:
import logging as logging
logging.basicConfig(level=logging.DEBUG)
See the logging
modules documentation for further details.
How to File a Bug Report¶
Bug reports are always welcome! The issue tracker is at:
https://github.com/pailabteam/pailab/issues
Please always include pailab’s version into the issue:
import pailab
print(pailab.version.info)
Laby and Bugy¶
During a trans-universal trip in 2500 Laby and Bugy made a stop on earth. They were quite astonished to see how far humans had developed the AI business but they got a little frightened when they saw how blind-folded humans worked in this business. At least Laby would have not been far from a heart attack if he would have had a thing we humans might call heart. They soon decided to help these poor underdeveloped human species and to make a little time travel to the beginning of the AI bubble. So, when they arrived in January 2019, they started to develop pailab.
They form quite a good team, complementing each other. Laby fights each bug with her weapons brought from her home planet Labmania, documenting everything (Bugy had to put a lot of effort convincing her not to document the documentation) and producing code passing all beautifiers for all styleguids without being changed (and has overruled Chuck Norris since his code was not matlab compliant). She is really enthusiastic about testing.
Bugy is more the chaotic but creative alien. He loves to produce many new functionalities and hates documenting. He has not understand the sense of measuring test coverage but he may implement a better Powerpoint application then the one implemented by his cousin Bugsy (who uses the initials MS for whatever reason) with maybe three lines of code (if we count his comment to understand his program the source code file might have four lines).