1pub mod activation;
21pub mod error;
22pub mod layer;
23pub mod linalg;
24pub mod matrix;
25pub mod mlp_critic;
26pub mod pc_actor;
27pub mod pc_actor_critic;
28pub mod serializer;
29
30pub use activation::Activation;
31pub use error::PcError;
32pub use layer::{Layer, LayerDef};
33pub use linalg::cpu::CpuLinAlg;
34pub use linalg::golub_kahan::{GolubKahanSvd, SvdError};
35pub use linalg::LinAlg;
36pub use matrix::{
37 argmax_masked, cca_neuron_alignment, rms_error, sample_from_probs, softmax_masked, Matrix,
38 GRAD_CLIP, WEIGHT_CLIP,
39};
40pub use mlp_critic::{MlpCritic, MlpCriticConfig, MlpCriticWeights};
41pub use pc_actor::{InferResult, PcActor, PcActorConfig, SelectionMode};
42pub use pc_actor_critic::{ActivationCache, PcActorCritic, PcActorCriticConfig, TrajectoryStep};
43pub use serializer::{
44 checkpoint_filename, load_agent, load_agent_generic, save_agent, save_checkpoint,
45 AgentMetadata, PcActorWeights, SaveFile, TrainingMetrics,
46};
47
48pub type LayerCpu = Layer<CpuLinAlg>;
50pub type PcActorCpu = PcActor<CpuLinAlg>;
52pub type MlpCriticCpu = MlpCritic<CpuLinAlg>;
54pub type PcActorCriticCpu = PcActorCritic<CpuLinAlg>;