style: run clang-format and configure pre-commit hooks

This commit is contained in:
AI-anonymous
2026-05-20 00:18:23 +02:00
parent 041eab7155
commit 3b15770437
28 changed files with 2226 additions and 2061 deletions

View File

@@ -13,39 +13,40 @@
#include <pybind11/stl.h>
#include <torch/extension.h>
#include "fces/optimizer.hpp"
#include "fces/config.hpp"
#include "fces/optimizer.hpp"
namespace py = pybind11;
PYBIND11_MODULE(fces_native, m) {
m.doc() = "FCES-native: High-performance C++ FCES optimizer";
m.doc() = "FCES-native: High-performance C++ FCES optimizer";
py::class_<fces::FCESConfig>(m, "FCESConfig")
.def(py::init<>())
.def_readwrite("lr", &fces::FCESConfig::lr)
.def_readwrite("population_size", &fces::FCESConfig::population_size)
.def_readwrite("total_steps", &fces::FCESConfig::total_steps)
.def_readwrite("grokking_coefficient", &fces::FCESConfig::grokking_coefficient)
.def_readwrite("direct_construction", &fces::FCESConfig::direct_construction);
py::class_<fces::FCESConfig>(m, "FCESConfig")
.def(py::init<>())
.def_readwrite("lr", &fces::FCESConfig::lr)
.def_readwrite("population_size", &fces::FCESConfig::population_size)
.def_readwrite("total_steps", &fces::FCESConfig::total_steps)
.def_readwrite("grokking_coefficient",
&fces::FCESConfig::grokking_coefficient)
.def_readwrite("direct_construction",
&fces::FCESConfig::direct_construction);
py::class_<fces::FCESOptimizer>(m, "FCESOptimizer")
.def(py::init<std::vector<torch::Tensor>, fces::FCESConfig>(),
py::arg("params"),
py::arg("config") = fces::FCESConfig{})
.def("step", &fces::FCESOptimizer::step)
.def("update_fitness", &fces::FCESOptimizer::update_fitness)
.def("backup_to_ram", &fces::FCESOptimizer::backup_to_ram)
.def("restore_from_ram", &fces::FCESOptimizer::restore_from_ram)
.def("step_count", &fces::FCESOptimizer::step_count)
.def("calculate_sparsity", &fces::FCESOptimizer::calculate_sparsity)
.def("zero_grad", [](fces::FCESOptimizer& self) {
for (auto& group : self.param_groups()) {
for (auto& p : group.params()) {
if (p.grad().defined()) {
p.grad().zero_();
}
}
py::class_<fces::FCESOptimizer>(m, "FCESOptimizer")
.def(py::init<std::vector<torch::Tensor>, fces::FCESConfig>(),
py::arg("params"), py::arg("config") = fces::FCESConfig{})
.def("step", &fces::FCESOptimizer::step)
.def("update_fitness", &fces::FCESOptimizer::update_fitness)
.def("backup_to_ram", &fces::FCESOptimizer::backup_to_ram)
.def("restore_from_ram", &fces::FCESOptimizer::restore_from_ram)
.def("step_count", &fces::FCESOptimizer::step_count)
.def("calculate_sparsity", &fces::FCESOptimizer::calculate_sparsity)
.def("zero_grad", [](fces::FCESOptimizer &self) {
for (auto &group : self.param_groups()) {
for (auto &p : group.params()) {
if (p.grad().defined()) {
p.grad().zero_();
}
});
}
}
});
}