burn_vision/backends/cpu/
ops.rs

1#[cfg(feature = "ndarray")]
2mod ndarray {
3    use crate::{BoolVisionOps, FloatVisionOps, IntVisionOps, QVisionOps, VisionBackend};
4    use burn_ndarray::{FloatNdArrayElement, IntNdArrayElement, NdArray, QuantElement};
5
6    impl<E: FloatNdArrayElement, I: IntNdArrayElement, Q: QuantElement> BoolVisionOps
7        for NdArray<E, I, Q>
8    {
9    }
10    impl<E: FloatNdArrayElement, I: IntNdArrayElement, Q: QuantElement> IntVisionOps
11        for NdArray<E, I, Q>
12    {
13    }
14    impl<E: FloatNdArrayElement, I: IntNdArrayElement, Q: QuantElement> FloatVisionOps
15        for NdArray<E, I, Q>
16    {
17    }
18    impl<E: FloatNdArrayElement, I: IntNdArrayElement, Q: QuantElement> QVisionOps
19        for NdArray<E, I, Q>
20    {
21    }
22    impl<E: FloatNdArrayElement, I: IntNdArrayElement, Q: QuantElement> VisionBackend
23        for NdArray<E, I, Q>
24    {
25    }
26}
27
28#[cfg(feature = "candle")]
29mod candle {
30    use crate::{BoolVisionOps, FloatVisionOps, IntVisionOps, QVisionOps, VisionBackend};
31    use burn_candle::{Candle, FloatCandleElement, IntCandleElement};
32
33    impl<F: FloatCandleElement, I: IntCandleElement> BoolVisionOps for Candle<F, I> {}
34    impl<F: FloatCandleElement, I: IntCandleElement> IntVisionOps for Candle<F, I> {}
35    impl<F: FloatCandleElement, I: IntCandleElement> FloatVisionOps for Candle<F, I> {}
36    impl<F: FloatCandleElement, I: IntCandleElement> QVisionOps for Candle<F, I> {}
37    impl<F: FloatCandleElement, I: IntCandleElement> VisionBackend for Candle<F, I> {}
38}
39
40#[cfg(feature = "tch")]
41mod tch {
42    use crate::{BoolVisionOps, FloatVisionOps, IntVisionOps, QVisionOps, VisionBackend};
43    use burn_tch::{LibTorch, TchElement};
44
45    impl<E: TchElement, Q: burn_tch::QuantElement> BoolVisionOps for LibTorch<E, Q> {}
46    impl<E: TchElement, Q: burn_tch::QuantElement> IntVisionOps for LibTorch<E, Q> {}
47    impl<E: TchElement, Q: burn_tch::QuantElement> FloatVisionOps for LibTorch<E, Q> {}
48    impl<E: TchElement, Q: burn_tch::QuantElement> QVisionOps for LibTorch<E, Q> {}
49    impl<E: TchElement, Q: burn_tch::QuantElement> VisionBackend for LibTorch<E, Q> {}
50}