Live data from Hacker News

Caffe2: Open Source Cross-Platform Machine Learning Tools

caffe2.ai

51–57 of 57 posts

Re: Caffe2: Open Source Cross-Platform Machine Learning Tools

#51
post #33

Earlier quoted context omitted.

I am a complete machine learning noob, so this could just be my lack of skill. Having looked at most of the popular ML frameworks, none of them seem to provide an easy, functional way to implement a custom 'neuron'. That is: function (someinput): output = do_stuff return output Which then gets passed on to the next layer. Again, it's quite possible I've just missed something, or there is some inherent ML limitation t…

Many do. For example, the `Lambda` Layer from Keras: https://keras.io/layers/core/#lambda

Yeah tried that one a while ago but didn't have much success. I'm a bit of a dummy when it comes to ML. That said, it looks like they've updated the documentation or something, so might be time to give it another whirl. Thanks for the reply.

Re: Caffe2: Open Source Cross-Platform Machine Learning Tools

#52
post #33

Earlier quoted context omitted.

How difficult is it to set up custom recurrent networks? The only system I've ever seen that handles this well is CNTK - you can just say `x = PreviousValue(y)`. I've tried to work out how to do similar things in Torch and Tensorflow but all they really offer is pre-packaged layers like LSTM. If you want to make your own it's difficult, undocumented and not at all ergonomic. How does Caffe2 compare?

I am a complete machine learning noob, so this could just be my lack of skill. Having looked at most of the popular ML frameworks, none of them seem to provide an easy, functional way to implement a custom 'neuron'. That is: function (someinput): output = do_stuff return output Which then gets passed on to the next layer. Again, it's quite possible I've just missed something, or there is some inherent ML limitation t…

tensorflow's py_func allows you to do that, you can also write your own C++ operators, their API interface for that is pretty nice. In fact, you should be able to pretty much write any op you need by combining existing ops (maybe not as efficient as you'd like but yields the results you want).

Re: Caffe2: Open Source Cross-Platform Machine Learning Tools

#53
post #33

Earlier quoted context omitted.

How difficult is it to set up custom recurrent networks? The only system I've ever seen that handles this well is CNTK - you can just say `x = PreviousValue(y)`. I've tried to work out how to do similar things in Torch and Tensorflow but all they really offer is pre-packaged layers like LSTM. If you want to make your own it's difficult, undocumented and not at all ergonomic. How does Caffe2 compare?

I am a complete machine learning noob, so this could just be my lack of skill. Having looked at most of the popular ML frameworks, none of them seem to provide an easy, functional way to implement a custom 'neuron'. That is: function (someinput): output = do_stuff return output Which then gets passed on to the next layer. Again, it's quite possible I've just missed something, or there is some inherent ML limitation t…

This is another area CNTK's 'BrainScript' excels. You can pretty much express it as normal maths:

https://github.com/Microsoft/CNTK/wiki/BrainScript-Activatio...

List of functions:

https://github.com/Microsoft/CNTK/wiki/BrainScript-Full-Func...

Re: Caffe2: Open Source Cross-Platform Machine Learning Tools

#54

Earlier quoted context omitted.

How difficult is it to set up custom recurrent networks? The only system I've ever seen that handles this well is CNTK - you can just say `x = PreviousValue(y)`. I've tried to work out how to do similar things in Torch and Tensorflow but all they really offer is pre-packaged layers like LSTM. If you want to make your own it's difficult, undocumented and not at all ergonomic. How does Caffe2 compare?

The recurrent network work is under way - we are revisiting the designs to consciously balance between performance and API niceness. We'll share more tech details in the upcoming days. Right now, this is an example RNN: https://github.com/caffe2/caffe2/blob/master/caffe2/python/e... We use it for machine translation so the perf is nice. If you have design feedbacks please let us know - we'll be really grateful.

I know one of the biggest struggles of training RNNs in TensorFlow, for instance, is the fact that the graph is static. Other frameworks, like PyTorch, have dynamic graphs.

Will Caffe2 support dynamic graphs (perhaps down the line)? What is your reasoning behind whichever decision?

Re: Caffe2: Open Source Cross-Platform Machine Learning Tools

#55
post #2

Hey guys - Yangqing here, worked on Caffe and Caffe2 over the years, super excited to have continuous contribution to the OSS community. I am more than happy to answer questions if you are curious.

Why do you people at Facebook use a patents clause and destroy integrity of open source license of BSD?

Better create a proprietary license which allow you to protect your predatory patent claims instead of acting benevolent and releasing with this kind of corporate malarkey.

Re: Caffe2: Open Source Cross-Platform Machine Learning Tools

#56
post #52
post #33

Earlier quoted context omitted.

I am a complete machine learning noob, so this could just be my lack of skill. Having looked at most of the popular ML frameworks, none of them seem to provide an easy, functional way to implement a custom 'neuron'. That is: function (someinput): output = do_stuff return output Which then gets passed on to the next layer. Again, it's quite possible I've just missed something, or there is some inherent ML limitation t…

tensorflow's py_func allows you to do that, you can also write your own C++ operators, their API interface for that is pretty nice. In fact, you should be able to pretty much write any op you need by combining existing ops (maybe not as efficient as you'd like but yields the results you want).

Sorry I'm late to reply. This looks perfect for what I have in mind! Thanks!

Re: Caffe2: Open Source Cross-Platform Machine Learning Tools

#57
post #2

Hey guys - Yangqing here, worked on Caffe and Caffe2 over the years, super excited to have continuous contribution to the OSS community. I am more than happy to answer questions if you are curious.

Great work. I would like to know "how beta" the Windows version is. Is there a small library for inference that we can use integrated in an application?

I am currently exporting models from an existing Theano system running on an a Linux server. I'm currently running inference using tiny-dnn and an alternative direct implementation using Eigen (which is much faster) but in the long run it would be nice to have stuff like quantization and GPU available. Thanks

Post reply on HN