leovandriel / caffe2_cpp_tutorial

C++ transcripts of the Caffe2 Python tutorials and other C++ example code
BSD 2-Clause "Simplified" License
431 stars 94 forks source link

Caffe2 API is undergoing changes #83

Open jerryzh168 opened 6 years ago

jerryzh168 commented 6 years ago

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.

rilesdg3 commented 6 years ago

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

beniz commented 6 years ago

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.

jerryzh168 commented 6 years ago

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

jerryzh168 commented 6 years ago

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

beniz commented 6 years ago

Is there a public list of forthcoming changes ?

jerryzh168 commented 6 years ago

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

rilesdg3 commented 6 years ago

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

BIGBALLON commented 5 years ago

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

jerryzh168 commented 5 years ago

We're still removing tech debts in our codebase.

alexge233 commented 5 years ago

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

jerryzh168 commented 5 years ago

@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