Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Aug 08 20:38
    bpr commented #53
  • Aug 08 19:27
    drahnr commented #53
  • Aug 07 22:20
    bpr commented #53
  • Aug 07 22:14
    bpr commented #53
  • Aug 07 22:01
    drahnr commented #53
  • Aug 07 20:26
    bpr opened #53
  • Jul 12 16:03
    XYC-EXP closed #52
  • Jul 12 05:28
    drahnr commented #52
  • Jul 12 05:28
    drahnr reopened #52
  • Jul 12 05:28
    drahnr closed #52
  • Jul 12 05:27
    drahnr commented #52
  • Jul 11 07:56
    XYC-EXP commented #52
  • Jul 10 17:37
    drahnr commented #52
  • Jul 10 10:13
    XYC-EXP commented #52
  • Jul 10 10:10
    XYC-EXP opened #52
  • Jun 25 10:42

    drahnr on master

    chore/edition: edition 2015 -> … (compare)

  • Jun 25 10:42
    drahnr closed #51
  • Jun 25 07:52
    andreytkachenko opened #51
  • Jun 25 06:49

    drahnr on master

    fix/tests: fix tests (compare)

  • Jun 25 06:49
    drahnr closed #50
Bernhard Schuster
@drahnr
is there any particular thing that is wokring/not working?
The question you phrased is pretty broad.
Mamy Ratsimbazafy
@mratsim
no it’s just a general question about serialization/deserialization for deep learning models
as there is onnx, protobuf, Keras is using hdf5, there is apache arrow
Bernhard Schuster
@drahnr
Yes, it works, and it is cross platform and has implementations for many languages
Mamy Ratsimbazafy
@mratsim
so I’m interesting in difficulties you met or successes you met.
Bernhard Schuster
@drahnr
hdf5 is a file format. never heard of onnx nor looked into apache arrow, and protofbuf does a lot of copying.
There literally were none specific to cpanproto.
Mamy Ratsimbazafy
@mratsim
ONNX is a file format spearheaded by Facebook and Microsoft for cross-framework compat: https://github.com/onnx/onnx
Bernhard Schuster
@drahnr
The idea behind using capnproto was to not only use it as file format, but also as model/parameter distribution format.
Simplifies tooling implementations (which don't exist yet)
Mamy Ratsimbazafy
@mratsim
I see, thanks
Bernhard Schuster
@drahnr
Anytime, cheers :)
Erlend Langseth
@Ploppz
How can I make a DNN using juice? Can't find anything here https://docs.rs/juice/0.2.3/juice/layers/common/index.html that indicates a dense layer. How do I make a each element of one layer depend on each output of the previous layer? (I want dense layers)
Example network using Keras:
        self.model = Sequential()
        self.model.add(Dense(6, input_shape=(observation_space,), activation="relu"))
        self.model.add(Dense(6, activation="relu"))
        self.model.add(Dense(self.action_space, activation="linear"))
        self.model.compile(loss="mse", optimizer=Adam(lr=learning_rate))
Bernhard Schuster
@drahnr
Did you have a look into the examples?
There is a repository just for that sake
Timofey Kondrashov
@tkondrashov
hello! I'm curious about juice but haven't used it yet :)
I'd like to make a chess engine based around it, do you think it would be a good choice for that?
Mamy Ratsimbazafy
@mratsim
I wanted to implement a Go playing bot using Juice (when it was caled Leaf) 3 years before.
You can use Juice for the convnet part but you will need to build from scratch all the reinforcement learning components (Monte Carlo Tree Search, Policy Iteration, Value Iteration, ...), this is true for any language you end up choosing anyway.
Timofey Kondrashov
@tkondrashov
yeah, I'm ok with the parts that aren't the convnet parts, just wondering cause a lot of blogs and stuff talk about how GPU support on rust just isn't there yet. are CNNs in juice able to run on GPU? are the speeds significantly worse than C++-backed tensorflow implementations?
Bernhard Schuster
@drahnr
@tkondrashov if you have a cuda capable GPU, then yes
I started doing some OpenCL impl details about a year ago but time got sparse as I changed jobs
RNN are still a big item on the neverending todo list
Mamy Ratsimbazafy
@mratsim
Tensorflow is the slowest framework
for convnets it uses CuDNN like others (and juice) so it will be as fast.
the main issue is that TF uses NHWC memory layout but this is slower than NCHW on GPU and most of CuDNN optimisations are done with NCHW layout in mind.
Timofey Kondrashov
@tkondrashov
I'm sold then! I'll be trying it out :)
Andrey Tkachenko
@andreytkachenko
Hi.
I would like start a discussion of what plan for future of the framework.
Andrey Tkachenko
@andreytkachenko
Here is my opinion.
  1. We need involve more developers. And I am sure we have to have working examples working any time, and we have to have all passing tests. Ci should be configured. OpenCL does not works for now - we should turn it off until it will be fixed.
  2. Make more (complete) examples for different models (at for that which we already have - AlexNet etc.).
Think what we should target this framework: good support of OpenCL, WebAssembly and no_std is the places where Tensorflow is not fully present.
Make very popular models (Yolo, MobileNet or other) working
Andrey Tkachenko
@andreytkachenko
no_stdsupport is a good option for juice (there are some IoT boards which can run NN and it can be support them, i.e. k210 based boards)
and, of course, more layers: LSTM, GRU, Embedding, TransposedConvolution, BatchNormalization, etc
Is there any one who used intel's clDNN, how fast is it, or what kind problems we may have if would implement support it?
Andrey Tkachenko
@andreytkachenko
I think to add support intel's mkl blas library (maybe mkl dnn aswell?)
Bernhard Schuster
@drahnr
For me, key is getting more developers and OpenCL support
To get there, I think the best approach is - as you said - have a set of golden examples
Those unfortunately require a few more layers than are present today, i.e. RNN which I started working on a while ago to be supported by at least cudnn
For more blas support, I don't think that's something immediate that yields a big gain
Bernhard Schuster
@drahnr
the intel movidus boards are most interesting to me, https://www.movidius.com/solutions/software-development-kit
But again, core is the availability of layers, plenty of layers and that is where juice has it's biggest shortcomming right now
webassembly should be no big deal for the cpu target, but webcl is not a thing so far
Andrey Tkachenko
@andreytkachenko
Hi, there. I have made some MVP: https://github.com/andreytkachenko/yarnn
Mamy Ratsimbazafy
@mratsim
You got something going quite fast, congrats
Andrey Tkachenko
@andreytkachenko
Thanks, portability was the goal not speed) Now working on WASM example
Bernhard Schuster
@drahnr
Nice, are you planning on reintegrating this into juice? or is this something that will develope separately?
*develop
Andrey Tkachenko
@andreytkachenko
Initially I started as a PR to juice but decided that changes are too radical and make another MVP project with some concepts. I do want you to merge as much as possible from that, but it has some design differences.