📄 lib.rs
/home/palash/git/iron_learn/src/lib.rs
Language: rs • Lines: 79
// Test suites for all readme examples
#![doc = include_str!("../README.md")]

pub mod examples_tests {
    #[doc = include_str!("tensor/README.md")]
    pub struct TensorReadme;
}

// ============================================================================
// Internal Module Declarations
// ============================================================================

pub mod commons;
mod complex;
mod cpu_tensor;
mod regression;

pub mod examples;

pub mod nn;
pub mod numeric;
pub mod one_hot;
pub mod tensor;
pub mod utils;

#[cfg(feature = "cuda")]
mod cuda_tensor;
#[cfg(feature = "cuda")]
mod gpu_context;

// ============================================================================
// Types
// ============================================================================

pub use crate::complex::Complex;
pub use crate::numeric::{Numeric, SignedNumeric};
pub use crate::tensor::Tensor;

// ============================================================================
// Tensor Backend Re-exports
// ============================================================================

pub use crate::cpu_tensor::CpuTensor;

#[cfg(feature = "cuda")]
pub use crate::cuda_tensor::GpuTensor;

// ============================================================================
// Context & GPU Re-exports
// ============================================================================

#[cfg(feature = "cuda")]
pub use crate::gpu_context::{init_gpu, GpuContext, GPU_CONTEXT};

// ============================================================================
// Regression Re-exports
// ============================================================================
pub use crate::regression::linear_regression;
pub use crate::regression::logistic_regression;

// ============================================================================
// Neural Network Re-exports
// ============================================================================

pub use crate::nn::{
    ActivationFn, ActivationLayer, Layer, LinearLayer, LossFn, NeuralNet, NeuralNetBuilder,
};

// ============================================================================
// Data Processing Re-exports
// ============================================================================

pub use crate::commons::normalize_features;

// ============================================================================
// Gradient Descent Re-exports
// ============================================================================

pub use crate::regression::gradient_descent;