I was looking for something like this.
Now I just need a guide that tackles the principles of this, but from a typescript/javascript perspective.
PS: TyTorch (from Typescript) sounds nice!
81–90 of 92 posts
I was looking for something like this.
Now I just need a guide that tackles the principles of this, but from a typescript/javascript perspective.
PS: TyTorch (from Typescript) sounds nice!
Earlier quoted context omitted.
Performance is a lot worse on NodeJS with a WebAssembly/WebGL backend versus Flask with a PyTorch/CUDA backend.
If you're using Node you can write whatever you want in C++ and then add a binding to call it from within your Node app. Don't need WebGL.
This is great! I was looking for something like this. Now I just need a guide that tackles the principles of this, but from a typescript/javascript perspective. PS: TyTorch (from Typescript) sounds nice!
Earlier quoted context omitted.
If you're using Node you can write whatever you want in C++ and then add a binding to call it from within your Node app. Don't need WebGL.
But you're having to write whatever in C++ versus just using Flask/Pytorch.
Earlier quoted context omitted.
What's wrong with creating a function that does those things? It would be less surprising to people new to the library, would be self-documenting by having a name and an easily inspected declaration with named arguments, and it would be idiomatic JS. You could also have variants that are purely functional and return a new value or ones that mutate in place that you could use depending on your needs.
What's wrong is it obscures simple math expressions behind tons of dots and parentheses. The thing is that the core of deep learning algorithms is usually very simple math. It's useful to be able to translate that math directly from research papers into straightforward expressions that mirror the structure in the paper like a = b / c + d * e rather than something less similar like a = b.divide(c).add(d.multiply(e)).
One of the learning tool is notebook. I even has a lisp backend to enabled it to be used. It will be nice if there is a notebook version and easy to run on web (like colab).
Earlier quoted context omitted.
What's wrong with creating a function that does those things? It would be less surprising to people new to the library, would be self-documenting by having a name and an easily inspected declaration with named arguments, and it would be idiomatic JS. You could also have variants that are purely functional and return a new value or ones that mutate in place that you could use depending on your needs.
What's wrong is it obscures simple math expressions behind tons of dots and parentheses. The thing is that the core of deep learning algorithms is usually very simple math. It's useful to be able to translate that math directly from research papers into straightforward expressions that mirror the structure in the paper like a = b / c + d * e rather than something less similar like a = b.divide(c).add(d.multiply(e)).
a = e`${b} / ${c}`
Not ideal, but much better and without magic pre processors
Someone needs to do a TypeScript compiler plugin to add multidimensional array slicing and operator overloading to the language, so these libraries can actually work the way PyTorch does. I know operator overloading is controversial, but the way it allows automatic differentiation to work transparently through regular arithmetic expressions is very helpful. Without it these libraries will never feel like PyTorch. Jav…
I know eval is not kosher but this problem is also not real, so why not.
Someone needs to do a TypeScript compiler plugin to add multidimensional array slicing and operator overloading to the language, so these libraries can actually work the way PyTorch does. I know operator overloading is controversial, but the way it allows automatic differentiation to work transparently through regular arithmetic expressions is very helpful. Without it these libraries will never feel like PyTorch. Jav…
You could use eval to expand whatever syntax you like into function calls. It could be done once at the start of the program and act like a js preprocessor. I know eval is not kosher but this problem is also not real, so why not.