caffe2_cpp_tutorial icon indicating copy to clipboard operation
caffe2_cpp_tutorial copied to clipboard

Caffe2 API is undergoing changes

Open jerryzh168 opened this issue 5 years ago • 11 comments

Caffe2 C++ API is undergoing changes since we are currently working on merging the caffe2 and pytorch backend. There might be breaking changes, but most of them should be easy to fix. For most updated version of caffe2::Tensor, please refer to: https://github.com/pytorch/pytorch/blob/master/caffe2/core/tensor.h

And we'll merge with pytorch Tensor: https://github.com/pytorch/pytorch/blob/master/aten/src/ATen/core/Tensor.h at some point. Please keep an eye on https://github.com/pytorch/pytorch and https://pytorch.org/ for announcements.

jerryzh168 avatar Oct 25 '18 18:10 jerryzh168

I forked this project and updated parts of it to reflect the Caffe2 API changes as of 10 22 2018. I was able to get the rnn tutorial to run.

All the necessary files to run only the rnn example can be found here

rilesdg3 avatar Nov 08 '18 00:11 rilesdg3

For full C++ Caffe2 code working with pytorch/caffe2 1.0 release and the non templated tensors, see https://github.com/jolibrain/deepdetect/tree/master/src/backends/caffe2 and https://github.com/jolibrain/deepdetect/pull/510

Note that this includes pure C++ Detectron inference and included new C++ operators we had to write. We'll PR back to pytorch whenever time allows and if there's interest.

beniz avatar Nov 08 '18 08:11 beniz

@rilesdg3 that's great! probably talk to author to merge?

jerryzh168 avatar Nov 08 '18 18:11 jerryzh168

we have more API changes coming(e.g. method renaming), not just the template..

jerryzh168 avatar Nov 08 '18 18:11 jerryzh168

Is there a public list of forthcoming changes ?

beniz avatar Nov 09 '18 06:11 beniz

@beniz I think there will be announcement when the two Tensors are merged.

jerryzh168 avatar Nov 09 '18 18:11 jerryzh168

@jerryzh168 will do, I will keep an eye open for the changes

rilesdg3 avatar Nov 12 '18 17:11 rilesdg3

Hi, @jerryzh168 . Is there any new process about the merge of two tensors?

BIGBALLON avatar Dec 21 '18 06:12 BIGBALLON

We're still removing tech debts in our codebase.

jerryzh168 avatar Dec 21 '18 18:12 jerryzh168

@jerryzh168 I know it is a bit irrelevant, just asking for some info and an opinion:

  • Is caffe2 going to be deprecated in favour of ATen, Autograd?
  • For us who often have to use C++ should we keep working on caffe2 or switch to the above?
  • Is pytorch using Aten and Autograd in the background? I assume so, and I've familiarised my self with pytorch, so I'd prefer to have a similar approach when using C++ Many thanks and much appreciate any advice/opinion :-)

alexge233 avatar Mar 22 '19 18:03 alexge233

@alexge233 sorry for the late reply, we have merged TensorImpl in caffe2 and pytorch, right now caffe2::Tensor and aten::Tensor are thin wrappers around TensorImpl. To answer your question

  1. There won't be distinction of caffe2/pytorch any more, they are the same thing, you can use existing caffe2 abstractions to write operators or use ATen abstractions, but they are being merged, for new operators probably better to follow ATen I think
  2. It's the same thing, old caffe2 stuff should still be working, but if you want to write new operators, maybe better to put them in ATen folder
  3. Yes

jerryzh168 avatar Oct 09 '19 18:10 jerryzh168