Skip to content

Commit 5367a1a

Browse files
committed
Merge pull request #3024 from danielgordon10/python-solver-fix
[pycaffe] expose all solvers for direct instantiation (although note get_solver)
2 parents 9a244f9 + 5cc76ad commit 5367a1a

3 files changed

Lines changed: 12 additions & 2 deletions

File tree

python/caffe/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from .pycaffe import Net, SGDSolver
1+
from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver
22
from ._caffe import set_mode_cpu, set_mode_gpu, set_device, Layer, get_solver, layer_type_list
33
from .proto.caffe_pb2 import TRAIN, TEST
44
from .classifier import Classifier

python/caffe/_caffe.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,15 @@ BOOST_PYTHON_MODULE(_caffe) {
297297
bp::class_<AdaGradSolver<Dtype>, bp::bases<Solver<Dtype> >,
298298
shared_ptr<AdaGradSolver<Dtype> >, boost::noncopyable>(
299299
"AdaGradSolver", bp::init<string>());
300+
bp::class_<RMSPropSolver<Dtype>, bp::bases<Solver<Dtype> >,
301+
shared_ptr<RMSPropSolver<Dtype> >, boost::noncopyable>(
302+
"RMSPropSolver", bp::init<string>());
303+
bp::class_<AdaDeltaSolver<Dtype>, bp::bases<Solver<Dtype> >,
304+
shared_ptr<AdaDeltaSolver<Dtype> >, boost::noncopyable>(
305+
"AdaDeltaSolver", bp::init<string>());
306+
bp::class_<AdamSolver<Dtype>, bp::bases<Solver<Dtype> >,
307+
shared_ptr<AdamSolver<Dtype> >, boost::noncopyable>(
308+
"AdamSolver", bp::init<string>());
300309

301310
bp::def("get_solver", &GetSolverFromFile,
302311
bp::return_value_policy<bp::manage_new_object>());

python/caffe/pycaffe.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
from itertools import zip_longest as izip_longest
1111
import numpy as np
1212

13-
from ._caffe import Net, SGDSolver
13+
from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \
14+
RMSPropSolver, AdaDeltaSolver, AdamSolver
1415
import caffe.io
1516

1617
# We directly update methods from Net here (rather than using composition or

0 commit comments

Comments
 (0)