class QPanda::Variational::AdamOptimizer
#include <Optimizer.h>
class AdamOptimizer: public QPanda::Variational::Optimizer
{
public:
// construction
AdamOptimizer(
var lost,
double learning_rate = 0.001,
double beta1 = 0.9,
double beta2 = 0.999,
double epsilon = 1e-8
);
// methods
virtual std::unordered_map<var, MatrixXd> compute_gradients(std::unordered_set<var>& var_set);
virtual std::unordered_set<var> get_variables();
virtual double get_loss();
virtual bool run(
std::unordered_set<var>& leaves,
size_t t = 0
);
static std::shared_ptr<Optimizer> minimize(
var& lost,
double learning_rate = 0.001,
double beta1 = 0.9,
double beta2 = 0.999,
double epsilon = 1e-10
);
};
Inherited Members
public:
// methods
virtual std::unordered_set<var> get_variables() = 0;
virtual std::unordered_map<var, MatrixXd> compute_gradients(std::unordered_set<var>& var_set) = 0;
virtual double get_loss() = 0;
virtual bool run(std::unordered_set<var>& leaves, size_t t = 0) = 0;