Я только что установил Ceres, и я впервые использую его, поэтому я еще не так знаком с этим инструментом. Я написал инструмент регрессии в Python и хочу транспонировать его в C ++, чтобы увидеть, лучше ли выступления. Проект C ++ здесь: https://github.com/julien-livet/symreg. Я написал проблему CERES в выражении.template
class Residual;
template
class Expression
{
public:
//...
T fit(Eigen::Array const& y)
{
std::vector params;
this->params(params);
auto const n{params.size()};
std::vector param_ptrs(n);
for (size_t i = 0; i < n; ++i)
param_ptrs = ¶ms;
ceres::Problem problem;
auto* cost = new ceres::DynamicAutoDiffCostFunction(
new Residual(*this, y));
for (size_t i{0}; i < n; ++i)
cost->AddParameterBlock(1);
cost->SetNumResiduals(y.size());
problem.AddResidualBlock(cost, nullptr, param_ptrs);
ceres::Solver::Options options;
options.linear_solver_type = ceres::DENSE_QR;
options.minimizer_progress_to_stdout = true;
ceres::Solver::Summary summary;
ceres::Solve(options, &problem, &summary);
applyParams(params);
std::cout
Подробнее здесь: https://stackoverflow.com/questions/796 ... regression
Использование Церера для символической регрессии ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение