Eigen::VectorXf Network::forward(const Eigen::VectorXf& x) { std::function<float(float)> activate = relu; Eigen::VectorXf x = stat; for (size_t i = 0; i < layers_.size(); ++i) { Eigen::VectorXf y = layers_[i].weight * x + layers_[i].bias; if (i + 1 != layers_.size()) y = y.unaryExpr(activate); x = y; } return x; }