> On Jan 28, 2018, at 10:58 PM, kai zhu <kaizhu...@gmail.com> wrote: > > for stuff like machine-learning, using web-assembly / asm.js on an existing > c/c++ library is probably more practical than trying to roll your own in > javascript. > > here are some pre-compiled (in asm.js) binaries using fann you can download > and run directly in nodejs: > https://github.com/kaizhu256/node-fann-lite/tree/examples/external/examples > <https://github.com/kaizhu256/node-fann-lite/tree/examples/external/examples> > https://github.com/kaizhu256/node-fann-lite/blob/examples/external/examples/Makefile#L20 > > <https://github.com/kaizhu256/node-fann-lite/blob/examples/external/examples/Makefile#L20> > > performance-wise, the asm-variants running in nodejs train about 4x slower > than their native c-compiled counterparts > >> On Jan 28, 2018, at 10:54 PM, Robert Eisele <rob...@xarg.org >> <mailto:rob...@xarg.org>> wrote: >> >> The capabilities of the language itself are growing with each version. It's >> not that the first version of JavaScript would not be appropriate for >> today's web applications, but since we identify regular patterns in a >> language, we are able to add more layers of abstraction. But not only >> syntactic features can be abstracted to describe what the programmer wants >> with as little code as possible to give the engines more room for >> optimization, also the standard library should get extended. And I mean, it >> gets extended quite a lot - so tensors could be just one of these additions. >> The link of J Decker is a good starting reference >> https://github.com/yiransheng/tensor-ops-js >> <https://github.com/yiransheng/tensor-ops-js> >> It's not hard to use the features of JavaScript to implement a library like >> this. The hard part is to make an API like this as fast as possible to meet >> future demands for web applications. And this is the purpose of a standard >> library: 1) Providing regular functionalities without the need of external >> dependencies (e.g. libraries) and 2) Making them as fast and accurate as >> possible on a given machine. >> >> And I think all these points make tensors a good fit for Web Assembly. >> >> Robert >> Am 28.01.18 um 15:08 schrieb Michał Wadas: >>> Why should be it included in standard library? >>> >>> Are there widely used libraries providing similar capabilities? >>> >>> Why is it preferable to implementing tensor operations in Web Assembly? >>> >>> >>> On 27 Jan 2018 2:50 am, "Robert Eisele" <rob...@xarg.org >>> <mailto:rob...@xarg.org>> wrote: >>> Hello, >>> >>> Allocating multi-dimensional arrays in Javascript is only possible by >>> building each dimension individually. In addition to being a very tedious >>> job, a developer has no control over memory usage, which in general is >>> likely to be very high. >>> >>> Seeing an array algebraically as a vector, typed arrays have already >>> created the ability to work more efficiently and memory-consciously with >>> lists of numbers. A natural extension of this is not just a matrix, but a >>> tensor. >>> >>> I would like to suggest tensors as a native language construct in ES. This >>> would have the advantage that developers could write highly parallelizable >>> code independently of WebGL. As an API one could introduce the following >>> classes in analogy to typed arrays: >>> >>> - IntXTensor >>> - UintXTensor >>> - FloatXTensor >>> >>> Where X is one of {8, 16, 32, 64}. To make these tensor objects really >>> effective, it is necessary to introduce meaningful operations, maybe >>> similar to the features of TensorFlow. I think by introducing tensors in >>> the browser (but also node.js), a wide range of new applications open up. >>> For example, working with deep learning right in the browser or calculating >>> filters on images without having to write shaders for them. >>> >>> The most important thing probably is having a way of storing high >>> dimensional data in the browser without worrying about the memory >>> footprint, even for complex applications. >>> >>> What do you think about it? >>> >>> Robert Eisele >>> >>> _______________________________________________ >>> es-discuss mailing list >>> es-discuss@mozilla.org <mailto:es-discuss@mozilla.org> >>> https://mail.mozilla.org/listinfo/es-discuss >>> <https://mail.mozilla.org/listinfo/es-discuss> >>> >> >> _______________________________________________ >> es-discuss mailing list >> es-discuss@mozilla.org <mailto:es-discuss@mozilla.org> >> https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss