| 630 | } |
| 631 | |
| 632 | std::unique_ptr<callback_base> build_poly_learning_rate_callback_from_pbuf( |
| 633 | const google::protobuf::Message& proto_msg, |
| 634 | const std::shared_ptr<lbann_summary>&) |
| 635 | { |
| 636 | const auto& params = |
| 637 | dynamic_cast<const lbann_data::Callback::CallbackPolyLearningRate&>( |
| 638 | proto_msg); |
| 639 | return std::make_unique<poly_learning_rate>( |
| 640 | params.power(), |
| 641 | params.num_epochs(), |
| 642 | params.max_iter(), |
| 643 | params.end_lr(), |
| 644 | parse_list<std::string>(params.weights())); |
| 645 | } |
| 646 | |
| 647 | std::unique_ptr<callback_base> |
| 648 | build_cosine_decay_learning_rate_callback_from_pbuf( |