On 01/10/2012 09:42 AM, Gilles Louppe wrote: > It is converted to Fortran order for efficiency reasons. The most > repeated and consuming operation is the search for split thresholds, > which is performed column-wise, hence the Fortran ordering. > > Gilles > > Thanks Gilles and Mathieu for the fast answers :)
@Gilles: Is this the operation in ``smallest_sample_larger_than``? @both: This might be a stupid question but is there really so much difference in indexing continuously or with stride over a C pointer? I didn't do much CPU optimization in the past so sorry for asking stupid stuff ;) Cheers, Andy > On 10 January 2012 09:39, Andreas<[email protected]> wrote: > >> Hey everybody. >> Looking a bit into my memory problems, the first thing I noticed >> is that the "fit" method of BaseDecisionTree converts >> the data into float32 and Fortran-Style ordering. >> I haven't paid much attention to that but is that a common pattern? >> Having float32 seems reasonable and this conversion is also >> done in the SVMs. But there it is also mentioned explicitly in the docs. >> >> Converting the input to Fortran-style ordering seems a bit weird to >> me, as I thought the convention was that the data is assumed >> to be C-ordered. >> Is there an efficiency reason for doing this that can not be >> circumvented? >> >> Another thing I don't like so much is that the conversion >> into float32 is not very explicit, since a type is defined >> in the _tree.pyx, then imported into tree.py and used >> for conversion there. >> I no-one disagrees I would very much prefer to make >> the type explicit in tree.py. >> >> Any hints on the Fortran style ordering would be very welcome. >> >> Thanks, >> Andy >> >> ------------------------------------------------------------------------------ >> Write once. Port to many. >> Get the SDK and tools to simplify cross-platform app development. Create >> new or port existing apps to sell to consumers worldwide. Explore the >> Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join >> http://p.sf.net/sfu/intel-appdev >> _______________________________________________ >> Scikit-learn-general mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/scikit-learn-general >> > ------------------------------------------------------------------------------ > Write once. Port to many. > Get the SDK and tools to simplify cross-platform app development. Create > new or port existing apps to sell to consumers worldwide. Explore the > Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join > http://p.sf.net/sfu/intel-appdev > _______________________________________________ > Scikit-learn-general mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/scikit-learn-general > ------------------------------------------------------------------------------ Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev _______________________________________________ Scikit-learn-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
