changeset 1007:2e515be92a0e

motivations and meeting points
author Yoshua Bengio <bengioy@iro.umontreal.ca>
date Thu, 02 Sep 2010 22:28:32 -0400
parents 49eea4953efe
children a5886b394bda dc5185cca21e
files doc/v2_planning/main_plan.txt
diffstat 1 files changed, 41 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/doc/v2_planning/main_plan.txt	Thu Sep 02 21:59:22 2010 -0400
+++ b/doc/v2_planning/main_plan.txt	Thu Sep 02 22:28:32 2010 -0400
@@ -2,6 +2,47 @@
 Motivation
 ==========
 
+Yoshua (points discussed Thursday Sept 2, 2010 at LISA tea-talk)
+------
+
+****** Why we need to get better organized in our code-writing ******
+
+- current state of affairs on top of Theano is anarchic and does not lend itself to easy code re-use
+- the lab is growing and will continue to grow significantly, and more people outside the lab are using Theano
+- we have new industrial partners and funding sources that demand deliverables, and more/better collectively organized efforts
+
+*** Who can take advantage of this ***
+
+- us, directly, taking advantage of the different advances made by different researchers in the lab to yield better models
+- us, easier to compare different models and different datasets with different metrics on different computing platforms available to us
+- future us, new students, able to quickly move into 'production' mode without having to reinvent the wheel 
+- students in the two ML classes, able to play with the library to explore new ML variants
+- other ML researchers in academia, able to play with our algorithms, try new variants, cite our papers
+- non-ML users in or out of academia, and our user-partners
+
+
+*** Move with care ***
+
+- Write down use-cases, examples for each type of module, do not try to be TOO general
+- Want to keep ease of exploring and flexibility, not create a prison
+- Too many constraints can lead to paralysis, especially in C++ object-oriented model
+- Too few guidelines lead to code components that are not interchangeable
+- Poor code practice leads to buggy, spaguetti code
+
+*** What ***
+
+- define standards
+- 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)
+- let the library grow according to our needs 
+- keep tight reins on it to control quality 
+
+*** Content and Form ***
+
+We need to establish guidelines and conventions for 
+
+ * Content: what are the re-usable components? define conventions or API for each, make sure they fit with each other
+ * Form: social engineering, coding practices and conventions, code review, incentives
+
 Yoshua:
 -------