Get a solver using a SolverParameter.
| 71 | |
| 72 | // Get a solver using a SolverParameter. |
| 73 | static Solver<Dtype>* CreateSolver(const SolverParameter& param) { |
| 74 | const string& type = param.type(); |
| 75 | CreatorRegistry& registry = Registry(); |
| 76 | CHECK_EQ(registry.count(type), 1) << "Unknown solver type: " << type |
| 77 | << " (known types: " << SolverTypeListString() << ")"; |
| 78 | return registry[type](param); |
| 79 | } |
| 80 | |
| 81 | static vector<string> SolverTypeList() { |
| 82 | CreatorRegistry& registry = Registry(); |