28#include <nlohmann/json.hpp>
51 const std::vector<StateTensor>&
state()
const;
52 const std::vector<WeightDecl>&
weights()
const;
59 std::string
slot_errors(
const nlohmann::json& slot)
const;
63 void init(
const std::vector<const float*>&
weights,
const std::vector<float*>&
state)
const;
67 void step(
const std::vector<const float*>&
in,
const std::vector<const float*>&
weights,
68 const std::vector<float*>&
state,
float*
out)
const;
static Recurrence compile(const nlohmann::json &node)
void step(const std::vector< const float * > &in, const std::vector< const float * > &weights, const std::vector< float * > &state, float *out) const
void init(const std::vector< const float * > &weights, const std::vector< float * > &state) const
std::string slot_errors(const nlohmann::json &slot) const
std::unique_ptr< Program > p_
const std::vector< StateTensor > & state() const
const std::vector< size_t > & input_widths() const
Recurrence(Recurrence &&) noexcept
const std::vector< WeightDecl > & weights() const
const float * in[expr::Expr::kMaxInputs]
std::vector< int64_t > shape