burn/burn-core/Cargo.toml

100 lines
3.5 KiB
TOML

[package]
authors = ["nathanielsimard <nathaniel.simard.42@gmail.com>"]
categories = ["science", "no-std", "embedded", "wasm"]
description = "Flexible and Comprehensive Deep Learning Framework in Rust"
edition = "2021"
keywords = ["deep-learning", "machine-learning", "tensor", "pytorch", "ndarray"]
license = "MIT OR Apache-2.0"
name = "burn-core"
readme = "README.md"
repository = "https://github.com/burn-rs/burn/tree/main/burn-core"
version = "0.9.0"
[features]
default = ["std"]
std = [
"autodiff",
"burn-common/std",
"dataset",
"burn-tensor/std",
"ndarray-std",
"flate2",
"log",
"rand/std",
"rmp-serde",
"serde/std",
"serde_json/std",
"bincode/std",
"half/std",
]
dataset = ["burn-dataset"]
dataset-sqlite = ["burn-dataset/sqlite"]
dataset-sqlite-bundled = ["burn-dataset/sqlite-bundled"]
autodiff = ["burn-autodiff"]
ndarray = ["burn-ndarray"]
ndarray-std = ["ndarray", "burn-ndarray/std"]
ndarray-blas-accelerate = ["ndarray", "burn-ndarray/blas-accelerate"]
ndarray-blas-netlib = ["ndarray", "burn-ndarray/blas-netlib"]
ndarray-blas-openblas = ["ndarray", "burn-ndarray/blas-openblas"]
ndarray-blas-openblas-system = ["ndarray", "burn-ndarray/blas-openblas-system"]
wgpu = ["burn-wgpu"]
wgpu-autotune = ["wgpu", "burn-wgpu/autotune"]
tch = ["burn-tch"]
candle = ["burn-candle"]
# Serialization formats
experimental-named-tensor = ["burn-tensor/experimental-named-tensor"]
test-tch = ["tch"] # To use tch during testing, default uses ndarray.
test-wgpu = ["wgpu"] # To use wgpu during testing, default uses ndarray.
test-candle = ["candle"] # To use candle during testing, default uses ndarray.
[dependencies]
# ** Please make sure all dependencies support no_std when std is disabled **
burn-autodiff = { path = "../burn-autodiff", version = "0.9.0", optional = true, features = [
"export_tests",
] }
burn-common = { path = "../burn-common", version = "0.9.0", default-features = false }
burn-dataset = { path = "../burn-dataset", version = "0.9.0", optional = true, default-features = false }
burn-derive = { path = "../burn-derive", version = "0.9.0" }
burn-tensor = { path = "../burn-tensor", version = "0.9.0", default-features = false }
burn-ndarray = { path = "../burn-ndarray", version = "0.9.0", optional = true, default-features = false }
burn-wgpu = { path = "../burn-wgpu", version = "0.9.0", optional = true }
burn-tch = { path = "../burn-tch", version = "0.9.0", optional = true }
burn-candle = { path = "../burn-candle", version = "0.9.0", optional = true }
derive-new = { workspace = true }
libm = { workspace = true }
log = { workspace = true, optional = true }
rand = { workspace = true, features = ["std_rng"] } # Default enables std
# Using in place of use std::sync::Mutex when std is disabled
spin = { workspace = true, features = ["mutex", "spin_mutex"] }
# The same implementation of HashMap in std but with no_std support (only alloc crate is needed)
hashbrown = { workspace = true, features = ["serde"] } # no_std compatible
# Serialize Deserialize
flate2 = { workspace = true, optional = true }
serde = { workspace = true, features = ["derive"] }
bincode = { workspace = true }
half = { workspace = true }
rmp-serde = { workspace = true, optional = true }
serde_json = { workspace = true, features = ["alloc"] } #Default enables std
[dev-dependencies]
tempfile = { workspace = true }
burn-dataset = { path = "../burn-dataset", version = "0.9.0", features = [
"fake",
] }
burn-ndarray = { path = "../burn-ndarray", version = "0.9.0", default-features = false }