Skip to main content

svod_model/resnet/
error.rs

1use snafu::Snafu;
2
3#[derive(Debug, Snafu)]
4#[snafu(visibility(pub))]
5pub enum Error {
6    #[snafu(display("{source}"))]
7    Tensor {
8        #[snafu(source(from(svod_tensor::error::Error, Box::new)))]
9        source: Box<svod_tensor::error::Error>,
10    },
11    #[snafu(display("{source}"))]
12    State {
13        #[snafu(source(from(crate::state::Error, Box::new)))]
14        source: Box<crate::state::Error>,
15    },
16    #[snafu(display("hub error: {source}"))]
17    Hub { source: hf_hub::api::sync::ApiError },
18    #[snafu(display("invalid resnet config: {message}"))]
19    Config { message: String },
20}
21
22pub type Result<T> = std::result::Result<T, Error>;
23
24impl From<crate::blocks::Error> for Error {
25    fn from(e: crate::blocks::Error) -> Self {
26        match e {
27            crate::blocks::Error::Tensor { source } => Error::Tensor { source },
28        }
29    }
30}