What it was
Companion to the Caffe PoseNet fork — same model (end-to-end 6-DOF camera pose regression), same dataset, same paper. This one ported the architecture + weights to TensorFlow so the rest of the lab’s CV codebase (also TF-based) could load it without managing two frameworks.
What I’d do differently with hindsight
The whole “port between deep learning frameworks” exercise is largely obsolete:
- ONNX is the lingua franca now. Train in PyTorch, export ONNX, run anywhere.
- Hugging Face Hub handles weight-format conversion as a side effect of model upload.
- Caffe is dead. TensorFlow is mostly dead for research (PyTorch won). Spending time on a Caffe→TF port today would be archaeology, not engineering.
But in 2019 this was a real workflow problem, and the port did teach me the GoogLeNet/Inception module by going through it layer by layer in two implementations.
What it taught me
Reading someone else’s deep-learning code is the fastest way to learn an architecture. PoseNet’s GoogLeNet backbone has those infamous “inception modules” — three branches with different kernel sizes concatenated. Porting forces you to look at every layer’s shape and stride. After that, papers reference Inception and the picture is clear instead of vague.