xsl-list
[Top] [All Lists]

Re: [xsl] Performance of XSLT in a neural network application

2020-08-22 10:17:44
I have to say that your conclusion doesn't follow logically from the evidence: 
the fact that you failed to do something doesn't mean that it can't be done. 
Furthermore, it's not safe to generalise properties of one implementation to 
assume that they must be true of all possible implementations.

Nevertheless it's probably true to say that neither the XSLT language nor its 
implementations are particularly designed for this kind of task. Remember the 
notorious sentence at the start of the XSLT 1.0 specification: "XSLT is not 
intended as a completely general-purpose XML transformation language". I've 
always thought that was a rather odd thing to say, but if it said "XSLT is not 
intended as a completely general-purpose programming language", then few would 
quarrel.

Michael Kay
Saxonica



On 22 Aug 2020, at 14:21, Roger L Costello costello(_at_)mitre(_dot_)org 
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:

Hi Folks,

I used XSLT to implement a neural network that recognizes handwritten digits.

I have a small training and test data set consisting of 100 and 10 records, 
respectively.

I also have a large training and test data set consisting of 60,000 and 
10,000 records, respectively

Neural networks involve a lot of matrix operations.

In my first implementation I stored the data in XML and the matrix operations 
operated on XML.

In my second implementation I removed all XML and exclusively used XSLT maps 
and XSLT sequences.

In my third implementation I used Python instead of XSLT.

Here are the performance results:
---------------------------------------------------------------------------------------
For the small training and test data set:

First implementation (XML): 6 and one-half minutes

Second implementation (maps, sequences): 28.7 seconds

Python implementation: less than 1 second
---------------------------------------------------------------------------------------
For the large training and test data set:

First implementation (XML): more than 24 hours (I stopped it after it had run 
for 24 hours)

Second implementation (maps, sequences): 5 hours

Python implementation: 30 seconds
---------------------------------------------------------------------------------------
Conclusion: XSLT is not a viable language for creating neural networks. 

/Roger

--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--

<Prev in Thread] Current Thread [Next in Thread>