peewit home
Welcome to the Homepage of Peewit.
Intro
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.
There is a manual that is bit a stup but in contains an up-to-date describtion of der experiment model. The easiest access to the concept is trough the example experiments that are shipped with the prototype.
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.10 (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.
Development
Version History
2014-5-7, main changes in 0.10- sidecubes: cubes stemming from other branches are store as side-cube
- ascent returns sequence
- timeout on descent
- order contraint in vcube-chain drob
- ported to python-3
- core rewrite, dropped features:
- parent experiments
- multi-dim descent values
- descent values from v-cubes
- sibling-values in proper object instead of dict
- semi-unform v-cube: number of descent values may depend on ancestor values
- run-number on result representations
- private repo-dirs for run-commits