peewit home

Welcome to the Homepage of Peewit.


peewit is a framework for running machine learning experiments that does not provide any productive parts. It assumes a certain uniformity in the relations of experimental components but is otherwise rather universal.

The goal of peewit is to support experimental housekeeping. The user explicitly decomposes the experiment into components such that the machine to some extend gets grip on the experimental structure. One way to play thereon is by prolonged life-time of names: if the user give names to things, these names are applicable throughout different phases of a project. Another profit is comfortable parallelization of concurrent sub-experiments.

For further reading on the concept, the experiment model, and concrete services, you may read this paper. The easiest access to the concept is trough the example experiments that are shipped with the prototype.


The python implementation (link below) is sufficiently developed to illustrate the approach but still has deficiencies. It lacks sound documentation and it weakly tested. You can get an impression on how peewit is used simply by reading the examples modules included in the download.

peewit 0.9.5 (zipped tar-file)

The download contains the following six directories: example_data_sets/, example_project/, example_user_packages/, python/, stuff/, and unittests/. The implementation of the framework is included in the directory python/.

Please read peewit/doc/readme.txt more information on the distribution and for instructions on making the examples run. peewit depends on python-3 and on numpy. For full functionality you further have to provide unison, ssh, git, and matplotlib 1.20 as well as libsvm for the example project.



Plans for 0.9.x
  • rewrite tex-raw-table output
  • confs as conf-files

Version History

2014-3-21, changes in 0.9.5
  • bugfix aggregation: change labels on aggregator-dim only
  • do not peel (singleton) cubes from s-ancestores or t-successors, rather use get_value(s)
2013-9-3, changes in 0.9.4
  • more readable error for failed vcube-read
2013-7-7, changes in 0.9.3
  • bugfix build_plots
2013-7-5, changes in 0.9.2
  • bugfix partially_permute
  • order contraint in vcube-chain drob
2013-6-1, changes in 0.9.1
  • bugfix baseclass: call ancestore init iff no of positional args fits
2013-2-11, changes in 0.9
  • ported to python-3
2012-7-9, main changes in 0.8
  • core rewrite, dropped features:
    • parent experiments
    • multi-dim descent values
  • descent values from v-cubes
  • sibling-values in proper object instead of dict
2011-11-4, main changes in 0.7
  • semi-unform v-cube: number of descent values may depend on ancestor values
  • run-number on result representations
  • private repo-dirs for run-commits
For more history see Change Log Page


We are grateful to build on python, numpy, unison, git, and matplotlib, as well as for working with pydev.


If you want to discuss the concept, code improvements or extensions, or if you have questions on usage, please contact


Other peewit pages:
A A A | Drucken | Impressum | Sitemap | Suche | Mobile Version
zum Seitenanfangzum Seitenanfang