juice icon indicating copy to clipboard operation
juice copied to clipboard

Native support for Convolution Layer

Open TheodoreEhrenborg opened this issue 3 years ago • 2 comments

Use case: I’ve written a module in Python that plays a board game. Part of the module uses a convolutional neural network, which I made with TensorFlow Keras.

I’d like to translate my module into Rust to make it run faster. So I need to be able to run a convolutional neural network in Rust. It’s much more convenient for me to run it on a CPU than on a GPU, even though that makes it slower.

Right now Juice doesn’t support running a Convolution Layer on a CPU:

currently the native backend has an incomplete implementation of the Convolution Layer, as such it will panic on use.

So I’d like to request support for this.

I would write it myself, except that I’m an absolute beginner at Rust.

It doesn’t have to be very fast—presumably TensorFlow’s convolutional layer is also slower on a CPU, but that has been fast enough for me.

I will pay $20 (at least—it’s negotiable) to whoever implements this.

(Another option is for me to translate almost all of my module into Rust, except for a Python script that the rest of the module calls (using PyO3?) in order to run the neural network. This seems hacky.)

TheodoreEhrenborg avatar Sep 17 '21 18:09 TheodoreEhrenborg

Oh, this issue seems related.

TheodoreEhrenborg avatar Sep 17 '21 18:09 TheodoreEhrenborg

Hey, yeah, this has been outstanding, I have all the math ready on paper, I just did not get around to impl - and it has been a while.

The code referenced from that other issue unfortunately never appeared in any repo or branch. @subversive-owl unfortunately doesn't seem to be active much anymore on github (correct me if I am wrong!).

drahnr avatar Sep 22 '21 14:09 drahnr