Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate HaskTorch #55

Open
Mikolaj opened this issue Jun 11, 2022 · 1 comment
Open

Investigate HaskTorch #55

Mikolaj opened this issue Jun 11, 2022 · 1 comment
Assignees

Comments

@Mikolaj
Copy link
Owner

Mikolaj commented Jun 11, 2022

I assumed @hasktorch wraps the extensive PyTorch API in some very smart Haskell type-level programming.

However, @arkadiuszbicz hypothesises that HaskTorch is using not PyTorch, but a CI library Torch that does not implement backpropagation, but only some more basic building blocks, such as tensor multiplications. If so, we could try using Torch instead of hmatrix for the basic operations. Also, this would mean HaskTorch implements backpropagation and so, given that we do this in an original and probably efficient way, it would be great to compare both the method and the performance. I'm sure we could fruitfully share other kinds of experience as well.

@Mikolaj
Copy link
Owner Author

Mikolaj commented Jun 14, 2022

Today we looked at some HaskTorch examples and they look cool, they have an untyped flavour as well as shape-typed with KnownNat, etc. However, it seems they use autograd from PyTorch for handling tape and backpropagation, which means they don't implement their own and so we can't share experiences there. However, as long as our benchmarks are in good shape, let's compare performance numbers with theirs and contact them and chat and share. The exchange is sure to be fruitful on the ML implementation and Haskell magic (type-level stuff in particular) fronts.

@Mikolaj Mikolaj self-assigned this Jun 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant