comparison doc/v2_planning/main_plan.txt @ 1019:91916536a304

merge
author gdesjardins
date Fri, 03 Sep 2010 15:01:23 -0400
parents 2e515be92a0e
children bc246542d6ff
comparison
equal deleted inserted replaced
1018:790376d986a3 1019:91916536a304
1 1
2 Motivation 2 Motivation
3 ========== 3 ==========
4
5 Yoshua (points discussed Thursday Sept 2, 2010 at LISA tea-talk)
6 ------
7
8 ****** Why we need to get better organized in our code-writing ******
9
10 - current state of affairs on top of Theano is anarchic and does not lend itself to easy code re-use
11 - the lab is growing and will continue to grow significantly, and more people outside the lab are using Theano
12 - we have new industrial partners and funding sources that demand deliverables, and more/better collectively organized efforts
13
14 *** Who can take advantage of this ***
15
16 - us, directly, taking advantage of the different advances made by different researchers in the lab to yield better models
17 - us, easier to compare different models and different datasets with different metrics on different computing platforms available to us
18 - future us, new students, able to quickly move into 'production' mode without having to reinvent the wheel
19 - students in the two ML classes, able to play with the library to explore new ML variants
20 - other ML researchers in academia, able to play with our algorithms, try new variants, cite our papers
21 - non-ML users in or out of academia, and our user-partners
22
23
24 *** Move with care ***
25
26 - Write down use-cases, examples for each type of module, do not try to be TOO general
27 - Want to keep ease of exploring and flexibility, not create a prison
28 - Too many constraints can lead to paralysis, especially in C++ object-oriented model
29 - Too few guidelines lead to code components that are not interchangeable
30 - Poor code practice leads to buggy, spaguetti code
31
32 *** What ***
33
34 - define standards
35 - write-up a few instances of each basic type (dataset, learner, optimizer, hyper-parameter exploration boilerplate, etc.) enough to implement some of the basic algorithms we use often (e.g. like those in the tutorials)
36 - let the library grow according to our needs
37 - keep tight reins on it to control quality
38
39 *** Content and Form ***
40
41 We need to establish guidelines and conventions for
42
43 * Content: what are the re-usable components? define conventions or API for each, make sure they fit with each other
44 * Form: social engineering, coding practices and conventions, code review, incentives
4 45
5 Yoshua: 46 Yoshua:
6 ------- 47 -------
7 48
8 We are missing a *Theano Machine Learning library*. 49 We are missing a *Theano Machine Learning library*.