[pycaffe] add converter for vectors of Nets
authorJonathan L Long <jonlong@cs.berkeley.edu>
Tue, 30 Sep 2014 23:20:27 +0000 (16:20 -0700)
committerJonathan L Long <jonlong@cs.berkeley.edu>
Wed, 1 Oct 2014 03:23:01 +0000 (20:23 -0700)
python/caffe/_caffe.cpp
python/caffe/_caffe.hpp

index 5a81a42..ce7b726 100644 (file)
@@ -189,6 +189,9 @@ BOOST_PYTHON_MODULE(_caffe) {
       .def("solve",        &PySGDSolver::Solve)
       .def("solve",        &PySGDSolver::SolveResume);
 
+  bp::class_<vector<shared_ptr<PyNet> > >("NetVec")
+      .def(bp::vector_indexing_suite<vector<shared_ptr<PyNet> >, true>());
+
   bp::class_<vector<PyBlob<float> > >("BlobVec")
       .def(bp::vector_indexing_suite<vector<PyBlob<float> >, true>());
 
index 622e887..0ed0974 100644 (file)
@@ -152,6 +152,11 @@ class PyNet {
   bp::dict raw_scale_;
   bp::dict channel_swap_;
 
+  // this is here only to satisfy boost's vector_indexing_suite
+  bool operator == (const PyNet &other) {
+      return this->net_ == other.net_;
+  }
+
  protected:
   // The pointer to the internal caffe::Net instance.
   shared_ptr<Net<float> > net_;