moztorch
| resources: | Home Mailing List Installation Source Code Members Screenshots |
|---|
This page describes all milestones for the MozTorch project, both Completed and In Progress. To see what is planned for the project's future, take a look at the list of Future Milestones.
Completed
* Build IDL interfaces for:
* mtIMachine: represents both a learner and the associated trainer
* mtIDataSet: provides access to torch data files
* mtIMsgObserver: receives messages from machine during train/test phase
* Build module in C++ to house components
* Provides XPCOM housekeeping (e.g., component registeration and factory code)
* Implement dataset component in javascript
* Allows creation/modification of torch data files from javascript
* Create common machine class used by all mtMachine components
* Catch messages thrown by Torch
* Implement machine components in C++
* mtMachineKnn - K-Nearest Neighbor
* mtMachineSvm - Support Vector Machine (limited to binary target class)
* mtMachineNBayes - Naive Bayes
* Create XUL application to test moztorch components
* Move (or mirror) repository to mozdev.org
* Writeup documentation
* XPCOM API - commented interfaces, components (in the style of XUL Planet)
* update mozdev site with docs, source, etc
* parameterize machines (e.g., K for KNN)
* Add severity level to messages (for logging error vs. warning vs. log)
* given machine type, build machine from train file
* i.e. extract feature count, assume one target attribute
* use setIOption("nclasses", VALUE) to set number of classes (defualts to 2)
* move all out 'string' params to ACString params
* make XPInstall distro
In Progress
Future Milestones
These are milestones that should be completed soon, but are not part of the official Summer of Code project.* fix heap allocation when used as out param * how to make nsMemory::Alloc work??? * test memory "ownership" with all components * related to above * particularly, test arrays of things which are created in method (create array of objects which write to js console when deleted)* move bugs into bugzilla (add components to bugzilla?) * Extend documentation * Draw concept diagram of object hierarchy * C++ API - find good code parser/documenter (doc++, doxygen, etc) * docIFile.pl: check for implemented interfaces in component header files (include in documentation) * fix NBayes machine (test error always 100%) * problem with distribution init? * need to randomize params? * fix linux port (crashes on load) * Add ability to train/test component under seperate thread. (depends on above) * nsIRunnable - Interface required for code to run as seperate thread. * nsIThread - Interface of thread component. * interface implemented, fix memory bugs * add some type of progress_update method to mtIMsgObserver for integrating with xul progress meter * depends on above * Implement trainer which can use in-memory dataset (i.e., remove requirement to write dataset to disk) * Develop unit tests for all components * Add confusion matrix to test messages * Integrate with Thunderbird * Code assumes incremental learner. Any way around this without rewriting big sections of javascript?