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
* 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)
* 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
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