pub mod backbone;
pub mod detector;
pub mod fusion;
pub mod heads;
pub mod memory;
pub mod predictive;
pub use detector::Nexus;
pub use fusion::MultiScaleFusion;
pub use memory::ObjectMemoryBank;
pub use predictive::MultiScalePredictiveCoding;
use axonml_autograd::Variable;
pub struct NexusScaleOutput {
pub cls_logits: Variable,
pub bbox_pred: Variable,
pub centerness: Variable,
}
pub struct NexusTrainOutput {
pub scales: Vec<NexusScaleOutput>,
}
#[derive(Debug, Clone)]
pub struct NexusConfig {
pub input_width: u32,
pub input_height: u32,
pub num_classes: usize,
pub memory_hidden_size: usize,
pub proposal_threshold: f32,
pub nms_threshold: f32,
}
impl Default for NexusConfig {
fn default() -> Self {
Self {
input_width: 320,
input_height: 320,
num_classes: 20,
memory_hidden_size: 64,
proposal_threshold: 0.3,
nms_threshold: 0.5,
}
}
}