burn_central/lib.rs
1// #![cfg_attr(not(feature = "std"), no_std)]
2#![deny(missing_docs)]
3
4//! # Burn Central SDK
5//!
6//! This crate allow you to bridge your burn model training and inference with Burn Central platform.
7//!
8//! Features:
9//! - Artifact createion and management
10//! - Experiment tracking
11//! - Logging metrics
12//! - Model versioning
13//!
14//! ## Components overview
15//!
16//! This crate is composed of three main modules:
17//! - `core`: The core module that handle all interaction with Burn Central platform API.
18//! - `macros`: The macros module that provide the necessary macros to register training and inference functions.
19//! - `runtime`: The runtime module that execute the registered training and inference functions.
20//!
21//! If you are a user you might want to checkout the documentation around the `core` crates as
22//! this is where you will find example on how to use feature of this SDK.
23//!
24//! ### Runtime
25//! For the `runtime`, the only thing you need to know is that we use it to wrape the function
26//! you want to use in another crates that we control allowing us to inject more easily what you
27//! need into your function and to interact with Burn Central platform before and after the
28//! execution of your training function.
29//!
30//!
31//! ### Macros
32//! For the `macros`, you only need to know about the register macro that you will use to mark
33//! your training functions so they can be found by Burn Central CLI. Right now we only support
34//! the training registration but inference will come soon. Here is
35//!
36//! #### Example
37//! ```ignore
38//! use burn_central::macros::register;
39//!
40//! #[register(training, name = "my_training_procedure")]
41//! async fn my_training_function() {
42//! // Your training code here
43//! }
44//! ```
45//! Note that the name attribute is optional. If not provided the function name will be used.
46//!
47//!
48
49pub use burn_central_core::*;
50
51/// This crate provide the register macros. It allow user to mark there training functions so they
52/// can be found by Burn Central CLI.
53#[doc(inline)]
54pub use burn_central_macros as macros;
55
56/// The runtime crate execute training and inference procedure registered with
57/// Burn Central Macros. It basically form a wrapper crate that use your declare functions.
58#[doc(inline)]
59pub use burn_central_runtime as runtime;