bp::class_<AdamSolver<Dtype>, bp::bases<Solver<Dtype> >, shared_ptr<AdamSolver<Dtype> >, boost::noncopyable>( "AdamSolver", bp::init<string>()); bp::class_<FOOSolver<Dtype>, bp::bases<Solver<Dtype> >, shared_ptr<FOOSolver<Dtype> >, boost::noncopyable>( "FOOSolver", bp::init<string>());
bp::def("get_solver", &GetSolverFromFile, bp::return_value_policy<bp::manage_new_object>());
>>> import caffe>>> from caffe._caffe import Solver as SolverBaseClassInfo>>> [cls.__name__ for cls in vars()['SolverBaseClassInfo'].__subclasses__()]['SGDSolver', 'NesterovSolver', 'AdaGradSolver', 'RMSPropSolver', 'AdaDeltaSolver', 'AdamSolver', 'FOOSolver']
>>> solver=caffe.FOOSolver('solver.prototxt')Traceback (most recent call last): File "<stdin>", line 1, in <module>AttributeError: 'module' object has no attribute 'FOOSolver'