1use burn_backend::{
2 ExecutionError, FloatDType, IntDType, Shape, TensorData,
3 ops::QTensorOps,
4 quantization::{QuantScheme, QuantizationParametersPrimitive},
5 tensor::{Device, FloatTensor, IntTensor, QuantizedTensor},
6};
7
8use crate::{LibTorch, LibTorchDevice, TchElement};
9
10impl<E: TchElement> QTensorOps<Self> for LibTorch<E> {
11 fn q_from_data(_data: TensorData, _device: &LibTorchDevice) -> QuantizedTensor<Self> {
12 unimplemented!()
13 }
14
15 fn quantize(
16 _tensor: FloatTensor<Self>,
17 _scheme: &QuantScheme,
18 _qparams: QuantizationParametersPrimitive<Self>,
19 ) -> QuantizedTensor<Self> {
20 unimplemented!()
21 }
22
23 fn quantize_dynamic(
24 _tensor: FloatTensor<Self>,
25 _scheme: &QuantScheme,
26 ) -> QuantizedTensor<Self> {
27 unimplemented!()
28 }
29
30 fn dequantize(_tensor: QuantizedTensor<Self>, _dtype: FloatDType) -> FloatTensor<Self> {
31 unimplemented!()
32 }
33
34 fn q_device(_tensor: &QuantizedTensor<Self>) -> LibTorchDevice {
35 unimplemented!()
36 }
37
38 fn q_to_device(
39 _tensor: QuantizedTensor<Self>,
40 _device: &Device<Self>,
41 ) -> QuantizedTensor<Self> {
42 unimplemented!()
43 }
44
45 fn q_reshape(_tensor: QuantizedTensor<Self>, _shape: Shape) -> QuantizedTensor<Self> {
46 unimplemented!()
47 }
48
49 async fn q_into_data(_tensor: QuantizedTensor<Self>) -> Result<TensorData, ExecutionError> {
50 unimplemented!()
51 }
52 fn q_swap_dims(
53 _tensor: QuantizedTensor<Self>,
54 _dim1: usize,
55 _dim2: usize,
56 ) -> QuantizedTensor<Self> {
57 unimplemented!()
58 }
59
60 fn q_permute(_tensor: QuantizedTensor<Self>, _axes: &[usize]) -> QuantizedTensor<Self> {
61 unimplemented!()
62 }
63
64 fn q_flip(_tensor: QuantizedTensor<Self>, _axes: &[usize]) -> QuantizedTensor<Self> {
65 unimplemented!()
66 }
67
68 fn q_select(
69 _tensor: QuantizedTensor<Self>,
70 _dim: usize,
71 _indices: IntTensor<Self>,
72 ) -> QuantizedTensor<Self> {
73 unimplemented!()
74 }
75
76 fn q_slice(
77 _tensor: QuantizedTensor<Self>,
78 _slices: &[burn_backend::Slice],
79 ) -> QuantizedTensor<Self> {
80 unimplemented!()
81 }
82
83 fn q_argmax(
84 _tensor: QuantizedTensor<Self>,
85 _dim: usize,
86 _out_dtype: IntDType,
87 ) -> IntTensor<Self> {
88 unimplemented!()
89 }
90
91 fn q_argmin(
92 _tensor: QuantizedTensor<Self>,
93 _dim: usize,
94 _out_dtype: IntDType,
95 ) -> IntTensor<Self> {
96 unimplemented!()
97 }
98
99 fn q_max_dim_with_indices(
100 _tensor: QuantizedTensor<Self>,
101 _dim: usize,
102 _indices_dtype: IntDType,
103 ) -> (QuantizedTensor<Self>, IntTensor<Self>) {
104 unimplemented!()
105 }
106
107 fn q_max_dim(_tensor: QuantizedTensor<Self>, _dim: usize) -> QuantizedTensor<Self> {
108 unimplemented!()
109 }
110
111 fn q_min_dim(_tensor: QuantizedTensor<Self>, _dim: usize) -> QuantizedTensor<Self> {
112 unimplemented!()
113 }
114
115 fn q_min_dim_with_indices(
116 _tensor: QuantizedTensor<Self>,
117 _dim: usize,
118 _indices_dtype: IntDType,
119 ) -> (QuantizedTensor<Self>, IntTensor<Self>) {
120 unimplemented!()
121 }
122
123 fn q_expand(_tensor: QuantizedTensor<Self>, _shape: Shape) -> QuantizedTensor<Self> {
124 unimplemented!()
125 }
126
127 fn q_sort(
128 _tensor: QuantizedTensor<Self>,
129 _dim: usize,
130 _descending: bool,
131 ) -> QuantizedTensor<Self> {
132 unimplemented!()
133 }
134
135 fn q_sort_with_indices(
136 _tensor: QuantizedTensor<Self>,
137 _dim: usize,
138 _descending: bool,
139 _indices_dtype: IntDType,
140 ) -> (QuantizedTensor<Self>, IntTensor<Self>) {
141 unimplemented!()
142 }
143
144 fn q_argsort(
145 _tensor: QuantizedTensor<Self>,
146 _dim: usize,
147 _descending: bool,
148 _out_dtype: IntDType,
149 ) -> IntTensor<Self> {
150 unimplemented!()
151 }
152}