comparison doc/v2_planning/datalearn.txt @ 1364:01157763c2d7

Reply to Razvan
author Olivier Delalleau <delallea@iro>
date Fri, 12 Nov 2010 11:36:30 -0500
parents 18b2ebec6bca
children 049b99f4b323
comparison
equal deleted inserted replaced
1363:18b2ebec6bca 1364:01157763c2d7
217 the pipeline logic is separated from the data, so you can use the same 217 the pipeline logic is separated from the data, so you can use the same
218 transformation with different data easily, while in (1) you write the 218 transformation with different data easily, while in (1) you write the
219 transformation rooted in a dataset, and if you want same transformation 219 transformation rooted in a dataset, and if you want same transformation
220 for a different dataset you have to re-write everything. 220 for a different dataset you have to re-write everything.
221 221
222 OD replies: Still not sure I understand. If you have a "graph" function that
223 takes a dataset as input and outputs a new dataset, you can use this same
224 function with both (1) and (2). With (2) it is:
225 theano.function([index], graph(my_dataset)[index].variable)
226 while with (1) the same function is compiled implicitly with:
227 for sample in graph(my_dataset):
228 ...
222 229
223 - in approach (1) the initial dataset object (the one that loads the data) 230 - in approach (1) the initial dataset object (the one that loads the data)
224 decides if you will use shared variables and indices to deal with the 231 decides if you will use shared variables and indices to deal with the
225 dataset or if you will use ``theano.tensor.matrix`` and not the user( at 232 dataset or if you will use ``theano.tensor.matrix`` and not the user( at
226 least not without hacking the code). Of course whoever writes that class 233 least not without hacking the code). Of course whoever writes that class