from .pycaffe import Net, SGDSolver
from ._caffe import set_mode_cpu, set_mode_gpu, set_device, \
- set_phase_train, set_phase_test
+ set_phase_train, set_phase_test, Layer
from .classifier import Classifier
from .detector import Detector
import io
.add_property("diff", bp::make_function(&Blob<Dtype>::mutable_cpu_diff,
NdarrayCallPolicies()));
+ bp::class_<Layer<Dtype>, shared_ptr<Layer<Dtype> >, boost::noncopyable>(
+ "Layer", bp::no_init)
+ .add_property("blobs", bp::make_function(&Layer<Dtype>::blobs,
+ bp::return_internal_reference<>()))
+ .def("setup", &Layer<Dtype>::LayerSetUp)
+ .def("reshape", &Layer<Dtype>::Reshape)
+ .add_property("type_name", bp::make_function(&Layer<Dtype>::type_name,
+ bp::return_value_policy<bp::copy_const_reference>()));
+
// vector wrappers for all the vector types we use
bp::class_<vector<shared_ptr<Blob<Dtype> > > >("BlobVec")
.def(bp::vector_indexing_suite<vector<shared_ptr<Blob<Dtype> > >, true>());