diff --git a/burn-autodiff/src/tests/cos.rs b/burn-autodiff/src/tests/cos.rs index ec4007d53..dd9f1fba8 100644 --- a/burn-autodiff/src/tests/cos.rs +++ b/burn-autodiff/src/tests/cos.rs @@ -5,11 +5,8 @@ mod tests { #[test] fn should_diff_cos() { - let data_1 = Data::::from([[0.0, 1.0], [3.0, 4.0]]); - let data_2 = Data::::from([[6.0, 7.0], [9.0, 10.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[0.0, 1.0], [3.0, 4.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[6.0, 7.0], [9.0, 10.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone().cos()); let tensor_4 = tensor_3.matmul(tensor_2.clone()); diff --git a/burn-autodiff/src/tests/cross_entropy.rs b/burn-autodiff/src/tests/cross_entropy.rs index 588ceecfd..2efb12ae6 100644 --- a/burn-autodiff/src/tests/cross_entropy.rs +++ b/burn-autodiff/src/tests/cross_entropy.rs @@ -5,14 +5,12 @@ mod tests { #[test] fn test_cross_entropy_loss_grad() { - let data_1 = Data::from([[0.0, 1.0], [3.0, 4.0]]); - let data_2 = Data::from([[6.0, 7.0], [9.0, 10.0]]); - let data_targets = Data::from([[0.8, 0.2], [0.9, 0.1]]); - - let tensor_1 = Tensor::::from_data_devauto(data_1).require_grad(); - let tensor_2 = Tensor::::from_data_devauto(data_2).require_grad(); + let tensor_1 = + Tensor::::from([[0.0, 1.0], [3.0, 4.0]]).require_grad(); + let tensor_2 = + Tensor::::from([[6.0, 7.0], [9.0, 10.0]]).require_grad(); let tensor_targets = - Tensor::::from_data_devauto(data_targets).require_grad(); + Tensor::::from([[0.8, 0.2], [0.9, 0.1]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone()); let tensor_4 = loss::cross_entropy_with_logits(tensor_3, tensor_targets); diff --git a/burn-autodiff/src/tests/div.rs b/burn-autodiff/src/tests/div.rs index 821f20958..4b35939c5 100644 --- a/burn-autodiff/src/tests/div.rs +++ b/burn-autodiff/src/tests/div.rs @@ -5,11 +5,8 @@ mod tests { #[test] fn should_diff_div() { - let data_1 = Data::from([1.0, 7.0]); - let data_2 = Data::from([4.0, 7.0]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); + let tensor_1 = TestAutodiffTensor::from([1.0, 7.0]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([4.0, 7.0]).require_grad(); let tensor_3 = tensor_1.clone().div(tensor_2.clone()); let grads = tensor_3.backward(); @@ -27,9 +24,7 @@ mod tests { #[test] fn should_diff_div_scalar() { - let data = Data::from([1.0, 7.0]); - - let tensor = TestAutodiffTensor::from_data_devauto(data).require_grad(); + let tensor = TestAutodiffTensor::from([1.0, 7.0]).require_grad(); let tensor_out = tensor.clone().div_scalar(4.0); let grads = tensor_out.backward(); @@ -40,13 +35,9 @@ mod tests { #[test] fn test_div_complex_1() { - let data_1: Data = Data::from([[1.0, 7.0], [13.0, -3.0]]); - let data_2: Data = Data::from([[4.0, 7.0], [2.0, 3.0]]); - let data_3: Data = Data::from([[2.0, 2.0], [2.0, 2.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); - let tensor_3 = TestAutodiffTensor::from_data_devauto(data_3).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [13.0, -3.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[4.0, 7.0], [2.0, 3.0]]).require_grad(); + let tensor_3 = TestAutodiffTensor::from([[2.0, 2.0], [2.0, 2.0]]).require_grad(); let tensor_4 = tensor_1.clone().div(tensor_2.clone()); let tensor_5 = tensor_4.div(tensor_3); @@ -66,11 +57,8 @@ mod tests { #[test] fn test_div_complex_2() { - let data_1 = Data::from([[0.0, 1.0], [3.0, 4.0]]); - let data_2 = Data::from([[6.0, 7.0], [9.0, 10.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[0.0, 1.0], [3.0, 4.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[6.0, 7.0], [9.0, 10.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone()); let tensor_4 = tensor_3.div(tensor_2.clone()); diff --git a/burn-autodiff/src/tests/erf.rs b/burn-autodiff/src/tests/erf.rs index 43e76ef56..0c90fc6f6 100644 --- a/burn-autodiff/src/tests/erf.rs +++ b/burn-autodiff/src/tests/erf.rs @@ -5,11 +5,8 @@ mod tests { #[test] fn should_diff_erf() { - let data_1 = Data::::from([[0.0, 1.0], [3.0, 4.0]]); - let data_2 = Data::::from([[6.0, 7.0], [9.0, 10.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[0.0, 1.0], [3.0, 4.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[6.0, 7.0], [9.0, 10.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone().erf()); let tensor_4 = tensor_3.matmul(tensor_2.clone()); diff --git a/burn-autodiff/src/tests/exp.rs b/burn-autodiff/src/tests/exp.rs index c491f95af..e337280bb 100644 --- a/burn-autodiff/src/tests/exp.rs +++ b/burn-autodiff/src/tests/exp.rs @@ -5,11 +5,8 @@ mod tests { #[test] fn should_diff_exp() { - let data_1 = Data::::from([[1.0, 7.0], [-2.0, -3.0]]); - let data_2 = Data::::from([[4.0, -7.0], [2.0, 3.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [-2.0, -3.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[4.0, -7.0], [2.0, 3.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone().exp()); let grads = tensor_3.backward(); diff --git a/burn-autodiff/src/tests/gather_scatter.rs b/burn-autodiff/src/tests/gather_scatter.rs index a2ef1b197..3a704f258 100644 --- a/burn-autodiff/src/tests/gather_scatter.rs +++ b/burn-autodiff/src/tests/gather_scatter.rs @@ -5,13 +5,9 @@ mod tests { #[test] fn test_gather_grad() { - let tensor_1 = - TestAutodiffTensor::from_data_devauto(Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]])) - .require_grad(); - let indices = Tensor::::from_data_devauto(Data::from([ - [2, 1, 0, 1, 2], - [1, 0, 2, 1, 0], - ])); + let tensor_1 = TestAutodiffTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]).require_grad(); + let indices = + Tensor::::from([[2, 1, 0, 1, 2], [1, 0, 2, 1, 0]]); let tensor_2 = tensor_1.clone().matmul(tensor_1.clone().transpose()); let tensor_3 = tensor_1.clone().gather(1, indices); @@ -29,16 +25,9 @@ mod tests { #[test] fn test_scatter_grad() { - let tensor_1 = - TestAutodiffTensor::from_data_devauto(Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]])) - .require_grad(); - let values = - TestAutodiffTensor::from_data_devauto(Data::from([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])) - .require_grad(); - let indices = Tensor::::from_data_devauto(Data::from([ - [2, 1, 0], - [2, 0, 1], - ])); + let tensor_1 = TestAutodiffTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]).require_grad(); + let values = TestAutodiffTensor::from([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]).require_grad(); + let indices = Tensor::::from([[2, 1, 0], [2, 0, 1]]); let tensor_2 = tensor_1.clone().matmul(tensor_1.clone().transpose()); let tensor_3 = tensor_1.clone().scatter(1, indices, values.clone()); diff --git a/burn-autodiff/src/tests/gelu.rs b/burn-autodiff/src/tests/gelu.rs index fecd07995..4662bed41 100644 --- a/burn-autodiff/src/tests/gelu.rs +++ b/burn-autodiff/src/tests/gelu.rs @@ -5,10 +5,8 @@ mod tests { #[test] fn should_diff_gelu() { - let tensor_1 = - TestAutodiffTensor::from_floats_devauto([[0.0, 1.0], [-3.0, 4.0]]).require_grad(); - let tensor_2 = - TestAutodiffTensor::from_floats_devauto([[6.0, -0.5], [9.0, 10.0]]).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[0.0, 1.0], [-3.0, 4.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[6.0, -0.5], [9.0, 10.0]]).require_grad(); let x = tensor_1.clone().matmul(activation::gelu(tensor_2.clone())); let x = tensor_1.clone().matmul(x); diff --git a/burn-autodiff/src/tests/log.rs b/burn-autodiff/src/tests/log.rs index 7b21bb14d..31510772b 100644 --- a/burn-autodiff/src/tests/log.rs +++ b/burn-autodiff/src/tests/log.rs @@ -5,11 +5,8 @@ mod tests { #[test] fn should_diff_log() { - let data_1 = Data::::from([[0.0, 1.0], [3.0, 4.0]]); - let data_2 = Data::::from([[6.0, 7.0], [9.0, 10.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[0.0, 1.0], [3.0, 4.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[6.0, 7.0], [9.0, 10.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone().log()); let tensor_4 = tensor_3.matmul(tensor_2.clone()); diff --git a/burn-autodiff/src/tests/mask.rs b/burn-autodiff/src/tests/mask.rs index 7f4f57b20..0ae08dbfd 100644 --- a/burn-autodiff/src/tests/mask.rs +++ b/burn-autodiff/src/tests/mask.rs @@ -5,13 +5,9 @@ mod tests { #[test] fn should_diff_mask_fill() { - let data_1 = Data::::from([[1.0, 7.0], [2.0, 3.0]]); - let data_2 = Data::::from([[4.0, 7.0], [2.0, 3.0]]); - let mask = Data::::from([[true, false], [false, true]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); - let mask = Tensor::::from_bool_devauto(mask); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [2.0, 3.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[4.0, 7.0], [2.0, 3.0]]).require_grad(); + let mask = Tensor::::from([[true, false], [false, true]]); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone()); let tensor_4 = tensor_3.mask_fill(mask, 2.0); @@ -26,16 +22,10 @@ mod tests { #[test] fn should_diff_mask_where() { - let tensor_1 = - TestAutodiffTensor::from_data_devauto([[1.0, 7.0], [2.0, 3.0]]).require_grad(); - let tensor_2 = - TestAutodiffTensor::from_data_devauto([[4.0, 7.0], [2.0, 3.0]]).require_grad(); - let tensor_3 = - TestAutodiffTensor::from_data_devauto([[8.8, 9.8], [10.8, 11.8]]).require_grad(); - let mask = Tensor::::from_data_devauto([ - [true, false], - [false, true], - ]); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [2.0, 3.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[4.0, 7.0], [2.0, 3.0]]).require_grad(); + let tensor_3 = TestAutodiffTensor::from([[8.8, 9.8], [10.8, 11.8]]).require_grad(); + let mask = Tensor::::from([[true, false], [false, true]]); let tensor_4 = tensor_1.clone().matmul(tensor_2.clone()); let tensor_5 = tensor_4.clone().matmul(tensor_3.clone()); diff --git a/burn-autodiff/src/tests/matmul.rs b/burn-autodiff/src/tests/matmul.rs index f4b4e53b9..20ef25374 100644 --- a/burn-autodiff/src/tests/matmul.rs +++ b/burn-autodiff/src/tests/matmul.rs @@ -5,11 +5,8 @@ mod tests { #[test] fn should_diff_matmul() { - let data_1: Data = Data::from([[1.0, 7.0], [2.0, 3.0]]); - let data_2: Data = Data::from([[4.0, 7.0], [2.0, 3.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [2.0, 3.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[4.0, 7.0], [2.0, 3.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone()); let grads = tensor_3.backward(); @@ -27,13 +24,9 @@ mod tests { #[test] fn test_matmul_complex_1() { - let data_1: Data = Data::from([[1.0, 7.0], [13.0, -3.0]]); - let data_2: Data = Data::from([[4.0, 7.0], [2.0, 3.0]]); - let data_3: Data = Data::from([[2.0, 2.0], [2.0, 2.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); - let tensor_3 = TestAutodiffTensor::from_data_devauto(data_3).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [13.0, -3.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[4.0, 7.0], [2.0, 3.0]]).require_grad(); + let tensor_3 = TestAutodiffTensor::from([[2.0, 2.0], [2.0, 2.0]]).require_grad(); let tensor_4 = tensor_1.clone().matmul(tensor_2.clone()); let tensor_5 = tensor_4.matmul(tensor_3); @@ -49,13 +42,9 @@ mod tests { #[test] fn test_matmul_complex_2() { - let data_1: Data = Data::from([[1.0, 7.0], [13.0, -3.0]]); - let data_2: Data = Data::from([[4.0, 7.0], [2.0, 3.0]]); - let data_3: Data = Data::from([[2.0, 2.0], [2.0, 2.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); - let tensor_3 = TestAutodiffTensor::from_data_devauto(data_3).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [13.0, -3.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[4.0, 7.0], [2.0, 3.0]]).require_grad(); + let tensor_3 = TestAutodiffTensor::from([[2.0, 2.0], [2.0, 2.0]]).require_grad(); let tensor_4 = tensor_1.clone().matmul(tensor_2.clone()); let tensor_5 = tensor_4.matmul(tensor_3.clone()); diff --git a/burn-autodiff/src/tests/maxmin.rs b/burn-autodiff/src/tests/maxmin.rs index 5c833dad7..0420f0c75 100644 --- a/burn-autodiff/src/tests/maxmin.rs +++ b/burn-autodiff/src/tests/maxmin.rs @@ -5,10 +5,8 @@ mod tests { #[test] fn should_diff_max_dim() { - let tensor_1 = - TestAutodiffTensor::from_floats_devauto([[1.0, 7.0], [-2.0, -3.0]]).require_grad(); - let tensor_2 = - TestAutodiffTensor::from_floats_devauto([[4.0, -7.0], [2.0, 3.0]]).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [-2.0, -3.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[4.0, -7.0], [2.0, 3.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone()); let tensor_4 = tensor_1.clone().mul(tensor_3.max_dim(1).unsqueeze()); @@ -27,10 +25,8 @@ mod tests { #[test] fn should_diff_min_dim() { - let tensor_1 = - TestAutodiffTensor::from_floats_devauto([[1.0, 7.0], [-2.0, -3.0]]).require_grad(); - let tensor_2 = - TestAutodiffTensor::from_floats_devauto([[4.0, -7.0], [2.0, 3.0]]).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [-2.0, -3.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[4.0, -7.0], [2.0, 3.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone()); let tensor_4 = tensor_1.clone().mul(tensor_3.min_dim(1).unsqueeze()); diff --git a/burn-autodiff/src/tests/maxpool1d.rs b/burn-autodiff/src/tests/maxpool1d.rs index cac732a35..c4227550f 100644 --- a/burn-autodiff/src/tests/maxpool1d.rs +++ b/burn-autodiff/src/tests/maxpool1d.rs @@ -10,11 +10,9 @@ mod tests { let stride = 1; let dilation = 1; - let x = TestAutodiffTensor::from_floats_devauto([[[ - 0.9861, 0.5474, 0.4477, 0.0732, 0.3548, 0.8221, - ]]]) - .require_grad(); - let x_grad_expected = TestAutodiffTensor::from_floats_devauto([[[1., 1., 0., 0., 0., 1.]]]); + let x = TestAutodiffTensor::from([[[0.9861, 0.5474, 0.4477, 0.0732, 0.3548, 0.8221]]]) + .require_grad(); + let x_grad_expected = TestAutodiffTensor::from([[[1., 1., 0., 0., 0., 1.]]]); let output = max_pool1d(x.clone(), kernel_size, stride, padding, dilation); let grads = output.backward(); @@ -33,13 +31,13 @@ mod tests { let stride = 1; let dilation = 2; - let x = TestAutodiffTensor::from_floats_devauto([[[ + let x = TestAutodiffTensor::from([[[ 0.5388, 0.0676, 0.7122, 0.8316, 0.0653, 0.9154, 0.1536, 0.9089, 0.8016, 0.7518, 0.2073, 0.0501, 0.8811, 0.5604, 0.5075, 0.4384, 0.9963, 0.9698, 0.4988, 0.2609, 0.3391, 0.2230, 0.4610, 0.5365, 0.6880, ]]]) .require_grad(); - let x_grad_expected = TestAutodiffTensor::from_floats_devauto([[[ + let x_grad_expected = TestAutodiffTensor::from([[[ 0., 0., 1., 0., 0., 3., 0., 1., 2., 1., 0., 0., 2., 0., 0., 0., 4., 4., 0., 0., 0., 0., 0., 0., 1., ]]]); @@ -61,13 +59,13 @@ mod tests { let stride = 1; let dilation = 1; - let x = TestAutodiffTensor::from_floats_devauto([[[ + let x = TestAutodiffTensor::from([[[ 0.5388, 0.0676, 0.7122, 0.8316, 0.0653, 0.9154, 0.1536, 0.9089, 0.8016, 0.7518, 0.2073, 0.0501, 0.8811, 0.5604, 0.5075, 0.4384, 0.9963, 0.9698, 0.4988, 0.2609, 0.3391, 0.2230, 0.4610, 0.5365, 0.6880, ]]]) .require_grad(); - let x_grad_expected = TestAutodiffTensor::from_floats_devauto([[[ + let x_grad_expected = TestAutodiffTensor::from([[[ 0., 0., 0., 2., 0., 4., 0., 2., 1., 0., 0., 0., 4., 0., 0., 0., 4., 1., 1., 0., 0., 0., 1., 1., 1., ]]]); @@ -89,13 +87,13 @@ mod tests { let stride = 1; let dilation = 1; - let x = TestAutodiffTensor::from_floats_devauto([[[ + let x = TestAutodiffTensor::from([[[ 0.5388, 0.0676, 0.7122, 0.8316, 0.0653, 0.9154, 0.1536, 0.9089, 0.8016, 0.7518, 0.2073, 0.0501, 0.8811, 0.5604, 0.5075, 0.4384, 0.9963, 0.9698, 0.4988, 0.2609, 0.3391, 0.2230, 0.4610, 0.5365, 0.6880, ]]]) .require_grad(); - let x_grad_expected = TestAutodiffTensor::from_floats_devauto([[[ + let x_grad_expected = TestAutodiffTensor::from([[[ 1., 0., 1., 2., 0., 4., 0., 2., 1., 0., 0., 0., 4., 0., 0., 0., 4., 1., 1., 0., 0., 0., 1., 1., 3., ]]]); diff --git a/burn-autodiff/src/tests/maxpool2d.rs b/burn-autodiff/src/tests/maxpool2d.rs index e8dff3751..baaa3274e 100644 --- a/burn-autodiff/src/tests/maxpool2d.rs +++ b/burn-autodiff/src/tests/maxpool2d.rs @@ -14,14 +14,14 @@ mod tests { let dilation_1 = 1; let dilation_2 = 1; - let x = TestAutodiffTensor::from_floats_devauto([[[ + let x = TestAutodiffTensor::from([[[ [0.2479, 0.6386, 0.3166, 0.5742], [0.7065, 0.1940, 0.6305, 0.8959], [0.5416, 0.8602, 0.8129, 0.1662], [0.3358, 0.3059, 0.8293, 0.0990], ]]]) .require_grad(); - let x_grad_expected = TestAutodiffTensor::from_floats_devauto([[[ + let x_grad_expected = TestAutodiffTensor::from([[[ [0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 2.0], [0.0, 2.0, 0.0, 0.0], @@ -55,14 +55,14 @@ mod tests { let dilation_1 = 1; let dilation_2 = 1; - let x = TestAutodiffTensor::from_floats_devauto([[[ + let x = TestAutodiffTensor::from([[[ [0.2479, 0.6386, 0.3166, 0.5742], [0.7065, 0.1940, 0.6305, 0.8959], [0.5416, 0.8602, 0.8129, 0.1662], [0.3358, 0.3059, 0.8293, 0.0990], ]]]) .require_grad(); - let x_grad_expected = TestAutodiffTensor::from_floats_devauto([[[ + let x_grad_expected = TestAutodiffTensor::from([[[ [1., 3., 0., 2.], [3., 0., 0., 4.], [1., 4., 0., 1.], @@ -96,14 +96,14 @@ mod tests { let dilation_1 = 2; let dilation_2 = 2; - let x = TestAutodiffTensor::from_floats_devauto([[[ + let x = TestAutodiffTensor::from([[[ [0.2479, 0.6386, 0.3166, 0.5742], [0.7065, 0.1940, 0.6305, 0.8959], [0.5416, 0.8602, 0.8129, 0.1662], [0.3358, 0.3059, 0.8293, 0.0990], ]]]) .require_grad(); - let x_grad_expected = TestAutodiffTensor::from_floats_devauto([[[ + let x_grad_expected = TestAutodiffTensor::from([[[ [0., 0., 0., 0.], [1., 1., 1., 2.], [0., 4., 4., 0.], @@ -137,7 +137,7 @@ mod tests { let dilation_1 = 1; let dilation_2 = 1; - let x = TestAutodiffTensor::from_floats_devauto([[[ + let x = TestAutodiffTensor::from([[[ [0.5388, 0.0676, 0.7122, 0.8316, 0.0653], [0.9154, 0.1536, 0.9089, 0.8016, 0.7518], [0.2073, 0.0501, 0.8811, 0.5604, 0.5075], @@ -145,7 +145,7 @@ mod tests { [0.3391, 0.2230, 0.4610, 0.5365, 0.6880], ]]]) .require_grad(); - let x_grad_expected = TestAutodiffTensor::from_floats_devauto([[[ + let x_grad_expected = TestAutodiffTensor::from([[[ [0., 0., 0., 3., 0.], [4., 0., 2., 1., 0.], [0., 0., 0., 0., 0.], diff --git a/burn-autodiff/src/tests/mul.rs b/burn-autodiff/src/tests/mul.rs index ac49697bf..db6a41e79 100644 --- a/burn-autodiff/src/tests/mul.rs +++ b/burn-autodiff/src/tests/mul.rs @@ -8,8 +8,8 @@ mod tests { let data_1 = Data::from([1.0, 7.0]); let data_2 = Data::from([4.0, 7.0]); - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1.clone()).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2.clone()).require_grad(); + let tensor_1 = TestAutodiffTensor::from(data_1.clone()).require_grad(); + let tensor_2 = TestAutodiffTensor::from(data_2.clone()).require_grad(); let tensor_3 = tensor_1.clone().mul(tensor_2.clone()); let grads = tensor_3.backward(); @@ -24,9 +24,7 @@ mod tests { #[test] fn should_diff_mul_scalar() { - let data = Data::from([2.0, 5.0]); - - let tensor = TestAutodiffTensor::from_data_devauto(data).require_grad(); + let tensor = TestAutodiffTensor::from([2.0, 5.0]).require_grad(); let tensor_out = tensor.clone().mul_scalar(4.0); let grads = tensor_out.backward(); @@ -38,13 +36,9 @@ mod tests { #[test] fn test_mul_complex_1() { - let data_1: Data = Data::from([[1.0, 7.0], [13.0, -3.0]]); - let data_2: Data = Data::from([[4.0, 7.0], [2.0, 3.0]]); - let data_3: Data = Data::from([[2.0, 2.0], [2.0, 2.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); - let tensor_3 = TestAutodiffTensor::from_data_devauto(data_3).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [13.0, -3.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[4.0, 7.0], [2.0, 3.0]]).require_grad(); + let tensor_3 = TestAutodiffTensor::from([[2.0, 2.0], [2.0, 2.0]]).require_grad(); let tensor_4 = tensor_1.clone().mul(tensor_2.clone()); let tensor_5 = tensor_4.mul(tensor_3); diff --git a/burn-autodiff/src/tests/multithread.rs b/burn-autodiff/src/tests/multithread.rs index f72557ad6..64f28eb68 100644 --- a/burn-autodiff/src/tests/multithread.rs +++ b/burn-autodiff/src/tests/multithread.rs @@ -9,8 +9,8 @@ mod tests { let data_2: Data = Data::from([[4.0, 7.0], [2.0, 3.0]]); let with_move = || { - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1.clone()).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2.clone()).require_grad(); + let tensor_1 = TestAutodiffTensor::from(data_1.clone()).require_grad(); + let tensor_2 = TestAutodiffTensor::from(data_2.clone()).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone()); let tensor_4 = tensor_3.clone().matmul(tensor_2.clone()); @@ -51,8 +51,8 @@ mod tests { (grad_1, grad_2) }; let without_move = || { - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1.clone()).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2.clone()).require_grad(); + let tensor_1 = TestAutodiffTensor::from(data_1.clone()).require_grad(); + let tensor_2 = TestAutodiffTensor::from(data_2.clone()).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone()); let tensor_4 = tensor_3.clone().matmul(tensor_2.clone()); diff --git a/burn-autodiff/src/tests/neg.rs b/burn-autodiff/src/tests/neg.rs index 929976a38..5f855e993 100644 --- a/burn-autodiff/src/tests/neg.rs +++ b/burn-autodiff/src/tests/neg.rs @@ -5,11 +5,8 @@ mod tests { #[test] fn should_diff_neg() { - let data_1 = Data::::from([[1.0, 7.0], [2.0, 3.0]]); - let data_2 = Data::::from([[4.0, 7.0], [2.0, 3.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [2.0, 3.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[4.0, 7.0], [2.0, 3.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone().neg()); let tensor_4 = tensor_3.neg(); diff --git a/burn-autodiff/src/tests/pow.rs b/burn-autodiff/src/tests/pow.rs index 4a84d7ff4..c90b7939e 100644 --- a/burn-autodiff/src/tests/pow.rs +++ b/burn-autodiff/src/tests/pow.rs @@ -5,11 +5,8 @@ mod tests { #[test] fn should_diff_powf() { - let data_1 = Data::::from([[0.0, 1.0], [3.0, 4.0]]); - let data_2 = Data::::from([[6.0, 7.0], [9.0, 10.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[0.0, 1.0], [3.0, 4.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[6.0, 7.0], [9.0, 10.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone().powf(0.4)); let tensor_4 = tensor_3.matmul(tensor_2.clone()); diff --git a/burn-autodiff/src/tests/recip.rs b/burn-autodiff/src/tests/recip.rs index 70d6b6b03..91ce23e6d 100644 --- a/burn-autodiff/src/tests/recip.rs +++ b/burn-autodiff/src/tests/recip.rs @@ -5,9 +5,7 @@ mod tests { #[test] fn should_diff_recip() { - let data = Data::from([2.0, 5.0, 0.4]); - - let tensor = TestAutodiffTensor::from_data_devauto(data).require_grad(); + let tensor = TestAutodiffTensor::from([2.0, 5.0, 0.4]).require_grad(); let tensor_out = tensor.clone().recip(); let grads = tensor_out.backward(); diff --git a/burn-autodiff/src/tests/relu.rs b/burn-autodiff/src/tests/relu.rs index 5d24e5d03..171d05227 100644 --- a/burn-autodiff/src/tests/relu.rs +++ b/burn-autodiff/src/tests/relu.rs @@ -5,11 +5,8 @@ mod tests { #[test] fn should_diff_relu() { - let data_1 = Data::::from([[1.0, 7.0], [-2.0, -3.0]]); - let data_2 = Data::::from([[4.0, -7.0], [2.0, 3.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [-2.0, -3.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[4.0, -7.0], [2.0, 3.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone()); let tensor_4 = activation::relu(tensor_3); diff --git a/burn-autodiff/src/tests/reshape.rs b/burn-autodiff/src/tests/reshape.rs index 85ceca7a9..f8c6456ce 100644 --- a/burn-autodiff/src/tests/reshape.rs +++ b/burn-autodiff/src/tests/reshape.rs @@ -5,11 +5,8 @@ mod tests { #[test] fn should_diff_reshape() { - let data_1: Data = Data::from([[1.0, 7.0], [2.0, 3.0]]); - let data_2: Data = Data::from([4.0, 7.0, 2.0, 3.0]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [2.0, 3.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([4.0, 7.0, 2.0, 3.0]).require_grad(); let tensor_3 = tensor_2.clone().reshape([2, 2]); let tensor_4 = tensor_1.clone().matmul(tensor_3); diff --git a/burn-autodiff/src/tests/select.rs b/burn-autodiff/src/tests/select.rs index 174c24ece..f1aec0080 100644 --- a/burn-autodiff/src/tests/select.rs +++ b/burn-autodiff/src/tests/select.rs @@ -5,10 +5,8 @@ mod tests { #[test] fn test_select_grad() { - let tensor_1 = - TestAutodiffTensor::from_data_devauto(Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]])) - .require_grad(); - let indices = Tensor::::from_data_devauto(Data::from([1, 0])); + let tensor_1 = TestAutodiffTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]).require_grad(); + let indices = Tensor::::from([1, 0]); let tensor_2 = tensor_1.clone().matmul(tensor_1.clone().transpose()); let tensor_3 = tensor_1.clone().select(0, indices); @@ -26,13 +24,9 @@ mod tests { #[test] fn test_select_assign_grad() { - let tensor_1 = - TestAutodiffTensor::from_data_devauto(Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]])) - .require_grad(); - let values = - TestAutodiffTensor::from_data_devauto(Data::from([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])) - .require_grad(); - let indices = Tensor::::from_data_devauto(Data::from([1, 0])); + let tensor_1 = TestAutodiffTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]).require_grad(); + let values = TestAutodiffTensor::from([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]).require_grad(); + let indices = Tensor::::from([1, 0]); let tensor_2 = tensor_1.clone().matmul(tensor_1.clone().transpose()); let tensor_3 = tensor_1.clone().select_assign(0, indices, values.clone()); diff --git a/burn-autodiff/src/tests/sin.rs b/burn-autodiff/src/tests/sin.rs index 310b62d1d..b1f6b0d25 100644 --- a/burn-autodiff/src/tests/sin.rs +++ b/burn-autodiff/src/tests/sin.rs @@ -5,11 +5,8 @@ mod tests { #[test] fn should_diff_sin() { - let data_1 = Data::::from([[0.0, 1.0], [3.0, 4.0]]); - let data_2 = Data::::from([[6.0, 7.0], [9.0, 10.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[0.0, 1.0], [3.0, 4.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[6.0, 7.0], [9.0, 10.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone().sin()); let tensor_4 = tensor_3.matmul(tensor_2.clone()); diff --git a/burn-autodiff/src/tests/slice.rs b/burn-autodiff/src/tests/slice.rs index 88138bc8f..69be08b71 100644 --- a/burn-autodiff/src/tests/slice.rs +++ b/burn-autodiff/src/tests/slice.rs @@ -5,11 +5,9 @@ mod tests { #[test] fn should_diff_matmul_with_slice() { - let data_1: Data = Data::from([[1.0, 7.0], [2.0, 3.0]]); - let data_2: Data = Data::from([[4.0, 7.0, 100.0], [2.0, 3.0, 15.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [2.0, 3.0]]).require_grad(); + let tensor_2 = + TestAutodiffTensor::from([[4.0, 7.0, 100.0], [2.0, 3.0, 15.0]]).require_grad(); let tensor_3 = tensor_2.clone().slice([0..2, 0..2]); let tensor_4 = tensor_1.clone().matmul(tensor_3); @@ -27,13 +25,9 @@ mod tests { #[test] fn should_diff_matmul_with_slice_assign() { - let data_1: Data = Data::from([[1.0, 7.0], [2.0, 3.0]]); - let data_2: Data = Data::from([[4.0, 7.0], [2.0, 3.0]]); - let data_assigned: Data = Data::from([[9.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); - let tensor_assigned = TestAutodiffTensor::from_data_devauto(data_assigned).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [2.0, 3.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[4.0, 7.0], [2.0, 3.0]]).require_grad(); + let tensor_assigned = TestAutodiffTensor::from([[9.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone()); let tensor_4 = tensor_3.slice_assign([0..1, 0..1], tensor_assigned); @@ -50,13 +44,9 @@ mod tests { #[test] fn should_diff_matmul_with_slice_assign_complex() { - let data_1: Data = Data::from([[1.0, 7.0], [2.0, 3.0]]); - let data_2: Data = Data::from([[4.0, 7.0], [2.0, 3.0]]); - let data_3: Data = Data::from([[9.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); - let tensor_3 = TestAutodiffTensor::from_data_devauto(data_3).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [2.0, 3.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[4.0, 7.0], [2.0, 3.0]]).require_grad(); + let tensor_3 = TestAutodiffTensor::from([[9.0]]).require_grad(); let tensor_4 = tensor_1.clone().matmul(tensor_2.clone()); let tensor_5 = tensor_2.clone().slice([0..1, 0..1]); diff --git a/burn-autodiff/src/tests/softmax.rs b/burn-autodiff/src/tests/softmax.rs index 8e600eb6d..dece39485 100644 --- a/burn-autodiff/src/tests/softmax.rs +++ b/burn-autodiff/src/tests/softmax.rs @@ -5,10 +5,10 @@ mod tests { #[test] fn test_softmax_grad() { - let data_1 = Data::from([[0.0, 1.0], [3.0, 4.0]]); - let data_2 = Data::from([[6.0, 7.0], [9.0, 10.0]]); - let tensor_1 = Tensor::::from_data_devauto(data_1).require_grad(); - let tensor_2 = Tensor::::from_data_devauto(data_2).require_grad(); + let tensor_1 = + Tensor::::from([[0.0, 1.0], [3.0, 4.0]]).require_grad(); + let tensor_2 = + Tensor::::from([[6.0, 7.0], [9.0, 10.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone()); let tensor_4 = activation::softmax(tensor_3, 1).matmul(tensor_2.clone()); @@ -27,10 +27,10 @@ mod tests { #[test] fn test_log_softmax_grad() { - let data_1 = Data::from([[0.0, 1.0], [3.0, 4.0]]); - let data_2 = Data::from([[6.0, 7.0], [9.0, 10.0]]); - let tensor_1 = Tensor::::from_data_devauto(data_1).require_grad(); - let tensor_2 = Tensor::::from_data_devauto(data_2).require_grad(); + let tensor_1 = + Tensor::::from([[0.0, 1.0], [3.0, 4.0]]).require_grad(); + let tensor_2 = + Tensor::::from([[6.0, 7.0], [9.0, 10.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone()); let tensor_4 = activation::log_softmax(tensor_3, 1).matmul(tensor_2.clone()); @@ -49,11 +49,10 @@ mod tests { #[test] fn test_quiet_softmax_grad() { - let data_1 = Data::from([[0.0, 1.0], [3.0, 4.0]]); - let data_2 = Data::from([[6.0, 7.0], [9.0, 10.0]]); - - let tensor_1 = Tensor::::from_data_devauto(data_1).require_grad(); - let tensor_2 = Tensor::::from_data_devauto(data_2).require_grad(); + let tensor_1 = + Tensor::::from([[0.0, 1.0], [3.0, 4.0]]).require_grad(); + let tensor_2 = + Tensor::::from([[6.0, 7.0], [9.0, 10.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone()); let tensor_4 = activation::softmax(tensor_3, 1).matmul(tensor_2.clone()); diff --git a/burn-autodiff/src/tests/sqrt.rs b/burn-autodiff/src/tests/sqrt.rs index b2812b331..791e23c2f 100644 --- a/burn-autodiff/src/tests/sqrt.rs +++ b/burn-autodiff/src/tests/sqrt.rs @@ -5,11 +5,8 @@ mod tests { #[test] fn should_diff_sqrt() { - let data_1 = Data::::from([[0.0, 1.0], [3.0, 4.0]]); - let data_2 = Data::::from([[6.0, 7.0], [9.0, 10.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[0.0, 1.0], [3.0, 4.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[6.0, 7.0], [9.0, 10.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone().sqrt()); let tensor_4 = tensor_3.matmul(tensor_2.clone()); diff --git a/burn-autodiff/src/tests/sub.rs b/burn-autodiff/src/tests/sub.rs index 3b30d34c6..ead2cbcd3 100644 --- a/burn-autodiff/src/tests/sub.rs +++ b/burn-autodiff/src/tests/sub.rs @@ -5,11 +5,8 @@ mod tests { #[test] fn should_diff_sub() { - let data_1 = Data::from([2.0, 5.0]); - let data_2 = Data::from([4.0, 1.0]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); + let tensor_1 = TestAutodiffTensor::from([2.0, 5.0]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([4.0, 1.0]).require_grad(); let tensor_3 = tensor_1.clone().sub(tensor_2.clone()); let grads = tensor_3.backward(); @@ -24,8 +21,7 @@ mod tests { #[test] fn should_diff_sub_scalar() { - let data = Data::from([2.0, 10.0]); - let tensor = TestAutodiffTensor::from_data_devauto(data).require_grad(); + let tensor = TestAutodiffTensor::from([2.0, 10.0]).require_grad(); let tensor_out = tensor.clone().sub_scalar(5.0); let grads = tensor_out.backward(); @@ -37,13 +33,9 @@ mod tests { #[test] fn test_sub_complex_1() { - let data_1: Data = Data::from([[1.0, 7.0], [13.0, -3.0]]); - let data_2: Data = Data::from([[4.0, 7.0], [2.0, 3.0]]); - let data_3: Data = Data::from([[2.0, 2.0], [2.0, 2.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); - let tensor_3 = TestAutodiffTensor::from_data_devauto(data_3).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [13.0, -3.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[4.0, 7.0], [2.0, 3.0]]).require_grad(); + let tensor_3 = TestAutodiffTensor::from([[2.0, 2.0], [2.0, 2.0]]).require_grad(); let tensor_4 = tensor_1.clone().sub(tensor_2.clone()); let tensor_5 = tensor_4.sub(tensor_3).sub_scalar(5.0); diff --git a/burn-autodiff/src/tests/tanh.rs b/burn-autodiff/src/tests/tanh.rs index cb60055ab..8ae4faa8c 100644 --- a/burn-autodiff/src/tests/tanh.rs +++ b/burn-autodiff/src/tests/tanh.rs @@ -5,11 +5,8 @@ mod tests { #[test] fn should_diff_tanh() { - let data_1 = Data::::from([[0.0, 1.0], [3.0, 4.0]]); - let data_2 = Data::::from([[6.0, 7.0], [9.0, 10.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[0.0, 1.0], [3.0, 4.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[6.0, 7.0], [9.0, 10.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone().tanh()); let tensor_4 = tensor_3.matmul(tensor_2.clone()); diff --git a/burn-autodiff/src/tests/transpose.rs b/burn-autodiff/src/tests/transpose.rs index 6b674b7f9..1509ae367 100644 --- a/burn-autodiff/src/tests/transpose.rs +++ b/burn-autodiff/src/tests/transpose.rs @@ -5,11 +5,8 @@ mod tests { #[test] fn should_diff_transpose() { - let data_1 = Data::::from([[1.0, 7.0], [2.0, 3.0]]); - let data_2 = Data::::from([[4.0, 7.0], [2.0, 3.0]]); - - let tensor_1 = TestAutodiffTensor::from_data_devauto(data_1).require_grad(); - let tensor_2 = TestAutodiffTensor::from_data_devauto(data_2).require_grad(); + let tensor_1 = TestAutodiffTensor::from([[1.0, 7.0], [2.0, 3.0]]).require_grad(); + let tensor_2 = TestAutodiffTensor::from([[4.0, 7.0], [2.0, 3.0]]).require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone().transpose()); let tensor_4 = tensor_3.transpose(); @@ -24,16 +21,12 @@ mod tests { #[test] fn should_diff_swap_dims() { - let tensor_1 = TestAutodiffTensor::from_floats_devauto([ - [[0.0, 1.0], [3.0, 4.0]], - [[6.0, 7.0], [9.0, 10.0]], - ]) - .require_grad(); - let tensor_2 = TestAutodiffTensor::from_floats_devauto([ - [[1.0, 4.0], [2.0, 5.0]], - [[7.0, 10.0], [8.0, 11.0]], - ]) - .require_grad(); + let tensor_1 = + TestAutodiffTensor::from([[[0.0, 1.0], [3.0, 4.0]], [[6.0, 7.0], [9.0, 10.0]]]) + .require_grad(); + let tensor_2 = + TestAutodiffTensor::from([[[1.0, 4.0], [2.0, 5.0]], [[7.0, 10.0], [8.0, 11.0]]]) + .require_grad(); let tensor_3 = tensor_1.clone().matmul(tensor_2.clone().swap_dims(0, 2)); let tensor_4 = tensor_3.matmul(tensor_2.clone().swap_dims(1, 2)); diff --git a/burn-book/src/basic-workflow/data.md b/burn-book/src/basic-workflow/data.md index 31fabe60a..6b3c0741f 100644 --- a/burn-book/src/basic-workflow/data.md +++ b/burn-book/src/basic-workflow/data.md @@ -47,7 +47,7 @@ impl Batcher> for MNISTBatcher { let images = items .iter() .map(|item| Data::::from(item.image)) - .map(|data| Tensor::::from_data_devauto(data.convert())) + .map(|data| Tensor::::from(data.convert())) .map(|tensor| tensor.reshape([1, 28, 28])) // Normalize: make between [0,1] and make the mean=0 and std=1 // values mean=0.1307,std=0.3081 are from the PyTorch MNIST example @@ -57,7 +57,7 @@ impl Batcher> for MNISTBatcher { let targets = items .iter() - .map(|item| Tensor::::from_data_devauto(Data::from([(item.label as i64).elem()]))) + .map(|item| Tensor::::from([(item.label as i64).elem()])) .collect(); let images = Tensor::cat(images, 0).to_device(&self.device); diff --git a/burn-book/src/building-blocks/tensor.md b/burn-book/src/building-blocks/tensor.md index 3874c0ea1..9e566e529 100644 --- a/burn-book/src/building-blocks/tensor.md +++ b/burn-book/src/building-blocks/tensor.md @@ -36,33 +36,32 @@ for the sake of simplicity, we ignore type signatures. For more details, refer t Those operations are available for all tensor kinds: `Int`, `Float`, and `Bool`. -| Burn | PyTorch Equivalent | -| ---------------------------------------- | ------------------------------------ | -| `Tensor::empty_devauto(shape)` | `torch.empty(shape)` | -| `Tensor::empty(shape, device)` | `torch.empty(shape, device=device)` | -| `tensor.dims()` | `tensor.size()` | -| `tensor.shape()` | `tensor.shape` | -| `tensor.reshape(shape)` | `tensor.view(shape)` | -| `tensor.flatten(start_dim, end_dim)` | `tensor.flatten(start_dim, end_dim)` | -| `tensor.squeeze(dim)` | `tensor.squeeze(dim)` | -| `tensor.unsqueeze()` | `tensor.unsqueeze(0)` | -| `tensor.unsqueeze_dim(dim)` | `tensor.unsqueeze(dim)` | -| `tensor.slice(ranges)` | `tensor[(*ranges,)]` | -| `tensor.slice_assign(ranges, values)` | `tensor[(*ranges,)] = values` | -| `tensor.narrow(dim, start, length)` | `tensor.narrow(dim, start, length)` | -| `tensor.chunk(num_chunks, dim)` | `tensor.chunk(num_chunks, dim)` | -| `tensor.device()` | `tensor.device` | -| `tensor.to_device(device)` | `tensor.to(device)` | -| `tensor.repeat(2, 4)` | `tensor.repeat([1, 1, 4])` | -| `tensor.equal(other)` | `x == y` | -| `Tensor::cat(tensors, dim)` | `torch.cat(tensors, dim)` | -| `tensor.into_data()` | N/A | -| `tensor.to_data()` | N/A | -| `Tensor::from_data_devauto(data)` | N/A | -| `Tensor::from_data(data, device)` | N/A | -| `tensor.into_primitive()` | N/A | -| `Tensor::from_primitive(primitive)` | N/A | -| `Tensor::stack(tensors, dim)` | torch.stack(tensors, dim)` | +| Burn | PyTorch Equivalent | +| ------------------------------------- | ------------------------------------ | +| `Tensor::empty_devauto(shape)` | `torch.empty(shape)` | +| `Tensor::empty(shape, device)` | `torch.empty(shape, device=device)` | +| `tensor.dims()` | `tensor.size()` | +| `tensor.shape()` | `tensor.shape` | +| `tensor.reshape(shape)` | `tensor.view(shape)` | +| `tensor.flatten(start_dim, end_dim)` | `tensor.flatten(start_dim, end_dim)` | +| `tensor.squeeze(dim)` | `tensor.squeeze(dim)` | +| `tensor.unsqueeze()` | `tensor.unsqueeze(0)` | +| `tensor.unsqueeze_dim(dim)` | `tensor.unsqueeze(dim)` | +| `tensor.slice(ranges)` | `tensor[(*ranges,)]` | +| `tensor.slice_assign(ranges, values)` | `tensor[(*ranges,)] = values` | +| `tensor.narrow(dim, start, length)` | `tensor.narrow(dim, start, length)` | +| `tensor.chunk(num_chunks, dim)` | `tensor.chunk(num_chunks, dim)` | +| `tensor.device()` | `tensor.device` | +| `tensor.to_device(device)` | `tensor.to(device)` | +| `tensor.repeat(2, 4)` | `tensor.repeat([1, 1, 4])` | +| `tensor.equal(other)` | `x == y` | +| `Tensor::cat(tensors, dim)` | `torch.cat(tensors, dim)` | +| `tensor.into_data()` | N/A | +| `tensor.to_data()` | N/A | +| `Tensor::from_data(data, device)` | N/A | +| `tensor.into_primitive()` | N/A | +| `Tensor::from_primitive(primitive)` | N/A | +| `Tensor::stack(tensors, dim)` | torch.stack(tensors, dim)` | ### Numeric Operations @@ -124,49 +123,48 @@ Those operations are available for numeric tensor kinds: `Float` and `Int`. Those operations are only available for `Float` tensors. -| Burn API | PyTorch Equivalent | -| --------------------------------------------------- | ---------------------------------- | -| `tensor.exp()` | `tensor.exp()` | -| `tensor.log()` | `tensor.log()` | -| `tensor.log1p()` | `tensor.log1p()` | -| `tensor.erf()` | `tensor.erf()` | -| `tensor.powf(value)` | `tensor.pow(value)` | -| `tensor.sqrt()` | `tensor.sqrt()` | -| `tensor.recip()` | `tensor.reciprocal()` | -| `tensor.cos()` | `tensor.cos()` | -| `tensor.sin()` | `tensor.sin()` | -| `tensor.tanh()` | `tensor.tanh()` | -| `tensor.from_floats_devauto(floats)` | N/A | -| `tensor.from_floats(floats, device)` | N/A | -| `tensor.int()` | Similar to `tensor.to(torch.long)` | -| `tensor.zeros_like()` | `torch.zeros_like(tensor)` | -| `tensor.ones_like()` | `torch.ones_like(tensor)` | -| `tensor.random_like(distribution)` | `torch.rand_like()` only uniform | -| `tensor.one_hot(index, num_classes)` | N/A | -| `tensor.transpose()` | `tensor.T` | -| `tensor.swap_dims(dim1, dim2)` | `tensor.transpose(dim1, dim2)` | -| `tensor.matmul(other)` | `tensor.matmul(other)` | -| `tensor.var(dim)` | `tensor.var(dim)` | -| `tensor.var_bias(dim)` | N/A | -| `tensor.var_mean(dim)` | N/A | -| `tensor.var_mean_bias(dim)` | N/A | -| `tensor.random_devauto(shape, distribution)` | N/A | -| `tensor.random(shape, distribution, device)` | N/A | -| `tensor.to_full_precision()` | `tensor.to(torch.float)` | -| `tensor.from_full_precision(tensor)` | N/A | +| Burn API | PyTorch Equivalent | +| -------------------------------------------- | ---------------------------------- | +| `tensor.exp()` | `tensor.exp()` | +| `tensor.log()` | `tensor.log()` | +| `tensor.log1p()` | `tensor.log1p()` | +| `tensor.erf()` | `tensor.erf()` | +| `tensor.powf(value)` | `tensor.pow(value)` | +| `tensor.sqrt()` | `tensor.sqrt()` | +| `tensor.recip()` | `tensor.reciprocal()` | +| `tensor.cos()` | `tensor.cos()` | +| `tensor.sin()` | `tensor.sin()` | +| `tensor.tanh()` | `tensor.tanh()` | +| `tensor.from_floats(floats, device)` | N/A | +| `tensor.int()` | Similar to `tensor.to(torch.long)` | +| `tensor.zeros_like()` | `torch.zeros_like(tensor)` | +| `tensor.ones_like()` | `torch.ones_like(tensor)` | +| `tensor.random_like(distribution)` | `torch.rand_like()` only uniform | +| `tensor.one_hot(index, num_classes)` | N/A | +| `tensor.transpose()` | `tensor.T` | +| `tensor.swap_dims(dim1, dim2)` | `tensor.transpose(dim1, dim2)` | +| `tensor.matmul(other)` | `tensor.matmul(other)` | +| `tensor.var(dim)` | `tensor.var(dim)` | +| `tensor.var_bias(dim)` | N/A | +| `tensor.var_mean(dim)` | N/A | +| `tensor.var_mean_bias(dim)` | N/A | +| `tensor.random_devauto(shape, distribution)` | N/A | +| `tensor.random(shape, distribution, device)` | N/A | +| `tensor.to_full_precision()` | `tensor.to(torch.float)` | +| `tensor.from_full_precision(tensor)` | N/A | # Int Operations Those operations are only available for `Int` tensors. -| Burn API | PyTorch Equivalent | -| --------------------------------------------- | ------------------------------------------------------- | -| `tensor.from_ints(ints)` | N/A | -| `tensor.float()` | Similar to `tensor.to(torch.float)` | -| `tensor.arange_devauto(5..10)` | `tensor.arange(start=5, end=10)` | -| `tensor.arange(5..10, device) ` | `tensor.arange(start=5, end=10, device=device)` | -| `tensor.arange_step_devauto(5..10, 2)` | `tensor.arange(start=5, end=10, step=2)` | -| `tensor.arange_step(5..10, 2, device)` | `tensor.arange(start=5, end=10, step=2, device=device)` | +| Burn API | PyTorch Equivalent | +| -------------------------------------- | ------------------------------------------------------- | +| `tensor.from_ints(ints)` | N/A | +| `tensor.float()` | Similar to `tensor.to(torch.float)` | +| `tensor.arange_devauto(5..10)` | `tensor.arange(start=5, end=10)` | +| `tensor.arange(5..10, device) ` | `tensor.arange(start=5, end=10, device=device)` | +| `tensor.arange_step_devauto(5..10, 2)` | `tensor.arange(start=5, end=10, step=2)` | +| `tensor.arange_step(5..10, 2, device)` | `tensor.arange(start=5, end=10, step=2, device=device)` | # Bool Operations @@ -180,16 +178,16 @@ Those operations are only available for `Bool` tensors. ## Activation Functions -| Burn API | PyTorch Equivalent | -| ------------------------------------------ | ----------------------------------------------------- | -| `activation::gelu(tensor)` | Similar to `nn.functional.gelu(tensor)` | -| `activation::log_sigmoid(tensor)` | Similar to `nn.functional.log_sigmoid(tensor)` | -| `activation::log_softmax(tensor, dim)` | Similar to `nn.functional.log_softmax(tensor, dim)` | -| `activation::mish(tensor)` | Similar to `nn.functional.mish(tensor)` | -| `activation::quiet_softmax(tensor, dim)` | Similar to `nn.functional.quiet_softmax(tensor, dim)` | -| `activation::relu(tensor)` | Similar to `nn.functional.relu(tensor)` | -| `activation::sigmoid(tensor)` | Similar to `nn.functional.sigmoid(tensor)` | -| `activation::silu(tensor)` | Similar to `nn.functional.silu(tensor)` | -| `activation::softmax(tensor, dim)` | Similar to `nn.functional.softmax(tensor, dim)` | -| `activation::softplus(tensor, beta)` | Similar to `nn.functional.softplus(tensor, beta)` | -| `activation::tanh(tensor)` | Similar to `nn.functional.tanh(tensor)` | \ No newline at end of file +| Burn API | PyTorch Equivalent | +| ---------------------------------------- | ----------------------------------------------------- | +| `activation::gelu(tensor)` | Similar to `nn.functional.gelu(tensor)` | +| `activation::log_sigmoid(tensor)` | Similar to `nn.functional.log_sigmoid(tensor)` | +| `activation::log_softmax(tensor, dim)` | Similar to `nn.functional.log_softmax(tensor, dim)` | +| `activation::mish(tensor)` | Similar to `nn.functional.mish(tensor)` | +| `activation::quiet_softmax(tensor, dim)` | Similar to `nn.functional.quiet_softmax(tensor, dim)` | +| `activation::relu(tensor)` | Similar to `nn.functional.relu(tensor)` | +| `activation::sigmoid(tensor)` | Similar to `nn.functional.sigmoid(tensor)` | +| `activation::silu(tensor)` | Similar to `nn.functional.silu(tensor)` | +| `activation::softmax(tensor, dim)` | Similar to `nn.functional.softmax(tensor, dim)` | +| `activation::softplus(tensor, beta)` | Similar to `nn.functional.softplus(tensor, beta)` | +| `activation::tanh(tensor)` | Similar to `nn.functional.tanh(tensor)` | diff --git a/burn-book/src/getting-started.md b/burn-book/src/getting-started.md index 36928b4f7..3c3a6b597 100644 --- a/burn-book/src/getting-started.md +++ b/burn-book/src/getting-started.md @@ -54,7 +54,7 @@ type Backend = Wgpu; fn main() { // Creation of two tensors, the first with explicit values and the second one with ones, with the same shape as the first - let tensor_1 = Tensor::::from_data_devauto([[2., 3.], [4., 5.]]); + let tensor_1 = Tensor::::from([[2., 3.], [4., 5.]]); let tensor_2 = Tensor::::ones_like(&tensor_1); // Print the element-wise addition (done with the WGPU backend) of the two tensors. @@ -88,7 +88,6 @@ datasets. Therefore, in order to run examples, you will need to install Python. instructions on the [official website](https://www.python.org/downloads/) to install Python on your computer. -Many Burn examples are available in the [examples](https://github.com/tracel-ai/burn/tree/main/examples) -directory. -To run one, please refer to the example's README.md for the specific command to -execute. +Many Burn examples are available in the +[examples](https://github.com/tracel-ai/burn/tree/main/examples) directory. To run one, please refer +to the example's README.md for the specific command to execute. diff --git a/burn-core/src/grad_clipping/base.rs b/burn-core/src/grad_clipping/base.rs index 02933dee3..081529ec0 100644 --- a/burn-core/src/grad_clipping/base.rs +++ b/burn-core/src/grad_clipping/base.rs @@ -113,7 +113,7 @@ mod tests { #[test] fn test_clip_by_value() { - let gradient: Tensor = Tensor::from_floats_devauto([ + let gradient: Tensor = Tensor::from([ [0.6294, 0.0940, 0.8176, 0.8824, 0.5228, 0.4310], [0.7152, 0.9559, 0.7893, 0.5684, 0.5939, 0.8883], ]); @@ -128,7 +128,7 @@ mod tests { #[test] fn test_clip_by_norm() { - let gradient: Tensor = Tensor::from_floats_devauto([ + let gradient: Tensor = Tensor::from([ [0.6294, 0.0940, 0.8176, 0.8824, 0.5228, 0.4310], [0.7152, 0.9559, 0.7893, 0.5684, 0.5939, 0.8883], ]); diff --git a/burn-core/src/nn/attention/mask.rs b/burn-core/src/nn/attention/mask.rs index 473407569..fc42a794a 100644 --- a/burn-core/src/nn/attention/mask.rs +++ b/burn-core/src/nn/attention/mask.rs @@ -70,7 +70,7 @@ pub fn generate_padding_mask( tensor = tensor.slice_assign( [index..index + 1, 0..tokens.len()], - Tensor::from_data_devauto(Data::new( + Tensor::from(Data::new( tokens.into_iter().map(|e| (e as i64).elem()).collect(), Shape::new([1, seq_length]), )), diff --git a/burn-core/src/nn/loss/binary_cross_entropy.rs b/burn-core/src/nn/loss/binary_cross_entropy.rs index e4e79f419..25cfdcc8a 100644 --- a/burn-core/src/nn/loss/binary_cross_entropy.rs +++ b/burn-core/src/nn/loss/binary_cross_entropy.rs @@ -2,6 +2,7 @@ use crate as burn; use crate::{config::Config, module::Module}; use burn_tensor::activation::sigmoid; +use burn_tensor::Data; use burn_tensor::{backend::Backend, Int, Tensor}; /// Configuration to create a [Binary Cross-entropy loss](BinaryCrossEntropyLoss). @@ -36,7 +37,7 @@ impl BinaryCrossEntropyLossConfig { weights: self .weights .as_ref() - .map(|e| Tensor::::from_floats_devauto(e.as_slice())), + .map(|e| Tensor::::from(Data::from(e.as_slice()).convert())), smoothing: self.smoothing, logits: self.logits, } @@ -124,7 +125,7 @@ mod tests { let [batch_size] = [4]; let logits = Tensor::::random_devauto([batch_size], Distribution::Normal(0., 1.0)); - let targets = Tensor::::from_data_devauto(Data::from([0, 1, 0, 1])); + let targets = Tensor::::from([0, 1, 0, 1]); let loss_1 = BinaryCrossEntropyLossConfig::new() .init() @@ -141,7 +142,7 @@ mod tests { let [batch_size] = [4]; let logits = Tensor::::random_devauto([batch_size], Distribution::Normal(0., 1.0)); - let targets = Tensor::::from_data_devauto(Data::from([0, 1, 0, 1])); + let targets = Tensor::::from([0, 1, 0, 1]); let weights = [3., 7.]; let loss_1 = BinaryCrossEntropyLossConfig::new() @@ -152,7 +153,7 @@ mod tests { let loss_2 = targets.clone().float() * logits.clone().log() + (-targets.float() + 1) * (-logits + 1).log(); - let loss_2 = loss_2 * Tensor::from_floats_devauto([3., 7., 3., 7.]); + let loss_2 = loss_2 * Tensor::from([3., 7., 3., 7.]); let loss_2 = loss_2.neg().sum() / (3. + 3. + 7. + 7.); loss_1.into_data().assert_approx_eq(&loss_2.into_data(), 3); } @@ -162,7 +163,7 @@ mod tests { let [batch_size] = [4]; let logits = Tensor::::random_devauto([batch_size], Distribution::Normal(0., 1.0)); - let targets = Tensor::::from_data_devauto(Data::from([0, 1, 0, 1])); + let targets = Tensor::::from([0, 1, 0, 1]); let loss_1 = BinaryCrossEntropyLossConfig::new() .with_smoothing(Some(0.1)) diff --git a/burn-core/src/nn/loss/cross_entropy.rs b/burn-core/src/nn/loss/cross_entropy.rs index 2dce886c2..958cca3b4 100644 --- a/burn-core/src/nn/loss/cross_entropy.rs +++ b/burn-core/src/nn/loss/cross_entropy.rs @@ -4,6 +4,7 @@ use crate::{config::Config, module::Module}; use alloc::vec; use alloc::vec::Vec; use burn_tensor::activation::log_softmax; +use burn_tensor::Data; use burn_tensor::{backend::Backend, Bool, Int, Tensor}; /// Configuration to create a [Cross-entropy loss](CrossEntropyLoss). @@ -44,7 +45,7 @@ impl CrossEntropyLossConfig { weights: self .weights .as_ref() - .map(|e| Tensor::::from_floats_devauto(e.as_slice())), + .map(|e| Tensor::::from(Data::from(e.as_slice()).convert())), smoothing: self.smoothing, logits: self.logits, } @@ -230,14 +231,13 @@ mod tests { [batch_size, num_targets], Distribution::Normal(0., 1.0), ); - let targets = - Tensor::::from_data_devauto(Data::from([2, 0, 4, 1])); - let targets_logits = Tensor::::from_data_devauto(Data::from([ + let targets = Tensor::::from([2, 0, 4, 1]); + let targets_logits = Tensor::::from([ [0.0, 0.0, 1.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 1.0, 0.0, 0.0, 0.0], - ])); + ]); (logits, targets, targets_logits) }}; } @@ -249,15 +249,15 @@ mod tests { [batch_size, num_targets], Distribution::Normal(0., 1.0), ); - let targets = Tensor::::from_data_devauto( + let targets = Tensor::::from( Data::::from([2, 0, 4, pad_index as i64]).convert(), ); - let targets_logits = Tensor::::from_data_devauto(Data::from([ + let targets_logits = Tensor::::from([ [0.0, 0.0, 0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 0.0, 0.0], - ])); + ]); (logits, targets, targets_logits) }}; } @@ -273,7 +273,7 @@ mod tests { let tensor = log_softmax(logits, 1); let loss_2 = tensor * targets_logits - * Tensor::::from_floats_devauto(weights.as_slice()) + * Tensor::::from(weights.as_slice()) .unsqueeze() .repeat(0, 4); let loss_2 = loss_2.sum().neg() / (1. + 2. + 3. + 5.); @@ -358,12 +358,12 @@ mod tests { let (logits, targets, _) = setup!(); let smoothed_targets = CrossEntropyLoss::compute_smoothed_targets(logits.dims(), targets, 0.05); - let targets_logits = Tensor::::from_data_devauto(Data::from([ + let targets_logits = Tensor::::from([ [0.01, 0.01, 0.96, 0.01, 0.01], [0.96, 0.01, 0.01, 0.01, 0.01], [0.01, 0.01, 0.01, 0.01, 0.96], [0.01, 0.96, 0.01, 0.01, 0.01], - ])); + ]); smoothed_targets .into_data() .assert_approx_eq(&targets_logits.into_data(), 3); @@ -376,12 +376,12 @@ mod tests { .with_smoothing(Some(0.05)) .init() .forward(logits.clone(), targets); - let targets_logits = Tensor::::from_data_devauto(Data::from([ + let targets_logits = Tensor::::from([ [0.01, 0.01, 0.96, 0.01, 0.01], [0.96, 0.01, 0.01, 0.01, 0.01], [0.01, 0.01, 0.01, 0.01, 0.96], [0.01, 0.96, 0.01, 0.01, 0.01], - ])); + ]); let x = log_softmax(logits, 1); let loss_2 = (x * targets_logits).sum_dim(1).mean().neg(); diff --git a/burn-core/src/nn/loss/mse.rs b/burn-core/src/nn/loss/mse.rs index 7c76ae1cc..9cab5c416 100644 --- a/burn-core/src/nn/loss/mse.rs +++ b/burn-core/src/nn/loss/mse.rs @@ -60,11 +60,9 @@ mod tests { #[test] fn test_mse_loss() { - let logits = - Tensor::::from_data_devauto(Data::from([[1.0, 2.0], [3.0, 4.0]])); + let logits = Tensor::::from([[1.0, 2.0], [3.0, 4.0]]); - let targets = - Tensor::::from_data_devauto(Data::from([[2.0, 1.0], [3.0, 2.0]])); + let targets = Tensor::::from([[2.0, 1.0], [3.0, 2.0]]); let mse = MSELoss::new(); let loss_no_reduction = mse.forward_no_reduction(logits.clone(), targets.clone()); diff --git a/burn-core/src/nn/norm/group.rs b/burn-core/src/nn/norm/group.rs index 7c768bbbe..00814d7bf 100644 --- a/burn-core/src/nn/norm/group.rs +++ b/burn-core/src/nn/norm/group.rs @@ -142,7 +142,7 @@ mod tests { assert!(module.gamma.is_none()); assert!(module.beta.is_none()); - let input = Tensor::from_data_devauto(Data::from([ + let input = Tensor::from([ [ [-0.3034, 0.2726, -0.9659], [-1.1845, -1.3236, 0.0172], @@ -159,7 +159,7 @@ mod tests { [-0.9535, 0.1281, 0.4372], [-0.2845, 0.3488, 0.5641], ], - ])); + ]); let output = module.forward(input); @@ -208,7 +208,7 @@ mod tests { .to_data() .assert_approx_eq(&Data::zeros([6]), 3); - let input = Tensor::from_data_devauto(Data::from([ + let input = Tensor::from(Data::from([ [ [0.3345, 0.4429, 0.6639], [0.5041, 0.4175, 0.8437], diff --git a/burn-core/src/nn/pos_encoding.rs b/burn-core/src/nn/pos_encoding.rs index 2fe263fc0..8f2bc8bbe 100644 --- a/burn-core/src/nn/pos_encoding.rs +++ b/burn-core/src/nn/pos_encoding.rs @@ -145,7 +145,7 @@ pub fn generate_sinusoids( [length, d_model].into(), ); - Tensor::::from_data_devauto(data.convert()) + Tensor::::from(data.convert()) } #[cfg(test)] @@ -171,7 +171,7 @@ mod tests { assert_eq!(output.shape().dims, [batch_size, length, d_model]); - let expected = Tensor::::from_floats_devauto([ + let expected = Tensor::::from([ [ [0.00000, 1.00000, 0.00000, 1.00000, 0.00000, 1.00000], [0.84147, 0.54030, 0.04640, 0.99892, 0.00215, 1.00000], @@ -192,7 +192,7 @@ mod tests { let sinusoids = generate_sinusoids::(12, 6, 10_000); // The values are taken from the pytorch reference implementation - let expected = Tensor::::from_floats_devauto([ + let expected = Tensor::::from([ [0.00000, 1.00000, 0.00000, 1.00000, 0.00000, 1.00000], [0.84147, 0.54030, 0.04640, 0.99892, 0.00215, 1.00000], [0.90930, -0.41615, 0.09270, 0.99569, 0.00431, 0.99999], diff --git a/burn-core/src/optim/adagrad.rs b/burn-core/src/optim/adagrad.rs index f9e4d9afe..b06a90323 100644 --- a/burn-core/src/optim/adagrad.rs +++ b/burn-core/src/optim/adagrad.rs @@ -199,12 +199,12 @@ mod tests { ]), Data::from([-0.3905, 0.0884, -0.0970, 0.1176, 0.1366, 0.0130]), ); - let x_1 = Tensor::from_floats_devauto([ + let x_1 = Tensor::from([ [0.6294, 0.0940, 0.8176, 0.8824, 0.5228, 0.4310], [0.7152, 0.9559, 0.7893, 0.5684, 0.5939, 0.8883], ]) .require_grad(); - let x_2 = Tensor::from_floats_devauto([ + let x_2 = Tensor::from([ [0.8491, 0.2108, 0.8939, 0.4433, 0.5527, 0.2528], [0.3270, 0.0412, 0.5538, 0.9605, 0.3195, 0.9085], ]) @@ -258,8 +258,8 @@ mod tests { bias: Data, ) -> nn::Linear { let record = nn::LinearRecord { - weight: Param::from(Tensor::from_data_devauto(weight)), - bias: Some(Param::from(Tensor::from_data_devauto(bias))), + weight: Param::from(Tensor::from(weight)), + bias: Some(Param::from(Tensor::from(bias))), }; nn::LinearConfig::new(6, 6).init_with(record) diff --git a/burn-core/src/optim/adam.rs b/burn-core/src/optim/adam.rs index 120658d46..189ecec43 100644 --- a/burn-core/src/optim/adam.rs +++ b/burn-core/src/optim/adam.rs @@ -232,12 +232,12 @@ mod tests { ]), Data::from([-0.3905, 0.0884, -0.0970, 0.1176, 0.1366, 0.0130]), ); - let x_1 = Tensor::from_floats_devauto([ + let x_1 = Tensor::from([ [0.6294, 0.0940, 0.8176, 0.8824, 0.5228, 0.4310], [0.7152, 0.9559, 0.7893, 0.5684, 0.5939, 0.8883], ]) .require_grad(); - let x_2 = Tensor::from_floats_devauto([ + let x_2 = Tensor::from([ [0.8491, 0.2108, 0.8939, 0.4433, 0.5527, 0.2528], [0.3270, 0.0412, 0.5538, 0.9605, 0.3195, 0.9085], ]) @@ -302,7 +302,7 @@ mod tests { Data::from([-0.3905, 0.0884, -0.0970, 0.1176, 0.1366, 0.0130]), ); - let x = Tensor::from_floats_devauto([ + let x = Tensor::from([ [0.8491, 0.2108, 0.8939, 0.4433, 0.5527, 0.2528], [0.3270, 0.0412, 0.5538, 0.9605, 0.3195, 0.9085], ]) @@ -332,8 +332,8 @@ mod tests { bias: Data, ) -> nn::Linear { let record = nn::LinearRecord { - weight: Param::from(Tensor::from_data_devauto(weight)), - bias: Some(Param::from(Tensor::from_data_devauto(bias))), + weight: Param::from(Tensor::from(weight)), + bias: Some(Param::from(Tensor::from(bias))), }; nn::LinearConfig::new(6, 6).init_with(record) diff --git a/burn-core/src/optim/adamw.rs b/burn-core/src/optim/adamw.rs index 0a02ab165..5255fb925 100644 --- a/burn-core/src/optim/adamw.rs +++ b/burn-core/src/optim/adamw.rs @@ -244,12 +244,12 @@ mod tests { ]), Data::from([-0.3905, 0.0884, -0.0970, 0.1176, 0.1366, 0.0130]), ); - let x_1 = Tensor::from_floats_devauto([ + let x_1 = Tensor::from([ [0.6294, 0.0940, 0.8176, 0.8824, 0.5228, 0.4310], [0.7152, 0.9559, 0.7893, 0.5684, 0.5939, 0.8883], ]) .require_grad(); - let x_2 = Tensor::from_floats_devauto([ + let x_2 = Tensor::from([ [0.8491, 0.2108, 0.8939, 0.4433, 0.5527, 0.2528], [0.3270, 0.0412, 0.5538, 0.9605, 0.3195, 0.9085], ]) @@ -314,7 +314,7 @@ mod tests { Data::from([-0.3905, 0.0884, -0.0970, 0.1176, 0.1366, 0.0130]), ); - let x = Tensor::from_floats_devauto([ + let x = Tensor::from([ [0.8491, 0.2108, 0.8939, 0.4433, 0.5527, 0.2528], [0.3270, 0.0412, 0.5538, 0.9605, 0.3195, 0.9085], ]) @@ -344,8 +344,8 @@ mod tests { bias: Data, ) -> nn::Linear { let record = nn::LinearRecord { - weight: Param::from(Tensor::from_data_devauto(weight)), - bias: Some(Param::from(Tensor::from_data_devauto(bias))), + weight: Param::from(Tensor::from(weight)), + bias: Some(Param::from(Tensor::from(bias))), }; nn::LinearConfig::new(6, 6).init_with(record) diff --git a/burn-core/src/optim/rmsprop.rs b/burn-core/src/optim/rmsprop.rs index a5d31ff90..1a112f216 100644 --- a/burn-core/src/optim/rmsprop.rs +++ b/burn-core/src/optim/rmsprop.rs @@ -360,12 +360,12 @@ mod tests { ]), Data::from([0.5, 0.5, 0.5, 0.5, 0.5, 0.5]), ); - let x_1 = Tensor::from_floats_devauto([ + let x_1 = Tensor::from([ [0.6294, 0.0940, 0.8176, 0.8824, 0.5228, 0.4310], [0.7152, 0.9559, 0.7893, 0.5684, 0.5939, 0.8883], ]) .require_grad(); - let x_2 = Tensor::from_floats_devauto([ + let x_2 = Tensor::from([ [0.8491, 0.2108, 0.8939, 0.4433, 0.5527, 0.2528], [0.3270, 0.0412, 0.5538, 0.9605, 0.3195, 0.9085], ]) @@ -428,12 +428,12 @@ mod tests { ]), Data::from([-0.3905, 0.0884, -0.0970, 0.1176, 0.1366, 0.0130]), ); - let x_1 = Tensor::from_floats_devauto([ + let x_1 = Tensor::from([ [0.6294, 0.0940, 0.8176, 0.8824, 0.5228, 0.4310], [0.7152, 0.9559, 0.7893, 0.5684, 0.5939, 0.8883], ]) .require_grad(); - let x_2 = Tensor::from_floats_devauto([ + let x_2 = Tensor::from([ [0.8491, 0.2108, 0.8939, 0.4433, 0.5527, 0.2528], [0.3270, 0.0412, 0.5538, 0.9605, 0.3195, 0.9085], ]) @@ -497,8 +497,8 @@ mod tests { bias: Data, ) -> nn::Linear { let record = nn::LinearRecord { - weight: Param::from(Tensor::from_data_devauto(weight)), - bias: Some(Param::from(Tensor::from_data_devauto(bias))), + weight: Param::from(Tensor::from(weight)), + bias: Some(Param::from(Tensor::from(bias))), }; nn::LinearConfig::new(6, 6).init_with(record) diff --git a/burn-core/src/record/tensor.rs b/burn-core/src/record/tensor.rs index 217e682ab..eff5cb2b5 100644 --- a/burn-core/src/record/tensor.rs +++ b/burn-core/src/record/tensor.rs @@ -97,7 +97,7 @@ impl Record for Tensor { } fn from_item(item: Self::Item) -> Self { - Tensor::from_data_devauto(item.data.convert::()) + Tensor::from(item.data.convert::()) } } @@ -113,7 +113,7 @@ impl Record for Tensor { } fn from_item(item: Self::Item) -> Self { - Tensor::from_data_devauto(item.data.convert()) + Tensor::from(item.data.convert()) } } @@ -129,6 +129,6 @@ impl Record for Tensor { } fn from_item(item: Self::Item) -> Self { - Tensor::from_data_devauto(item.data) + Tensor::from(item.data) } } diff --git a/burn-import/onnx-tests/tests/onnx_tests.rs b/burn-import/onnx-tests/tests/onnx_tests.rs index be0c842af..99b8c6af6 100644 --- a/burn-import/onnx-tests/tests/onnx_tests.rs +++ b/burn-import/onnx-tests/tests/onnx_tests.rs @@ -70,7 +70,7 @@ mod tests { let model: add::Model = add::Model::default(); // Run the model - let input = Tensor::::from_floats_devauto([[[[1., 2., 3., 4.]]]]); + let input = Tensor::::from([[[[1., 2., 3., 4.]]]]); let scalar = 2f64; let output = model.forward(input, scalar); let expected = Data::from([[[[9., 10., 11., 12.]]]]); @@ -84,7 +84,7 @@ mod tests { let model: add_int::Model = add_int::Model::default(); // Run the model - let input = Tensor::::from_ints_devauto([[[[1, 2, 3, 4]]]]); + let input = Tensor::::from([[[[1, 2, 3, 4]]]]); let scalar = 2; let output = model.forward(input, scalar); let expected = Data::from([[[[9, 11, 13, 15]]]]); @@ -98,7 +98,7 @@ mod tests { let model: sub::Model = sub::Model::default(); // Run the model - let input = Tensor::::from_floats_devauto([[[[1., 2., 3., 4.]]]]); + let input = Tensor::::from([[[[1., 2., 3., 4.]]]]); let scalar = 3.0f64; let output = model.forward(input, scalar); let expected = Data::from([[[[6., 7., 8., 9.]]]]); @@ -112,7 +112,7 @@ mod tests { let model: sub_int::Model = sub_int::Model::default(); // Run the model - let input = Tensor::::from_ints_devauto([[[[1, 2, 3, 4]]]]); + let input = Tensor::::from([[[[1, 2, 3, 4]]]]); let scalar = 3; let output = model.forward(input, scalar); let expected = Data::from([[[[6, 6, 6, 6]]]]); @@ -125,7 +125,7 @@ mod tests { let model: mul::Model = mul::Model::default(); // Run the model - let input = Tensor::::from_floats_devauto([[[[1., 2., 3., 4.]]]]); + let input = Tensor::::from([[[[1., 2., 3., 4.]]]]); let scalar = 6.0f64; let output = model.forward(input, scalar); let expected = Data::from([[[[126., 252., 378., 504.]]]]); @@ -250,10 +250,9 @@ mod tests { fn erf() { let model: erf::Model = erf::Model::default(); - let input = Tensor::::from_data_devauto([[[[1.0, 2.0, 3.0, 4.0]]]]); + let input = Tensor::::from([[[[1.0, 2.0, 3.0, 4.0]]]]); let output = model.forward(input); - let expected = - Tensor::::from_data_devauto([[[[0.8427, 0.9953, 1.0000, 1.0000]]]]); + let expected = Tensor::::from([[[[0.8427, 0.9953, 1.0000, 1.0000]]]]); output.to_data().assert_approx_eq(&expected.to_data(), 4); } @@ -264,8 +263,8 @@ mod tests { let model: gather::Model = gather::Model::default(); // Run the model - let input = Tensor::::from_floats_devauto([[1., 2.], [3., 4.]]); - let index = Tensor::::from_ints_devauto([[0, 0], [1, 0]]); + let input = Tensor::::from([[1., 2.], [3., 4.]]); + let index = Tensor::::from([[0, 0], [1, 0]]); let output = model.forward(input, index); let expected = Data::from([[1., 1.], [4., 3.]]); @@ -550,7 +549,7 @@ mod tests { let model: equal::Model = equal::Model::default(); // Run the model - let input = Tensor::::from_floats_devauto([[[[1., 1., 1., 1.]]]]); + let input = Tensor::::from([[[[1., 1., 1., 1.]]]]); let scalar = 2f64; let (tensor_out, scalar_out) = model.forward(input, scalar); @@ -791,7 +790,7 @@ mod tests { fn test_model_creation_with_a_default_device() { let model: neg::Model = neg::Model::new_devauto(); - let input1 = Tensor::::from_floats_devauto([[[[1.0, 4.0, 9.0, 25.0]]]]); + let input1 = Tensor::::from([[[[1.0, 4.0, 9.0, 25.0]]]]); let input2 = 99f64; let (output1, output2) = model.forward(input1, input2); diff --git a/burn-import/src/burn/node/batch_norm.rs b/burn-import/src/burn/node/batch_norm.rs index 96a9eedb0..3c659ee60 100644 --- a/burn-import/src/burn/node/batch_norm.rs +++ b/burn-import/src/burn/node/batch_norm.rs @@ -81,19 +81,19 @@ macro_rules! batch_norm_serialize { BatchNormRecord { gamma: Param::new( ParamId::new(), - Tensor::from_data_devauto($self.gamma.clone().convert()), + Tensor::from($self.gamma.clone().convert()), ), beta: Param::new( ParamId::new(), - Tensor::from_data_devauto($self.beta.clone().convert()), + Tensor::from($self.beta.clone().convert()), ), running_mean: Param::new( ParamId::new(), - Tensor::from_data_devauto($self.running_mean.clone().convert()), + Tensor::from($self.running_mean.clone().convert()), ), running_var: Param::new( ParamId::new(), - Tensor::from_data_devauto($self.running_var.clone().convert()), + Tensor::from($self.running_var.clone().convert()), ), epsilon: ConstantRecord::new(), momentum: ConstantRecord::new(), diff --git a/burn-import/src/burn/node/conv1d.rs b/burn-import/src/burn/node/conv1d.rs index 9d38afe64..b8cb6c794 100644 --- a/burn-import/src/burn/node/conv1d.rs +++ b/burn-import/src/burn/node/conv1d.rs @@ -93,14 +93,12 @@ impl NodeCodegen for Conv1dNode { let record = Conv1dRecord:: { weight: Param::new( ParamId::new(), - Tensor::from_data_devauto(self.data_weights.clone().convert()), + Tensor::from(self.data_weights.clone().convert()), ), - bias: self.data_bias.as_ref().map(|bias| { - Param::new( - ParamId::new(), - Tensor::from_data_devauto(bias.clone().convert()), - ) - }), + bias: self + .data_bias + .as_ref() + .map(|bias| Param::new(ParamId::new(), Tensor::from(bias.clone().convert()))), stride: ConstantRecord::new(), kernel_size: ConstantRecord::new(), dilation: ConstantRecord::new(), diff --git a/burn-import/src/burn/node/conv2d.rs b/burn-import/src/burn/node/conv2d.rs index 6d96e483c..d71a68a12 100644 --- a/burn-import/src/burn/node/conv2d.rs +++ b/burn-import/src/burn/node/conv2d.rs @@ -92,14 +92,12 @@ impl NodeCodegen for Conv2dNode { let record = Conv2dRecord:: { weight: Param::new( ParamId::new(), - Tensor::from_data_devauto(self.data_weights.clone().convert()), + Tensor::from(self.data_weights.clone().convert()), ), - bias: self.data_bias.as_ref().map(|bias| { - Param::new( - ParamId::new(), - Tensor::from_data_devauto(bias.clone().convert()), - ) - }), + bias: self + .data_bias + .as_ref() + .map(|bias| Param::new(ParamId::new(), Tensor::from(bias.clone().convert()))), stride: [ConstantRecord::new(); 2], kernel_size: [ConstantRecord::new(); 2], dilation: [ConstantRecord::new(); 2], diff --git a/burn-import/src/burn/node/conv_transpose_2d.rs b/burn-import/src/burn/node/conv_transpose_2d.rs index 5a8bdafda..5b724ffce 100644 --- a/burn-import/src/burn/node/conv_transpose_2d.rs +++ b/burn-import/src/burn/node/conv_transpose_2d.rs @@ -92,14 +92,12 @@ impl NodeCodegen for ConvTranspose2dNode { let record = ConvTranspose2dRecord:: { weight: Param::new( ParamId::new(), - Tensor::from_data_devauto(self.data_weights.clone().convert()), + Tensor::from(self.data_weights.clone().convert()), ), - bias: self.data_bias.as_ref().map(|bias| { - Param::new( - ParamId::new(), - Tensor::from_data_devauto(bias.clone().convert()), - ) - }), + bias: self + .data_bias + .as_ref() + .map(|bias| Param::new(ParamId::new(), Tensor::from(bias.clone().convert()))), stride: [ConstantRecord::new(); 2], kernel_size: [ConstantRecord::new(); 2], dilation: [ConstantRecord::new(); 2], diff --git a/burn-import/src/burn/node/linear.rs b/burn-import/src/burn/node/linear.rs index 074e7845d..1bc0fad5f 100644 --- a/burn-import/src/burn/node/linear.rs +++ b/burn-import/src/burn/node/linear.rs @@ -85,14 +85,12 @@ impl NodeCodegen for LinearNode { let record = LinearRecord:: { weight: Param::new( ParamId::new(), - Tensor::from_data_devauto(self.data_weights.clone().convert()), + Tensor::from(self.data_weights.clone().convert()), ), - bias: self.data_bias.as_ref().map(|bias| { - Param::new( - ParamId::new(), - Tensor::from_data_devauto(bias.clone().convert()), - ) - }), + bias: self + .data_bias + .as_ref() + .map(|bias| Param::new(ParamId::new(), Tensor::from(bias.clone().convert()))), }; let item = Record::into_item::(record); diff --git a/burn-import/src/burn/node/unary.rs b/burn-import/src/burn/node/unary.rs index 01f47f179..30cbae2f9 100644 --- a/burn-import/src/burn/node/unary.rs +++ b/burn-import/src/burn/node/unary.rs @@ -231,7 +231,7 @@ impl UnaryNode { // TODO: Implement this after tensor Int is implemented (@antimora 8/2/2023) // TODO: If the input is scalar and the output type is a tensor, // we should generate another code block. (@antimora 8/4/2023) - // Tensor::from_data_devauto(Data::from([#input]).convert()).unsqueeze(); + // Tensor::from(Data::from([#input]).convert()).unsqueeze(); todo!() } diff --git a/burn-tch/src/tensor.rs b/burn-tch/src/tensor.rs index 499eeecbb..c7f7f5d83 100644 --- a/burn-tch/src/tensor.rs +++ b/burn-tch/src/tensor.rs @@ -282,7 +282,7 @@ mod tests { #[test] fn should_not_update_inplace_after_reshape() { - let tensor_1 = Tensor::, 1>::from_floats_devauto([4.0, 4.0]); + let tensor_1 = Tensor::, 1>::from([4.0, 4.0]); let tensor_2 = tensor_1.clone(); let tensor_3 = tensor_2.reshape([1, 2]).add_scalar(2.0); @@ -292,7 +292,7 @@ mod tests { #[test] fn should_not_update_inplace_after_slice() { - let tensor_1 = Tensor::, 1>::from_floats_devauto([4.0, 4.0]); + let tensor_1 = Tensor::, 1>::from([4.0, 4.0]); let tensor_2 = tensor_1.clone(); let tensor_3 = tensor_2.slice([0..2]).add_scalar(2.0); diff --git a/burn-tensor/src/tensor/api/base.rs b/burn-tensor/src/tensor/api/base.rs index 70da56d75..7453dbacf 100644 --- a/burn-tensor/src/tensor/api/base.rs +++ b/burn-tensor/src/tensor/api/base.rs @@ -809,7 +809,7 @@ where /// use burn_tensor::{Tensor, T}; /// /// fn example() { -/// let tensor = Tensor::::from_floats_devauto([[1.0, 2.0], [3.0, 4.0]]); +/// let tensor = Tensor::::from([[1.0, 2.0], [3.0, 4.0]]); /// let transposed = tensor^T; /// } /// ``` diff --git a/burn-tensor/src/tensor/api/float.rs b/burn-tensor/src/tensor/api/float.rs index 613d3ea03..83d4d2552 100644 --- a/burn-tensor/src/tensor/api/float.rs +++ b/burn-tensor/src/tensor/api/float.rs @@ -136,7 +136,7 @@ where /// use burn_tensor::Tensor; /// /// fn example() { - /// let float_tensor = Tensor::::from_floats_devauto([1.0, 2.0]); + /// let float_tensor = Tensor::::from([1.0, 2.0]); /// let int_tensor = float_tensor.int(); /// } /// ``` diff --git a/burn-tensor/src/tensor/api/numeric.rs b/burn-tensor/src/tensor/api/numeric.rs index 6f0629778..562b38ef8 100644 --- a/burn-tensor/src/tensor/api/numeric.rs +++ b/burn-tensor/src/tensor/api/numeric.rs @@ -508,7 +508,7 @@ where /// use burn_tensor::{Int, Tensor}; /// /// fn example() { - /// let tensor = Tensor::::from_ints_devauto([ + /// let tensor = Tensor::::from([ /// [1, 2, 3], /// [4, 5, 6], /// [7, 8, 9] @@ -535,7 +535,7 @@ where /// use burn_tensor::{Int, Tensor}; /// /// fn example() { - /// let tensor = Tensor::::from_ints_devauto([ + /// let tensor = Tensor::::from([ /// [1, 2, 3], /// [4, 5, 6], /// [7, 8, 9] diff --git a/burn-tensor/src/tests/clone_invariance.rs b/burn-tensor/src/tests/clone_invariance.rs index 358672371..10e785ea2 100644 --- a/burn-tensor/src/tests/clone_invariance.rs +++ b/burn-tensor/src/tests/clone_invariance.rs @@ -45,7 +45,7 @@ mod tests { } fn run(&self, args: &Self::Args, inplace: bool) -> Data { - let lhs = TestTensor::from_data_devauto(args.clone().convert()); + let lhs = TestTensor::from(args.clone().convert()); if inplace { $ops(lhs).into_data().convert() @@ -83,8 +83,8 @@ mod tests { } fn run(&self, (lhs_arg, rhs_arg): &Self::Args, inplace: bool) -> Data { - let lhs = TestTensor::from_data_devauto(lhs_arg.clone().convert()); - let rhs = TestTensor::from_data_devauto(rhs_arg.clone().convert()); + let lhs = TestTensor::from(lhs_arg.clone().convert()); + let rhs = TestTensor::from(rhs_arg.clone().convert()); if inplace { $ops(lhs, rhs).into_data().convert() @@ -119,7 +119,7 @@ mod tests { } fn run(&self, args: &Self::Args, inplace: bool) -> Data { - let lhs = TestTensorInt::from_data_devauto(args.clone().convert()); + let lhs = TestTensorInt::from(args.clone().convert()); if inplace { $ops(lhs).into_data().convert() @@ -157,8 +157,8 @@ mod tests { } fn run(&self, (lhs_arg, rhs_arg): &Self::Args, inplace: bool) -> Data { - let lhs = TestTensorInt::from_data_devauto(lhs_arg.clone().convert()); - let rhs = TestTensorInt::from_data_devauto(rhs_arg.clone().convert()); + let lhs = TestTensorInt::from(lhs_arg.clone().convert()); + let rhs = TestTensorInt::from(rhs_arg.clone().convert()); if inplace { $ops(lhs, rhs).into_data().convert() @@ -355,7 +355,7 @@ mod tests { clone_invariance_test!( unary: Select, ops_float: |tensor: TestTensor<2>| { - let indices = TestTensorInt::from_ints_devauto([1, 2, 0, 5]); + let indices = TestTensorInt::from([1, 2, 0, 5]); tensor.select(0, indices) } ); @@ -483,7 +483,7 @@ mod tests { clone_invariance_test!( binary: SelectAssign, ops_float: |tensor: TestTensor<2>, values: TestTensor<2>| { - let indices = TestTensorInt::from_ints_devauto([1, 2, 0, 5]); + let indices = TestTensorInt::from([1, 2, 0, 5]); let values = values.select(0, indices.clone()); tensor.select_assign(0, indices, values) } @@ -635,7 +635,7 @@ mod tests { clone_invariance_test!( unary: Select, ops_int: |tensor: TestTensorInt<2>| { - let indices = TestTensorInt::from_ints_devauto([1, 2, 0, 5]); + let indices = TestTensorInt::from([1, 2, 0, 5]); tensor.select(0, indices) } ); @@ -717,7 +717,7 @@ mod tests { clone_invariance_test!( binary: SelectAssign, ops_int: |tensor: TestTensorInt<2>, values: TestTensorInt<2>| { - let indices = TestTensorInt::from_ints_devauto([1, 2, 0, 5]); + let indices = TestTensorInt::from([1, 2, 0, 5]); let values = values.select(0, indices.clone()); tensor.select_assign(0, indices, values) } diff --git a/burn-tensor/src/tests/module/adaptive_avgpool1d.rs b/burn-tensor/src/tests/module/adaptive_avgpool1d.rs index 1c4a13ab6..ecd0e616c 100644 --- a/burn-tensor/src/tests/module/adaptive_avgpool1d.rs +++ b/burn-tensor/src/tests/module/adaptive_avgpool1d.rs @@ -56,7 +56,7 @@ mod tests { impl AdaptiveAvgPool1dTestCase { fn assert_output(self, y: TestTensor<3>) { let shape_x = Shape::new([self.batch_size, self.channels, self.length]); - let x = TestTensor::from_data_devauto( + let x = TestTensor::from( TestTensorInt::arange_devauto(0..shape_x.num_elements()) .reshape(shape_x) .into_data() diff --git a/burn-tensor/src/tests/module/conv1d.rs b/burn-tensor/src/tests/module/conv1d.rs index 45c080a2d..a87e10d18 100644 --- a/burn-tensor/src/tests/module/conv1d.rs +++ b/burn-tensor/src/tests/module/conv1d.rs @@ -79,7 +79,7 @@ mod tests { length: 4, }; - test.assert_output(TestTensor::from_floats_devauto([ + test.assert_output(TestTensor::from([ [[171., 294.], [415., 781.], [659., 1268.], [903., 1755.]], [[495., 726.], [1387., 2185.], [2279., 3644.], [3171., 5103.]], ])); @@ -105,18 +105,18 @@ mod tests { self.channels_in / self.groups, self.kernel_size, ]); - let weight = TestTensor::from_data_devauto( + let weight = TestTensor::from( TestTensorInt::arange_devauto(0..shape_weight.num_elements()) .reshape(shape_weight) .into_data() .convert(), ); - let bias = TestTensor::from_data_devauto( + let bias = TestTensor::from( TestTensorInt::arange_devauto(0..self.channels_out) .into_data() .convert(), ); - let x = TestTensor::from_data_devauto( + let x = TestTensor::from( TestTensorInt::arange_devauto(0..shape_x.num_elements()) .reshape(shape_x) .into_data() diff --git a/burn-tensor/src/tests/module/conv_transpose1d.rs b/burn-tensor/src/tests/module/conv_transpose1d.rs index b7e70df08..af92b914b 100644 --- a/burn-tensor/src/tests/module/conv_transpose1d.rs +++ b/burn-tensor/src/tests/module/conv_transpose1d.rs @@ -83,7 +83,7 @@ mod tests { length: 4, }; - test.assert_output(TestTensor::from_floats_devauto([[ + test.assert_output(TestTensor::from([[ [0., 1., 4., 7.], [32., 59., 71., 59.], ]])); @@ -110,18 +110,18 @@ mod tests { self.channels_out / self.groups, self.kernel_size, ]); - let weights = TestTensor::from_data_devauto( + let weights = TestTensor::from( TestTensorInt::arange_devauto(0..shape_weights.num_elements()) .reshape(shape_weights) .into_data() .convert(), ); - let bias = TestTensor::from_data_devauto( + let bias = TestTensor::from( TestTensorInt::arange_devauto(0..self.channels_out) .into_data() .convert(), ); - let x = TestTensor::from_data_devauto( + let x = TestTensor::from( TestTensorInt::arange_devauto(0..shape_x.num_elements()) .reshape(shape_x) .into_data() diff --git a/burn-tensor/src/tests/ops/cat.rs b/burn-tensor/src/tests/ops/cat.rs index bc46c1f45..07a6d6ada 100644 --- a/burn-tensor/src/tests/ops/cat.rs +++ b/burn-tensor/src/tests/ops/cat.rs @@ -5,8 +5,8 @@ mod tests { use burn_tensor::{Bool, Data, Int, Tensor}; #[test] fn should_support_cat_ops_2d_dim0() { - let tensor_1 = TestTensor::from_data_devauto([[1.0, 2.0, 3.0]]); - let tensor_2 = TestTensor::from_data_devauto([[4.0, 5.0, 6.0]]); + let tensor_1 = TestTensor::from([[1.0, 2.0, 3.0]]); + let tensor_2 = TestTensor::from([[4.0, 5.0, 6.0]]); let data_actual = TestTensor::cat(vec![tensor_1, tensor_2], 0).into_data(); @@ -16,8 +16,8 @@ mod tests { #[test] fn should_support_cat_ops_int() { - let tensor_1 = Tensor::::from_data_devauto([[1, 2, 3]]); - let tensor_2 = Tensor::::from_data_devauto([[4, 5, 6]]); + let tensor_1 = Tensor::::from([[1, 2, 3]]); + let tensor_2 = Tensor::::from([[4, 5, 6]]); let data_actual = Tensor::cat(vec![tensor_1, tensor_2], 0).into_data(); @@ -27,8 +27,8 @@ mod tests { #[test] fn should_support_cat_ops_bool() { - let tensor_1 = Tensor::::from_data_devauto([[false, true, true]]); - let tensor_2 = Tensor::::from_data_devauto([[true, true, false]]); + let tensor_1 = Tensor::::from([[false, true, true]]); + let tensor_2 = Tensor::::from([[true, true, false]]); let data_actual = Tensor::cat(vec![tensor_1, tensor_2], 0).into_data(); @@ -38,8 +38,8 @@ mod tests { #[test] fn should_support_cat_ops_2d_dim1() { - let tensor_1 = TestTensor::from_data_devauto([[1.0, 2.0, 3.0]]); - let tensor_2 = TestTensor::from_data_devauto([[4.0, 5.0, 6.0]]); + let tensor_1 = TestTensor::from([[1.0, 2.0, 3.0]]); + let tensor_2 = TestTensor::from([[4.0, 5.0, 6.0]]); let data_actual = TestTensor::cat(vec![tensor_1, tensor_2], 1).into_data(); @@ -49,8 +49,8 @@ mod tests { #[test] fn should_support_cat_ops_3d() { - let tensor_1 = TestTensor::from_data_devauto([[[1.0, 2.0, 3.0]], [[1.1, 2.1, 3.1]]]); - let tensor_2 = TestTensor::from_data_devauto([[[4.0, 5.0, 6.0]]]); + let tensor_1 = TestTensor::from([[[1.0, 2.0, 3.0]], [[1.1, 2.1, 3.1]]]); + let tensor_2 = TestTensor::from([[[4.0, 5.0, 6.0]]]); let data_actual = TestTensor::cat(vec![tensor_1, tensor_2], 0).into_data(); @@ -61,8 +61,8 @@ mod tests { #[test] #[should_panic] fn should_panic_when_dimensions_are_not_the_same() { - let tensor_1 = TestTensor::from_data_devauto([[1.0, 2.0, 3.0], [1.0, 2.0, 3.0]]); - let tensor_2 = TestTensor::from_data_devauto([[4.0, 5.0]]); + let tensor_1 = TestTensor::from([[1.0, 2.0, 3.0], [1.0, 2.0, 3.0]]); + let tensor_2 = TestTensor::from([[4.0, 5.0]]); TestTensor::cat(vec![tensor_1, tensor_2], 0).into_data(); } @@ -77,8 +77,8 @@ mod tests { #[test] #[should_panic] fn should_panic_when_cat_exceeds_dimension() { - let tensor_1 = TestTensor::from_data_devauto([[[1.0, 2.0, 3.0]], [[1.1, 2.1, 3.1]]]); - let tensor_2 = TestTensor::from_data_devauto([[[4.0, 5.0, 6.0]]]); + let tensor_1 = TestTensor::from([[[1.0, 2.0, 3.0]], [[1.1, 2.1, 3.1]]]); + let tensor_2 = TestTensor::from([[[4.0, 5.0, 6.0]]]); TestTensor::cat(vec![tensor_1, tensor_2], 3).into_data(); } diff --git a/burn-tensor/src/tests/ops/chunk.rs b/burn-tensor/src/tests/ops/chunk.rs index 2eac991d9..77daa9c3d 100644 --- a/burn-tensor/src/tests/ops/chunk.rs +++ b/burn-tensor/src/tests/ops/chunk.rs @@ -75,7 +75,7 @@ mod tests { #[test] fn test_chunk_multi_dimension() { let tensors: Vec> = - Tensor::from_data_devauto(Data::from([[0, 1, 2, 3]])).chunk(2, 1); + Tensor::from(Data::from([[0, 1, 2, 3]])).chunk(2, 1); assert_eq!(tensors.len(), 2); let expected = vec![Data::from([[0, 1]]), Data::from([[2, 3]])]; diff --git a/burn-tensor/src/tests/ops/clamp.rs b/burn-tensor/src/tests/ops/clamp.rs index 54bccdbe1..15899dab5 100644 --- a/burn-tensor/src/tests/ops/clamp.rs +++ b/burn-tensor/src/tests/ops/clamp.rs @@ -6,8 +6,7 @@ mod tests { #[test] fn clamp_min() { // test float tensor - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let data_actual = tensor.clamp_min(2.0).into_data(); @@ -15,8 +14,7 @@ mod tests { assert_eq!(data_expected, data_actual); // test int tensor - let data = Data::from([[0, 1, 2], [3, 4, 5]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0, 1, 2], [3, 4, 5]]); let data_actual = tensor.clamp_min(2).into_data(); let data_expected = Data::from([[2, 2, 2], [3, 4, 5]]); assert_eq!(data_expected, data_actual); @@ -25,8 +23,7 @@ mod tests { #[test] fn clamp_max() { // test float tensor - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let data_actual = tensor.clamp_max(2.0).into_data(); @@ -34,8 +31,7 @@ mod tests { assert_eq!(data_expected, data_actual); // test int tensor - let data = Data::from([[0, 1, 2], [3, 4, 5]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0, 1, 2], [3, 4, 5]]); let data_actual = tensor.clamp_max(4).into_data(); let data_expected = Data::from([[0, 1, 2], [3, 4, 4]]); assert_eq!(data_expected, data_actual); @@ -44,15 +40,13 @@ mod tests { #[test] fn clamp_min_max() { // test float tensor - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let data_actual = tensor.clamp(1.0, 4.0).into_data(); let data_expected = Data::from([[1.0, 1.0, 2.0], [3.0, 4.0, 4.0]]); assert_eq!(data_expected, data_actual); // test int tensor - let data = Data::from([[0, 1, 2], [3, 4, 5]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0, 1, 2], [3, 4, 5]]); let data_actual = tensor.clamp(1, 4).into_data(); let data_expected = Data::from([[1, 1, 2], [3, 4, 4]]); assert_eq!(data_expected, data_actual); diff --git a/burn-tensor/src/tests/ops/cos.rs b/burn-tensor/src/tests/ops/cos.rs index e244ad251..9fb3110c2 100644 --- a/burn-tensor/src/tests/ops/cos.rs +++ b/burn-tensor/src/tests/ops/cos.rs @@ -5,8 +5,7 @@ mod tests { #[test] fn should_support_cos_ops() { - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let data_actual = tensor.cos().into_data(); diff --git a/burn-tensor/src/tests/ops/create_like.rs b/burn-tensor/src/tests/ops/create_like.rs index e7f7bca41..4089c7cc9 100644 --- a/burn-tensor/src/tests/ops/create_like.rs +++ b/burn-tensor/src/tests/ops/create_like.rs @@ -5,7 +5,7 @@ mod tests { #[test] fn should_support_zeros_like() { - let tensor = TestTensor::from_floats_devauto([ + let tensor = TestTensor::from([ [[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]], [[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], ]); @@ -20,7 +20,7 @@ mod tests { #[test] fn should_support_ones_like() { - let tensor = TestTensor::from_floats_devauto([ + let tensor = TestTensor::from([ [[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]], [[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], ]); @@ -35,7 +35,7 @@ mod tests { #[test] fn should_support_randoms_like() { - let tensor = TestTensor::from_floats_devauto([ + let tensor = TestTensor::from([ [[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]], [[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], ]); diff --git a/burn-tensor/src/tests/ops/div.rs b/burn-tensor/src/tests/ops/div.rs index 4a8436147..495036aa4 100644 --- a/burn-tensor/src/tests/ops/div.rs +++ b/burn-tensor/src/tests/ops/div.rs @@ -5,10 +5,8 @@ mod tests { #[test] fn should_support_div_ops() { - let data_1 = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let data_2 = Data::from([[1.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let tensor_2 = Tensor::::from([[1.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let output = tensor_1 / tensor_2; @@ -19,10 +17,8 @@ mod tests { #[test] fn test_div_broadcast() { - let data_1 = Data::from([[0.0, 1.0, 2.0]]); - let data_2 = Data::from([[1.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = Tensor::::from([[0.0, 1.0, 2.0]]); + let tensor_2 = Tensor::::from([[1.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let data_actual = (tensor_1 / tensor_2).into_data(); @@ -32,9 +28,8 @@ mod tests { #[test] fn should_support_div_scalar_ops() { - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let scalar = 2.0; - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let output = tensor / scalar; @@ -45,10 +40,8 @@ mod tests { #[test] fn should_support_div_ops_int() { - let data_1 = Data::from([[0, 1, 2], [3, 4, 5]]); - let data_2 = Data::from([[1, 1, 2], [1, 1, 2]]); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = Tensor::::from([[0, 1, 2], [3, 4, 5]]); + let tensor_2 = Tensor::::from([[1, 1, 2], [1, 1, 2]]); let output = tensor_1 / tensor_2; @@ -59,10 +52,8 @@ mod tests { #[test] fn test_div_broadcast_int() { - let data_1 = Data::from([[0, 1, 2]]); - let data_2 = Data::from([[1, 1, 2], [3, 4, 5]]); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = Tensor::::from([[0, 1, 2]]); + let tensor_2 = Tensor::::from([[1, 1, 2], [3, 4, 5]]); let data_actual = (tensor_1 / tensor_2).into_data(); @@ -72,9 +63,8 @@ mod tests { #[test] fn should_support_div_scalar_ops_int() { - let data = Data::from([[0, 1, 2], [3, 4, 5]]); let scalar = 2; - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0, 1, 2], [3, 4, 5]]); let output = tensor / scalar; diff --git a/burn-tensor/src/tests/ops/erf.rs b/burn-tensor/src/tests/ops/erf.rs index 001f64086..05fddff7e 100644 --- a/burn-tensor/src/tests/ops/erf.rs +++ b/burn-tensor/src/tests/ops/erf.rs @@ -5,8 +5,7 @@ mod tests { #[test] fn should_support_erf_ops() { - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let data_actual = tensor.erf().into_data(); @@ -16,8 +15,7 @@ mod tests { #[test] fn should_support_erf_ops_with_negative_number() { - let data = Data::from([[-0.056, -0.043, -0.089], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[-0.056, -0.043, -0.089], [3.0, 4.0, 5.0]]); let data_actual = tensor.erf().into_data(); diff --git a/burn-tensor/src/tests/ops/exp.rs b/burn-tensor/src/tests/ops/exp.rs index 992381f51..d151243d6 100644 --- a/burn-tensor/src/tests/ops/exp.rs +++ b/burn-tensor/src/tests/ops/exp.rs @@ -5,8 +5,7 @@ mod tests { #[test] fn should_support_exp_ops() { - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let data_actual = tensor.exp().into_data(); diff --git a/burn-tensor/src/tests/ops/gather_scatter.rs b/burn-tensor/src/tests/ops/gather_scatter.rs index cc1c47dc9..bc41c8ddc 100644 --- a/burn-tensor/src/tests/ops/gather_scatter.rs +++ b/burn-tensor/src/tests/ops/gather_scatter.rs @@ -5,8 +5,8 @@ mod tests { #[test] fn should_gather_1d_dim0() { - let tensor = TestTensor::from_floats_devauto([0.0, 1.0, 2.0]); - let indices = TestTensorInt::from_ints_devauto([1, 1, 0, 1, 2]); + let tensor = TestTensor::from([0.0, 1.0, 2.0]); + let indices = TestTensorInt::from([1, 1, 0, 1, 2]); let output = tensor.gather(0, indices); @@ -15,8 +15,8 @@ mod tests { #[test] fn should_gather_1d_dim0_int() { - let tensor = TestTensorInt::from_ints_devauto([5, 6, 7]); - let indices = TestTensorInt::from_ints_devauto([1, 1, 0, 1, 2]); + let tensor = TestTensorInt::from([5, 6, 7]); + let indices = TestTensorInt::from([1, 1, 0, 1, 2]); let output = tensor.gather(0, indices); @@ -25,8 +25,8 @@ mod tests { #[test] fn should_gather_2d_dim0() { - let tensor = TestTensor::from_floats_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let indices = TestTensorInt::from_ints_devauto([[0, 1, 0], [1, 0, 1]]); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let indices = TestTensorInt::from([[0, 1, 0], [1, 0, 1]]); let output = tensor.gather(0, indices); @@ -38,8 +38,8 @@ mod tests { #[test] fn should_gather_2d_dim1() { - let tensor = TestTensor::from_floats_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let indices = TestTensorInt::from_ints_devauto([[2, 1, 0, 0], [2, 0, 1, 2]]); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let indices = TestTensorInt::from([[2, 1, 0, 0], [2, 0, 1, 2]]); let output = tensor.gather(1, indices); @@ -51,12 +51,11 @@ mod tests { #[test] fn should_gather_3d_dim1() { - let tensor = TestTensor::from_floats_devauto([ + let tensor = TestTensor::from([ [[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]], [[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], ]); - let indices = - TestTensorInt::from_ints_devauto([[[1, 0, 0], [0, 1, 0]], [[0, 0, 1], [0, 1, 1]]]); + let indices = TestTensorInt::from([[[1, 0, 0], [0, 1, 0]], [[0, 0, 1], [0, 1, 1]]]); let output = tensor.gather(1, indices); @@ -71,8 +70,8 @@ mod tests { #[test] fn should_gather_2d_only_1dim() { - let tensor = TestTensor::from_floats_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let indices = TestTensorInt::from_ints_devauto([[1, 2]]).reshape([2, 1]); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let indices = TestTensorInt::from([[1, 2]]).reshape([2, 1]); let output = tensor.gather(1, indices); @@ -81,9 +80,9 @@ mod tests { #[test] fn should_scatter_1d() { - let tensor = TestTensor::from_floats_devauto([0.0, 0.0, 0.0]); - let values = TestTensor::from_floats_devauto([5.0, 4.0, 3.0]); - let indices = TestTensorInt::from_ints_devauto([1, 0, 2]); + let tensor = TestTensor::from([0.0, 0.0, 0.0]); + let values = TestTensor::from([5.0, 4.0, 3.0]); + let indices = TestTensorInt::from([1, 0, 2]); let output = tensor.scatter(0, indices, values); @@ -92,9 +91,9 @@ mod tests { #[test] fn should_scatter_1d_int() { - let tensor = TestTensorInt::from_ints_devauto([0, 0, 0]); - let values = TestTensorInt::from_ints_devauto([5, 4, 3]); - let indices = TestTensorInt::from_ints_devauto([1, 0, 2]); + let tensor = TestTensorInt::from([0, 0, 0]); + let values = TestTensorInt::from([5, 4, 3]); + let indices = TestTensorInt::from([1, 0, 2]); let output = tensor.scatter(0, indices, values); @@ -103,9 +102,9 @@ mod tests { #[test] fn should_scatter_2d_dim0() { - let tensor = TestTensor::from_floats_devauto([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]); - let values = TestTensor::from_floats_devauto([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]); - let indices = TestTensorInt::from_ints_devauto([[1, 0, 1], [1, 1, 0]]); + let tensor = TestTensor::from([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]); + let values = TestTensor::from([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]); + let indices = TestTensorInt::from([[1, 0, 1], [1, 1, 0]]); let output = tensor.scatter(0, indices, values); @@ -117,9 +116,9 @@ mod tests { #[test] fn should_scatter_2d_dim1() { - let tensor = TestTensor::from_floats_devauto([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]); - let values = TestTensor::from_floats_devauto([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]); - let indices = TestTensorInt::from_ints_devauto([[1, 0, 2], [1, 2, 0]]); + let tensor = TestTensor::from([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]); + let values = TestTensor::from([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]); + let indices = TestTensorInt::from([[1, 0, 2], [1, 2, 0]]); let output = tensor.scatter(1, indices, values); @@ -131,16 +130,15 @@ mod tests { #[test] fn should_scatter_3d_dim1() { - let tensor = TestTensor::from_floats_devauto([ + let tensor = TestTensor::from([ [[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]], [[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], ]); - let values = TestTensor::from_floats_devauto([ + let values = TestTensor::from([ [[12.0, 13.0, 14.0], [15.0, 16.0, 17.0]], [[18.0, 19.0, 20.0], [21.0, 22.0, 23.0]], ]); - let indices = - TestTensorInt::from_ints_devauto([[[1, 0, 0], [0, 1, 0]], [[0, 0, 1], [0, 1, 1]]]); + let indices = TestTensorInt::from([[[1, 0, 0], [0, 1, 0]], [[0, 0, 1], [0, 1, 1]]]); let output = tensor.scatter(1, indices, values); @@ -155,9 +153,9 @@ mod tests { #[test] fn should_scatter_2d_dim1_diff_shape() { - let tensor = TestTensor::from_floats_devauto([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]); - let values = TestTensor::from_floats_devauto([[1.0], [4.0]]); - let indices = TestTensorInt::from_ints_devauto([[1], [2]]); + let tensor = TestTensor::from([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]); + let values = TestTensor::from([[1.0], [4.0]]); + let indices = TestTensorInt::from([[1], [2]]); let output = tensor.scatter(1, indices, values); @@ -170,9 +168,9 @@ mod tests { #[test] #[should_panic] fn scatter_should_panic_on_mismatch_of_shapes() { - let tensor = TestTensor::from_floats_devauto([0.0, 0.0, 0.0]); - let values = TestTensor::from_floats_devauto([5.0, 4.0]); - let indices = TestTensorInt::from_ints_devauto([1, 0, 2]); + let tensor = TestTensor::from([0.0, 0.0, 0.0]); + let values = TestTensor::from([5.0, 4.0]); + let indices = TestTensorInt::from([1, 0, 2]); tensor.scatter(0, indices, values); } diff --git a/burn-tensor/src/tests/ops/iter_dim.rs b/burn-tensor/src/tests/ops/iter_dim.rs index b8cad41be..0591283aa 100644 --- a/burn-tensor/src/tests/ops/iter_dim.rs +++ b/burn-tensor/src/tests/ops/iter_dim.rs @@ -5,10 +5,9 @@ mod test { #[test] fn test_1d_iter_last_item() { - let data = [1, 2, 3, 4]; - let tensor = Tensor::::from_ints_devauto(data); + let tensor = Tensor::::from([1, 2, 3, 4]); assert_eq!( - Tensor::::from_ints_devauto([4]).into_data(), + Tensor::::from([4]).into_data(), tensor.iter_dim(0).last().unwrap().into_data() ) } @@ -21,24 +20,24 @@ mod test { #[test] fn test_transposed() { - let data = [ + let tensor = Tensor::::from([ [1., 2., 3., 1., 2.], [4., 5., 6., 1., 2.], [7., 8., 9., 1., 2.], - ]; - let tensor = Tensor::::from_floats_devauto(data); + ]); let lhs = tensor.clone().slice([1..2, 0..5]); let rhs = tensor.transpose().iter_dim(1).nth(1).unwrap(); assert_eq!(lhs.into_data().value, rhs.into_data().value); } fn test_iteration_over_low_dim() { - let data = [[ - [1., 2., 3., 1., 2.], - [4., 5., 6., 1., 2.], - [7., 8., 9., 1., 2.], - ]; 5]; - let tensor = Tensor::::from_floats_devauto(data); + let tensor = Tensor::::from( + [[ + [1., 2., 3., 1., 2.], + [4., 5., 6., 1., 2.], + [7., 8., 9., 1., 2.], + ]; 5], + ); let lhs = tensor.iter_dim(2).nth(1).unwrap(); let rhs = Data::from([2., 5., 8.]); assert_eq!(lhs.into_data().value, rhs.value); diff --git a/burn-tensor/src/tests/ops/log.rs b/burn-tensor/src/tests/ops/log.rs index 2ff382d5c..380df402b 100644 --- a/burn-tensor/src/tests/ops/log.rs +++ b/burn-tensor/src/tests/ops/log.rs @@ -5,8 +5,7 @@ mod tests { #[test] fn should_support_log_ops() { - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let data_actual = tensor.log().into_data(); diff --git a/burn-tensor/src/tests/ops/log1p.rs b/burn-tensor/src/tests/ops/log1p.rs index f7bf1d42d..562dc8888 100644 --- a/burn-tensor/src/tests/ops/log1p.rs +++ b/burn-tensor/src/tests/ops/log1p.rs @@ -5,8 +5,7 @@ mod tests { #[test] fn should_support_exp_log1p() { - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let data_actual = tensor.log1p().into_data(); diff --git a/burn-tensor/src/tests/ops/map_comparison.rs b/burn-tensor/src/tests/ops/map_comparison.rs index a0a2ed4e9..4a32ea36c 100644 --- a/burn-tensor/src/tests/ops/map_comparison.rs +++ b/burn-tensor/src/tests/ops/map_comparison.rs @@ -115,8 +115,8 @@ mod tests { { let data_1 = Data::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]).convert(); let data_2 = Data::::from([[1.0, 1.0, 1.0], [4.0, 3.0, 5.0]]).convert(); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = Tensor::::from(data_1); + let tensor_2 = Tensor::::from(data_2); let data_actual_cloned = tensor_1.clone().equal(tensor_2.clone()); let data_actual_inplace = tensor_1.equal(tensor_2); @@ -132,7 +132,7 @@ mod tests { E: Element, { let data_1 = Data::::from([[0.0, 1.0, 2.0], [3.0, 2.0, 5.0]]).convert(); - let tensor_1 = Tensor::::from_data_devauto(data_1); + let tensor_1 = Tensor::::from(data_1); let data_actual_cloned = tensor_1.clone().equal_elem(2); let data_actual_inplace = tensor_1.equal_elem(2); @@ -148,7 +148,7 @@ mod tests { E: Element, { let data_1 = Data::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]).convert(); - let tensor_1 = Tensor::::from_data_devauto(data_1); + let tensor_1 = Tensor::::from(data_1); let data_actual_cloned = tensor_1.clone().greater_elem(4); let data_actual_inplace = tensor_1.greater_elem(4); @@ -164,7 +164,7 @@ mod tests { E: Element, { let data_1 = Data::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]).convert(); - let tensor_1 = Tensor::::from_data_devauto(data_1); + let tensor_1 = Tensor::::from(data_1); let data_actual_cloned = tensor_1.clone().greater_equal_elem(4.0); let data_actual_inplace = tensor_1.greater_equal_elem(4.0); @@ -181,8 +181,8 @@ mod tests { { let data_1 = Data::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]).convert(); let data_2 = Data::::from([[1.0, 1.0, 1.0], [4.0, 3.0, 50.0]]).convert(); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = Tensor::::from(data_1); + let tensor_2 = Tensor::::from(data_2); let data_actual_cloned = tensor_1.clone().greater(tensor_2.clone()); let data_actual_inplace = tensor_1.greater(tensor_2); @@ -199,8 +199,8 @@ mod tests { { let data_1 = Data::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]).convert(); let data_2 = Data::::from([[1.0, 1.0, 1.0], [4.0, 3.0, 50.0]]).convert(); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = Tensor::::from(data_1); + let tensor_2 = Tensor::::from(data_2); let data_actual_cloned = tensor_1.clone().greater_equal(tensor_2.clone()); let data_actual_inplace = tensor_1.greater_equal(tensor_2); @@ -216,7 +216,7 @@ mod tests { E: Element, { let data_1 = Data::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]).convert(); - let tensor_1 = Tensor::::from_data_devauto(data_1); + let tensor_1 = Tensor::::from(data_1); let data_actual_cloned = tensor_1.clone().lower_elem(4.0); let data_actual_inplace = tensor_1.lower_elem(4.0); @@ -232,7 +232,7 @@ mod tests { E: Element, { let data_1 = Data::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]).convert(); - let tensor_1 = Tensor::::from_data_devauto(data_1); + let tensor_1 = Tensor::::from(data_1); let data_actual_cloned = tensor_1.clone().lower_equal_elem(4.0); let data_actual_inplace = tensor_1.lower_equal_elem(4.0); @@ -249,8 +249,8 @@ mod tests { { let data_1 = Data::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]).convert(); let data_2 = Data::::from([[1.0, 1.0, 1.0], [4.0, 3.0, 50.0]]).convert(); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = Tensor::::from(data_1); + let tensor_2 = Tensor::::from(data_2); let data_actual_cloned = tensor_1.clone().lower(tensor_2.clone()); let data_actual_inplace = tensor_1.lower(tensor_2); @@ -267,8 +267,8 @@ mod tests { { let data_1 = Data::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]).convert(); let data_2 = Data::::from([[1.0, 1.0, 1.0], [4.0, 3.0, 50.0]]).convert(); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = Tensor::::from(data_1); + let tensor_2 = Tensor::::from(data_2); let data_actual_cloned = tensor_1.clone().lower_equal(tensor_2.clone()); let data_actual_inplace = tensor_1.lower_equal(tensor_2); @@ -280,10 +280,10 @@ mod tests { #[test] fn should_support_bool_equal() { - let data_1 = Data::from([[false, true, true], [true, false, true]]); - let data_2 = Data::from([[false, false, true], [false, true, true]]); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = + Tensor::::from([[false, true, true], [true, false, true]]); + let tensor_2 = + Tensor::::from([[false, false, true], [false, true, true]]); let data_actual_cloned = tensor_1.clone().equal(tensor_2.clone()); let data_actual_inplace = tensor_1.equal(tensor_2); @@ -296,7 +296,7 @@ mod tests { #[test] fn should_support_bool_not() { let data_1 = Data::from([[false, true, true], [true, true, false]]); - let tensor_1 = Tensor::::from_data_devauto(data_1); + let tensor_1 = Tensor::::from(data_1); let data_actual_cloned = tensor_1.clone().bool_not(); let data_actual_inplace = tensor_1.bool_not(); diff --git a/burn-tensor/src/tests/ops/mask.rs b/burn-tensor/src/tests/ops/mask.rs index 8d0da394b..c91078bf0 100644 --- a/burn-tensor/src/tests/ops/mask.rs +++ b/burn-tensor/src/tests/ops/mask.rs @@ -5,13 +5,9 @@ mod tests { #[test] fn should_support_mask_where_ops() { - let tensor = TestTensor::from_data_devauto([[1.0, 7.0], [2.0, 3.0]]); - let mask = Tensor::::from_bool_devauto(Data::from([ - [true, false], - [false, true], - ])); - let value = - Tensor::::from_data_devauto(Data::from([[1.8, 2.8], [3.8, 4.8]])); + let tensor = TestTensor::from([[1.0, 7.0], [2.0, 3.0]]); + let mask = Tensor::::from([[true, false], [false, true]]); + let value = Tensor::::from([[1.8, 2.8], [3.8, 4.8]]); let data_actual = tensor.mask_where(mask, value).into_data(); @@ -21,11 +17,8 @@ mod tests { #[test] fn should_support_mask_fill_ops() { - let tensor = TestTensor::from_data_devauto([[1.0, 7.0], [2.0, 3.0]]); - let mask = Tensor::::from_bool_devauto(Data::from([ - [true, false], - [false, true], - ])); + let tensor = TestTensor::from([[1.0, 7.0], [2.0, 3.0]]); + let mask = Tensor::::from([[true, false], [false, true]]); let data_actual = tensor.mask_fill(mask, 2.0).to_data(); @@ -35,13 +28,9 @@ mod tests { #[test] fn should_support_int_mask_where_ops() { - let tensor = Tensor::::from_data_devauto([[1, 7], [2, 3]]); - let mask = Tensor::::from_bool_devauto(Data::from([ - [true, false], - [false, true], - ])); - let value = - Tensor::::from_data_devauto(Data::from([[8, 9], [10, 11]])); + let tensor = Tensor::::from([[1, 7], [2, 3]]); + let mask = Tensor::::from([[true, false], [false, true]]); + let value = Tensor::::from([[8, 9], [10, 11]]); let data_actual = tensor.mask_where(mask, value).into_data(); @@ -51,11 +40,8 @@ mod tests { #[test] fn should_support_int_mask_fill_ops() { - let tensor = Tensor::::from_data_devauto([[1, 7], [2, 3]]); - let mask = Tensor::::from_bool_devauto(Data::from([ - [true, false], - [false, true], - ])); + let tensor = Tensor::::from([[1, 7], [2, 3]]); + let mask = Tensor::::from([[true, false], [false, true]]); let data_actual = tensor.mask_fill(mask, 9).to_data(); diff --git a/burn-tensor/src/tests/ops/matmul.rs b/burn-tensor/src/tests/ops/matmul.rs index 40ee751ca..d6b4e5377 100644 --- a/burn-tensor/src/tests/ops/matmul.rs +++ b/burn-tensor/src/tests/ops/matmul.rs @@ -5,8 +5,8 @@ mod tests { #[test] fn test_matmul_d2() { - let tensor_1 = TestTensor::from_floats_devauto([[1.0, 7.0], [2.0, 3.0], [1.0, 5.0]]); - let tensor_2 = TestTensor::from_floats_devauto([[4.0, 7.0, 5.0], [2.0, 3.0, 5.0]]); + let tensor_1 = TestTensor::from([[1.0, 7.0], [2.0, 3.0], [1.0, 5.0]]); + let tensor_2 = TestTensor::from([[4.0, 7.0, 5.0], [2.0, 3.0, 5.0]]); let tensor_3 = tensor_1.matmul(tensor_2); @@ -18,8 +18,8 @@ mod tests { #[test] fn test_matmul_d3() { - let tensor_1 = TestTensor::from_floats_devauto([[[1.0, 7.0], [2.0, 3.0]]]); - let tensor_2 = TestTensor::from_floats_devauto([[[4.0, 7.0], [2.0, 3.0]]]); + let tensor_1 = TestTensor::from([[[1.0, 7.0], [2.0, 3.0]]]); + let tensor_2 = TestTensor::from([[[4.0, 7.0], [2.0, 3.0]]]); let tensor_3 = tensor_1.matmul(tensor_2); @@ -31,9 +31,8 @@ mod tests { #[test] fn test_matmul_broadcast_1() { - let tensor_1 = TestTensor::from_floats_devauto([[[1.0, 7.0], [2.0, 3.0]]]); - let tensor_2 = - TestTensor::from_floats_devauto([[[4.0, 7.0], [2.0, 3.0]], [[2.0, 5.0], [6.0, 3.0]]]); + let tensor_1 = TestTensor::from([[[1.0, 7.0], [2.0, 3.0]]]); + let tensor_2 = TestTensor::from([[[4.0, 7.0], [2.0, 3.0]], [[2.0, 5.0], [6.0, 3.0]]]); let tensor_3 = tensor_1.matmul(tensor_2); @@ -45,8 +44,8 @@ mod tests { #[test] fn test_matmul_simple_1() { - let tensor_1 = TestTensor::from_floats_devauto([[5.0, 14.0], [14.0, 50.0]]); - let tensor_2 = TestTensor::from_floats_devauto([[3.0, 4.0, 5.0], [0.0, 1.0, 2.0]]); + let tensor_1 = TestTensor::from([[5.0, 14.0], [14.0, 50.0]]); + let tensor_2 = TestTensor::from([[3.0, 4.0, 5.0], [0.0, 1.0, 2.0]]); let tensor_3 = tensor_1.matmul(tensor_2); @@ -58,8 +57,8 @@ mod tests { #[test] fn test_matmul_simple_2() { - let tensor_1 = TestTensor::from_floats_devauto([[1.0, 2.0, 3.0, 4.0]]); - let tensor_2 = TestTensor::from_floats_devauto([[3.0], [4.0], [5.0], [6.0]]); + let tensor_1 = TestTensor::from([[1.0, 2.0, 3.0, 4.0]]); + let tensor_2 = TestTensor::from([[3.0], [4.0], [5.0], [6.0]]); let tensor_3 = tensor_1.matmul(tensor_2); @@ -68,14 +67,8 @@ mod tests { #[test] fn test_matmul_simple_3() { - let tensor_1 = TestTensor::from_floats_devauto([ - [3., 3., 3.], - [4., 4., 4.], - [5., 5., 5.], - [6., 6., 6.], - ]); - let tensor_2 = - TestTensor::from_floats_devauto([[1., 2., 3., 4.], [1., 2., 3., 4.], [1., 2., 3., 4.]]); + let tensor_1 = TestTensor::from([[3., 3., 3.], [4., 4., 4.], [5., 5., 5.], [6., 6., 6.]]); + let tensor_2 = TestTensor::from([[1., 2., 3., 4.], [1., 2., 3., 4.], [1., 2., 3., 4.]]); let tensor_3 = tensor_1.matmul(tensor_2); @@ -93,9 +86,8 @@ mod tests { #[test] #[should_panic] fn should_panic_when_inner_dimensions_are_not_equal() { - let tensor_1 = TestTensor::from_floats_devauto([[3., 3.], [4., 4.], [5., 5.], [6., 6.]]); - let tensor_2 = - TestTensor::from_floats_devauto([[1., 2., 3., 4.], [1., 2., 3., 4.], [1., 2., 3., 4.]]); + let tensor_1 = TestTensor::from([[3., 3.], [4., 4.], [5., 5.], [6., 6.]]); + let tensor_2 = TestTensor::from([[1., 2., 3., 4.], [1., 2., 3., 4.], [1., 2., 3., 4.]]); let tensor_3 = tensor_1.matmul(tensor_2); diff --git a/burn-tensor/src/tests/ops/maxmin.rs b/burn-tensor/src/tests/ops/maxmin.rs index cff4294af..92222c15b 100644 --- a/burn-tensor/src/tests/ops/maxmin.rs +++ b/burn-tensor/src/tests/ops/maxmin.rs @@ -5,7 +5,7 @@ mod tests { #[test] fn test_max_dim_2d() { - let tensor = TestTensor::from_floats_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let output_actual = tensor.max_dim(1); @@ -15,7 +15,7 @@ mod tests { #[test] fn test_max_dim_with_indices_2d_with_dim_0th() { - let tensor = TestTensor::from_floats_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let (output_actual, index_actual) = tensor.max_dim_with_indices(0); @@ -28,7 +28,7 @@ mod tests { #[test] fn test_max_dim_with_indices_2d() { - let tensor = TestTensor::from_floats_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let (output_actual, index_actual) = tensor.max_dim_with_indices(1); @@ -41,7 +41,7 @@ mod tests { #[test] fn test_min_dim_2d() { - let tensor = TestTensor::from_floats_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let output_actual = tensor.min_dim(1); @@ -51,7 +51,7 @@ mod tests { #[test] fn test_min_dim_with_indices_2d() { - let tensor = TestTensor::from_floats_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let (output_actual, index_actual) = tensor.min_dim_with_indices(1); @@ -64,7 +64,7 @@ mod tests { #[test] fn test_sum_dim_2d() { - let tensor = TestTensor::from_floats_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let output_actual = tensor.clone().sum_dim(1); @@ -79,7 +79,7 @@ mod tests { #[test] fn test_mean_dim_2d() { - let tensor = TestTensor::from_floats_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let output_actual = tensor.clone().mean_dim(1); @@ -94,7 +94,7 @@ mod tests { #[test] fn test_min_dim_2d_with_0th_dim() { - let tensor = TestTensor::from_floats_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let output_actual = tensor.min_dim(0); let output_expected = Data::from([[0., 1., 2.]]); @@ -103,7 +103,7 @@ mod tests { #[test] fn test_max_dim_2d_with_0th_dim() { - let tensor = TestTensor::from_floats_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let output_actual = tensor.max_dim(0); @@ -113,7 +113,7 @@ mod tests { #[test] fn test_min_dim_with_indices_2d_with_0th_dim() { - let tensor = TestTensor::from_floats_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let (output_actual, index_actual) = tensor.min_dim_with_indices(0); diff --git a/burn-tensor/src/tests/ops/mul.rs b/burn-tensor/src/tests/ops/mul.rs index bd393ab49..de351d306 100644 --- a/burn-tensor/src/tests/ops/mul.rs +++ b/burn-tensor/src/tests/ops/mul.rs @@ -5,10 +5,8 @@ mod tests { #[test] fn should_support_mul_ops() { - let data_1 = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let data_2 = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let tensor_2 = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let output = tensor_1 * tensor_2; @@ -19,10 +17,8 @@ mod tests { #[test] fn test_mul_broadcast() { - let data_1 = Data::from([[0.0, 1.0, 2.0]]); - let data_2 = Data::from([[3.0, 4.0, 5.0], [6.0, 7.0, 8.0]]); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = Tensor::::from([[0.0, 1.0, 2.0]]); + let tensor_2 = Tensor::::from([[3.0, 4.0, 5.0], [6.0, 7.0, 8.0]]); let data_actual = (tensor_1 * tensor_2).into_data(); @@ -32,10 +28,8 @@ mod tests { #[test] fn test_mul_broadcast_2_dims() { - let tensor_1: Tensor = - Tensor::from_data_devauto([0.0, 1.0, 2.0]).reshape([3, 1]); - let tensor_2: Tensor = - Tensor::from_data_devauto([3.0, 4.0, 5.0]).reshape([1, 3]); + let tensor_1: Tensor = Tensor::from([0.0, 1.0, 2.0]).reshape([3, 1]); + let tensor_2: Tensor = Tensor::from([3.0, 4.0, 5.0]).reshape([1, 3]); let data_actual = (tensor_1 * tensor_2).into_data(); @@ -45,9 +39,8 @@ mod tests { #[test] fn should_support_mul_scalar_ops() { - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let scalar = 2.0; - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let output = tensor * scalar; @@ -58,10 +51,8 @@ mod tests { #[test] fn should_support_mul_ops_int() { - let data_1 = Data::from([[0, 1, 2], [3, 4, 5]]); - let data_2 = Data::from([[0, 1, 2], [3, 4, 5]]); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = Tensor::::from([[0, 1, 2], [3, 4, 5]]); + let tensor_2 = Tensor::::from([[0, 1, 2], [3, 4, 5]]); let output = tensor_1 * tensor_2; @@ -72,10 +63,8 @@ mod tests { #[test] fn test_mul_broadcast_int() { - let data_1 = Data::from([[0, 1, 2]]); - let data_2 = Data::from([[3, 4, 5], [6, 7, 8]]); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = Tensor::::from([[0, 1, 2]]); + let tensor_2 = Tensor::::from([[3, 4, 5], [6, 7, 8]]); let data_actual = (tensor_1 * tensor_2).into_data(); @@ -85,9 +74,8 @@ mod tests { #[test] fn should_support_mul_scalar_ops_int() { - let data = Data::from([[0, 1, 2], [3, 4, 5]]); let scalar = 2; - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0, 1, 2], [3, 4, 5]]); let output = tensor * scalar; diff --git a/burn-tensor/src/tests/ops/narrow.rs b/burn-tensor/src/tests/ops/narrow.rs index 958f1bf2b..afa907896 100644 --- a/burn-tensor/src/tests/ops/narrow.rs +++ b/burn-tensor/src/tests/ops/narrow.rs @@ -6,7 +6,7 @@ mod tests { #[test] fn test_narrow() { let tensor: Tensor = - Tensor::from_data_devauto(Data::from([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]])); + Tensor::from([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]]); let output = tensor.clone().narrow(0, 0, 2); assert_eq!(output.shape(), Shape::from([2, 3])); @@ -25,7 +25,7 @@ mod tests { #[should_panic] fn test_narrow_invalid_dim() { let tensor: Tensor = - Tensor::from_data_devauto(Data::from([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]])); + Tensor::from([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]]); let output = tensor.narrow(2, 0, 2); } @@ -34,7 +34,7 @@ mod tests { #[should_panic] fn test_narrow_invalid_start() { let tensor: Tensor = - Tensor::from_data_devauto(Data::from([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]])); + Tensor::from([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]]); let output = tensor.narrow(0, 3, 2); } @@ -43,7 +43,7 @@ mod tests { #[should_panic] fn test_narrow_invalid_zero_length() { let tensor: Tensor = - Tensor::from_data_devauto(Data::from([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]])); + Tensor::from([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]]); let output = tensor.narrow(0, 1, 0); } @@ -52,7 +52,7 @@ mod tests { #[should_panic] fn test_narrow_invalid_length() { let tensor: Tensor = - Tensor::from_data_devauto(Data::from([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]])); + Tensor::from([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]]); let output = tensor.narrow(0, 0, 4); } diff --git a/burn-tensor/src/tests/ops/neg.rs b/burn-tensor/src/tests/ops/neg.rs index c72c9049f..b3ce95555 100644 --- a/burn-tensor/src/tests/ops/neg.rs +++ b/burn-tensor/src/tests/ops/neg.rs @@ -5,8 +5,7 @@ mod tests { #[test] fn should_support_neg_ops() { - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let data_actual = tensor.neg().into_data(); diff --git a/burn-tensor/src/tests/ops/powf.rs b/burn-tensor/src/tests/ops/powf.rs index d42f825a2..f553c0b7e 100644 --- a/burn-tensor/src/tests/ops/powf.rs +++ b/burn-tensor/src/tests/ops/powf.rs @@ -5,8 +5,7 @@ mod tests { #[test] fn should_support_powf_ops() { - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let data_actual = tensor.powf(0.71).into_data(); @@ -16,8 +15,7 @@ mod tests { #[test] fn should_support_neg_power() { - let data = Data::from([[1.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[1.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let data_actual = tensor.powf(-0.33).into_data(); @@ -27,8 +25,7 @@ mod tests { #[test] fn should_support_neg_values_with_even_power() { - let data = Data::from([[0.0, -1.0, -2.0], [-3.0, -4.0, -5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, -1.0, -2.0], [-3.0, -4.0, -5.0]]); let data_actual = tensor.powf(4.0).into_data(); @@ -38,8 +35,7 @@ mod tests { #[test] fn should_support_neg_values_with_odd_power() { - let data = Data::from([[0.0, -1.0, -2.0], [-3.0, -4.0, -5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, -1.0, -2.0], [-3.0, -4.0, -5.0]]); let data_actual = tensor.powf(3.0).into_data(); diff --git a/burn-tensor/src/tests/ops/recip.rs b/burn-tensor/src/tests/ops/recip.rs index 8ac931bc7..69c08f6dc 100644 --- a/burn-tensor/src/tests/ops/recip.rs +++ b/burn-tensor/src/tests/ops/recip.rs @@ -5,8 +5,7 @@ mod tests { #[test] fn should_support_recip_ops() { - let data = Data::from([[0.5, 1.0, 2.0], [3.0, -4.0, -5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.5, 1.0, 2.0], [3.0, -4.0, -5.0]]); let data_actual = tensor.recip().into_data(); diff --git a/burn-tensor/src/tests/ops/repeat.rs b/burn-tensor/src/tests/ops/repeat.rs index 3f7c982b0..d1698a640 100644 --- a/burn-tensor/src/tests/ops/repeat.rs +++ b/burn-tensor/src/tests/ops/repeat.rs @@ -5,8 +5,7 @@ mod tests { #[test] fn should_support_repeat_ops() { - let data = Data::from([[0.0, 1.0, 2.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0]]); let data_actual = tensor.repeat(0, 4).into_data(); @@ -21,8 +20,7 @@ mod tests { #[test] fn should_support_bool_repeat_ops() { - let data = Data::from([[true, false, false]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[true, false, false]]); let data_actual = tensor.repeat(0, 4).into_data(); @@ -37,8 +35,7 @@ mod tests { #[test] fn should_support_int_repeat_ops() { - let data = Data::from([[0, 1, 2]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0, 1, 2]]); let data_actual = tensor.repeat(0, 4).into_data(); diff --git a/burn-tensor/src/tests/ops/reshape.rs b/burn-tensor/src/tests/ops/reshape.rs index f8ec69f33..16955dd31 100644 --- a/burn-tensor/src/tests/ops/reshape.rs +++ b/burn-tensor/src/tests/ops/reshape.rs @@ -5,8 +5,7 @@ mod tests { #[test] fn should_support_reshape_1d() { - let data = Data::from([0.0, 1.0, 2.0]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([0.0, 1.0, 2.0]); let data_actual = tensor.clone().reshape([1, 3]).into_data(); let data_expected = Data::from([[0.0, 1.0, 2.0]]); @@ -15,8 +14,7 @@ mod tests { #[test] fn should_support_reshape_int() { - let data = Data::from([0, 1, 2]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([0, 1, 2]); let data_actual = tensor.clone().reshape([1, 3]).into_data(); let data_expected = Data::from([[0, 1, 2]]); @@ -25,8 +23,7 @@ mod tests { #[test] fn should_support_reshape_bool() { - let data = Data::from([false, true, false]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([false, true, false]); let data_actual = tensor.clone().reshape([1, 3]).into_data(); let data_expected = Data::from([[false, true, false]]); @@ -35,8 +32,7 @@ mod tests { #[test] fn should_support_reshape_2d() { - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let data_actual = tensor.clone().reshape([6]).into_data(); let data_expected = Data::from([0.0, 1.0, 2.0, 3.0, 4.0, 5.0]); @@ -45,13 +41,12 @@ mod tests { #[test] fn should_support_dim_infererence() { - let data = Data::from([ + let tensor = Tensor::::from([ [0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0], [9.0, 10.0, 11.0], ]); - let tensor = Tensor::::from_data_devauto(data); // Infer the dimension via -1 let reshaped = tensor.clone().reshape([2, -1]); @@ -73,16 +68,14 @@ mod tests { #[test] #[should_panic] fn multiple_neg_ones() { - let data = Data::from([0.0, 1.0, 2.0]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([0.0, 1.0, 2.0]); let data_actual = tensor.reshape([-1, -1]).into_data(); } #[test] #[should_panic] fn neg_value() { - let data = Data::from([0.0, 1.0, 2.0]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([0.0, 1.0, 2.0]); let data_actual = tensor.reshape([-2, -1]).into_data(); } } diff --git a/burn-tensor/src/tests/ops/select.rs b/burn-tensor/src/tests/ops/select.rs index 584251284..94742e0d3 100644 --- a/burn-tensor/src/tests/ops/select.rs +++ b/burn-tensor/src/tests/ops/select.rs @@ -5,8 +5,8 @@ mod tests { #[test] fn should_select_1d() { - let tensor = TestTensor::from_data_devauto([0.0, 1.0, 2.0]); - let indices = TestTensorInt::from_data_devauto([1, 1, 0, 1, 2]); + let tensor = TestTensor::from([0.0, 1.0, 2.0]); + let indices = TestTensorInt::from([1, 1, 0, 1, 2]); let output = tensor.select(0, indices); @@ -15,8 +15,8 @@ mod tests { #[test] fn should_select_1d_int() { - let tensor = TestTensorInt::from_data_devauto([5, 6, 7]); - let indices = TestTensorInt::from_data_devauto([1, 1, 0, 1, 2]); + let tensor = TestTensorInt::from([5, 6, 7]); + let indices = TestTensorInt::from([1, 1, 0, 1, 2]); let output = tensor.select(0, indices); @@ -25,8 +25,8 @@ mod tests { #[test] fn should_select_2d_dim0_same_num_dim() { - let tensor = TestTensor::from_data_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let indices = TestTensorInt::from_data_devauto(([1, 0])); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let indices = TestTensorInt::from(([1, 0])); let output = tensor.select(0, indices); @@ -38,8 +38,8 @@ mod tests { #[test] fn should_select_2d_dim0_more_num_dim() { - let tensor = TestTensor::from_data_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let indices = TestTensorInt::from_data_devauto([1, 0, 1, 1]); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let indices = TestTensorInt::from([1, 0, 1, 1]); let output = tensor.select(0, indices); @@ -56,8 +56,8 @@ mod tests { #[test] fn should_select_2d_dim1() { - let tensor = TestTensor::from_data_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let indices = TestTensorInt::from_data_devauto([1, 1, 0, 1, 2]); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let indices = TestTensorInt::from([1, 1, 0, 1, 2]); let output = tensor.select(1, indices); @@ -69,9 +69,9 @@ mod tests { #[test] fn should_select_assign_1d() { - let tensor = TestTensor::from_data_devauto([0.0, 1.0, 2.0]); - let values = TestTensor::from_data_devauto([5.0, 4.0, 3.0, 2.0, 1.0]); - let indices = TestTensorInt::from_data_devauto(Data::from([1, 1, 0, 1, 2])); + let tensor = TestTensor::from([0.0, 1.0, 2.0]); + let values = TestTensor::from([5.0, 4.0, 3.0, 2.0, 1.0]); + let indices = TestTensorInt::from([1, 1, 0, 1, 2]); let output = tensor.select_assign(0, indices, values); @@ -80,9 +80,9 @@ mod tests { #[test] fn should_select_assign_1d_int() { - let tensor = TestTensorInt::from_data_devauto([7, 8, 9]); - let values = TestTensorInt::from_data_devauto([5, 4, 3, 2, 1]); - let indices = TestTensorInt::from_data_devauto(Data::from([1, 1, 0, 1, 2])); + let tensor = TestTensorInt::from([7, 8, 9]); + let values = TestTensorInt::from([5, 4, 3, 2, 1]); + let indices = TestTensorInt::from([1, 1, 0, 1, 2]); let output = tensor.select_assign(0, indices, values); @@ -91,9 +91,9 @@ mod tests { #[test] fn should_select_assign_2d_dim0() { - let tensor = TestTensor::from_data_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let values = TestTensor::from_data_devauto([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]); - let indices = TestTensorInt::from_data_devauto(Data::from([1, 0])); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let values = TestTensor::from([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]); + let indices = TestTensorInt::from([1, 0]); let output = tensor.select_assign(0, indices, values); @@ -105,9 +105,9 @@ mod tests { #[test] fn should_select_assign_2d_dim1() { - let tensor = TestTensor::from_data_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let values = TestTensor::from_data_devauto([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]); - let indices = TestTensorInt::from_data_devauto(Data::from([1, 0, 2])); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let values = TestTensor::from([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]); + let indices = TestTensorInt::from([1, 0, 2]); let output = tensor.select_assign(1, indices, values); @@ -120,8 +120,8 @@ mod tests { #[test] #[should_panic] fn should_select_panic_invalid_dimension() { - let tensor = TestTensor::from_data_devauto([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let indices = TestTensorInt::from_data_devauto([1, 1, 0, 1, 2]); + let tensor = TestTensor::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let indices = TestTensorInt::from([1, 1, 0, 1, 2]); tensor.select(10, indices); } diff --git a/burn-tensor/src/tests/ops/sin.rs b/burn-tensor/src/tests/ops/sin.rs index aded31e5a..3557602c8 100644 --- a/burn-tensor/src/tests/ops/sin.rs +++ b/burn-tensor/src/tests/ops/sin.rs @@ -5,8 +5,7 @@ mod tests { #[test] fn should_support_sin_ops() { - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let data_actual = tensor.sin().into_data(); diff --git a/burn-tensor/src/tests/ops/slice.rs b/burn-tensor/src/tests/ops/slice.rs index 1b8687104..2cac70cda 100644 --- a/burn-tensor/src/tests/ops/slice.rs +++ b/burn-tensor/src/tests/ops/slice.rs @@ -6,7 +6,7 @@ mod tests { #[test] fn should_support_full_sliceing_1d() { let data = Data::from([0.0, 1.0, 2.0]); - let tensor = Tensor::::from_data_devauto(data.clone()); + let tensor = Tensor::::from(data.clone()); let data_actual = tensor.slice([0..3]).into_data(); @@ -15,8 +15,7 @@ mod tests { #[test] fn should_support_partial_sliceing_1d() { - let data = Data::from([0.0, 1.0, 2.0]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([0.0, 1.0, 2.0]); let data_actual = tensor.slice([1..3]).into_data(); @@ -27,7 +26,7 @@ mod tests { #[test] fn should_support_full_sliceing_2d() { let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data.clone()); + let tensor = Tensor::::from(data.clone()); let data_actual_1 = tensor.clone().slice([0..2]).into_data(); let data_actual_2 = tensor.slice([0..2, 0..3]).into_data(); @@ -38,8 +37,7 @@ mod tests { #[test] fn should_support_partial_sliceing_2d() { - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let data_actual = tensor.slice([0..2, 0..2]).into_data(); @@ -49,7 +47,7 @@ mod tests { #[test] fn should_support_partial_sliceing_3d() { - let tensor = TestTensor::from_floats_devauto([ + let tensor = TestTensor::from([ [[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]], [[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], ]); @@ -62,7 +60,7 @@ mod tests { #[test] fn should_support_partial_sliceing_3d_non_contiguous() { - let tensor = TestTensor::from_floats_devauto([ + let tensor = TestTensor::from([ [[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]], [[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], ]); @@ -75,11 +73,8 @@ mod tests { #[test] fn should_support_slice_assign_1d() { - let data = Data::from([0.0, 1.0, 2.0]); - let data_assigned = Data::from([10.0, 5.0]); - - let tensor = Tensor::::from_data_devauto(data); - let tensor_assigned = Tensor::::from_data_devauto(data_assigned); + let tensor = Tensor::::from([0.0, 1.0, 2.0]); + let tensor_assigned = Tensor::::from([10.0, 5.0]); let data_actual = tensor.slice_assign([0..2], tensor_assigned).into_data(); @@ -89,11 +84,8 @@ mod tests { #[test] fn should_support_slice_assign_2d() { - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let data_assigned = Data::from([[10.0, 5.0]]); - - let tensor = Tensor::::from_data_devauto(data); - let tensor_assigned = Tensor::::from_data_devauto(data_assigned); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let tensor_assigned = Tensor::::from([[10.0, 5.0]]); let data_actual = tensor .slice_assign([1..2, 0..2], tensor_assigned) @@ -105,7 +97,7 @@ mod tests { #[test] fn slice_should_not_corrupt_potentially_inplace_operations() { - let tensor = Tensor::::from_data_devauto([1, 2, 3, 4, 5]); + let tensor = Tensor::::from([1, 2, 3, 4, 5]); let tensor = tensor.clone().slice([0..3]) + tensor.clone().slice([2..5]); assert_eq!(tensor.into_data(), Data::from([4, 6, 8])); @@ -113,8 +105,8 @@ mod tests { #[test] fn slice_assign_should_not_corrupt_potentially_inplace_operations() { - let tensor = Tensor::::from_data_devauto([1, 2, 3, 4, 5]); - let values = Tensor::::from_data_devauto([10, 20, 30]); + let tensor = Tensor::::from([1, 2, 3, 4, 5]); + let values = Tensor::::from([10, 20, 30]); let tensor_1 = tensor.clone().slice_assign([0..3], values); let tensor_2 = tensor + 2; @@ -126,7 +118,7 @@ mod tests { #[should_panic] fn should_panic_when_slice_exceeds_dimension() { let data = Data::from([0.0, 1.0, 2.0]); - let tensor = Tensor::::from_data_devauto(data.clone()); + let tensor = Tensor::::from(data.clone()); let data_actual = tensor.slice([0..4]).into_data(); @@ -137,7 +129,7 @@ mod tests { #[should_panic] fn should_panic_when_slice_with_too_many_dimensions() { let data = Data::from([0.0, 1.0, 2.0]); - let tensor = Tensor::::from_data_devauto(data.clone()); + let tensor = Tensor::::from(data.clone()); let data_actual = tensor.slice([0..1, 0..1]).into_data(); @@ -148,7 +140,7 @@ mod tests { #[should_panic] fn should_panic_when_slice_is_desc() { let data = Data::from([0.0, 1.0, 2.0]); - let tensor = Tensor::::from_data_devauto(data.clone()); + let tensor = Tensor::::from(data.clone()); #[allow(clippy::reversed_empty_ranges)] let data_actual = tensor.slice([2..1]).into_data(); @@ -160,7 +152,7 @@ mod tests { #[should_panic] fn should_panic_when_slice_is_equal() { let data = Data::from([0.0, 1.0, 2.0]); - let tensor = Tensor::::from_data_devauto(data.clone()); + let tensor = Tensor::::from(data.clone()); let data_actual = tensor.slice([1..1]).into_data(); diff --git a/burn-tensor/src/tests/ops/sqrt.rs b/burn-tensor/src/tests/ops/sqrt.rs index 8f3badb47..3c5ce8313 100644 --- a/burn-tensor/src/tests/ops/sqrt.rs +++ b/burn-tensor/src/tests/ops/sqrt.rs @@ -6,8 +6,7 @@ mod tests { #[test] fn should_support_sqrt_ops() { - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let data_actual = tensor.sqrt().into_data(); diff --git a/burn-tensor/src/tests/ops/stack.rs b/burn-tensor/src/tests/ops/stack.rs index 8db462c45..d7b531c25 100644 --- a/burn-tensor/src/tests/ops/stack.rs +++ b/burn-tensor/src/tests/ops/stack.rs @@ -6,8 +6,8 @@ mod tests { #[test] fn should_support_stack_ops_2d_dim0() { - let tensor_1: Tensor = Tensor::from_data_devauto([[1.0, 2.0, 3.0]]); - let tensor_2: Tensor = Tensor::from_data_devauto([[4.0, 5.0, 6.0]]); + let tensor_1: Tensor = Tensor::from([[1.0, 2.0, 3.0]]); + let tensor_2: Tensor = Tensor::from([[4.0, 5.0, 6.0]]); let output = Tensor::stack(vec![tensor_1, tensor_2], 0); @@ -17,8 +17,8 @@ mod tests { #[test] fn should_support_stack_ops_int() { - let tensor_1 = Tensor::::from_data_devauto([[1, 2, 3]]); - let tensor_2 = Tensor::::from_data_devauto([[4, 5, 6]]); + let tensor_1 = Tensor::::from([[1, 2, 3]]); + let tensor_2 = Tensor::::from([[4, 5, 6]]); let output = Tensor::stack(vec![tensor_1, tensor_2], 0); @@ -28,8 +28,8 @@ mod tests { #[test] fn should_support_stack_ops_bool() { - let tensor_1 = Tensor::::from_data_devauto([[false, true, true]]); - let tensor_2 = Tensor::::from_data_devauto([[true, true, false]]); + let tensor_1 = Tensor::::from([[false, true, true]]); + let tensor_2 = Tensor::::from([[true, true, false]]); let output = Tensor::stack(vec![tensor_1, tensor_2], 0); @@ -39,8 +39,8 @@ mod tests { #[test] fn should_support_stack_ops_2d_dim1() { - let tensor_1: Tensor = Tensor::from_data_devauto([[1.0, 2.0, 3.0]]); - let tensor_2: Tensor = Tensor::from_data_devauto([[4.0, 5.0, 6.0]]); + let tensor_1: Tensor = Tensor::from([[1.0, 2.0, 3.0]]); + let tensor_2: Tensor = Tensor::from([[4.0, 5.0, 6.0]]); let output = Tensor::stack(vec![tensor_1, tensor_2], 1); @@ -51,9 +51,9 @@ mod tests { #[test] fn should_support_stack_ops_3d() { let tensor_1: Tensor = - TestTensor::from_data_devauto([[[1.0, 2.0, 3.0]], [[1.1, 2.1, 3.1]]]); + TestTensor::from([[[1.0, 2.0, 3.0]], [[1.1, 2.1, 3.1]]]); let tensor_2: Tensor = - TestTensor::from_data_devauto([[[4.0, 5.0, 6.0]], [[4.1, 5.1, 6.1]]]); + TestTensor::from([[[4.0, 5.0, 6.0]], [[4.1, 5.1, 6.1]]]); let output = Tensor::stack(vec![tensor_1, tensor_2], 0); @@ -67,9 +67,8 @@ mod tests { #[test] #[should_panic] fn should_panic_when_dimensions_are_not_the_same() { - let tensor_1: Tensor = - Tensor::from_data_devauto([[1.0, 2.0, 3.0], [1.0, 2.0, 3.0]]); - let tensor_2: Tensor = Tensor::from_data_devauto([[4.0, 5.0]]); + let tensor_1: Tensor = Tensor::from([[1.0, 2.0, 3.0], [1.0, 2.0, 3.0]]); + let tensor_2: Tensor = Tensor::from([[4.0, 5.0]]); let output: Tensor = Tensor::stack(vec![tensor_1, tensor_2], 0); } @@ -84,9 +83,8 @@ mod tests { #[test] #[should_panic] fn should_panic_when_stack_exceeds_dimension() { - let tensor_1: Tensor = - Tensor::from_data_devauto([[[1.0, 2.0, 3.0]], [[1.1, 2.1, 3.1]]]); - let tensor_2: Tensor = Tensor::from_data_devauto([[[4.0, 5.0, 6.0]]]); + let tensor_1: Tensor = Tensor::from([[[1.0, 2.0, 3.0]], [[1.1, 2.1, 3.1]]]); + let tensor_2: Tensor = Tensor::from([[[4.0, 5.0, 6.0]]]); let output: Tensor = TestTensor::stack(vec![tensor_1, tensor_2], 3); } diff --git a/burn-tensor/src/tests/ops/sub.rs b/burn-tensor/src/tests/ops/sub.rs index a17e51001..78cf33453 100644 --- a/burn-tensor/src/tests/ops/sub.rs +++ b/burn-tensor/src/tests/ops/sub.rs @@ -5,23 +5,19 @@ mod tests { #[test] fn should_support_sub_ops() { - let data_1 = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let data_2 = Data::from([[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]]); - let data_expected = Data::from([[-6.0, -6.0, -6.0], [-6.0, -6.0, -6.0]]); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); + let tensor_2 = Tensor::::from([[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]]); let data_actual = (tensor_1 - tensor_2).into_data(); + let data_expected = Data::from([[-6.0, -6.0, -6.0], [-6.0, -6.0, -6.0]]); assert_eq!(data_expected, data_actual); } #[test] fn test_sub_broadcast() { - let data_1 = Data::from([[0.0, 1.0, 2.0]]); - let data_2 = Data::from([[3.0, 4.0, 5.0], [6.0, 7.0, 8.0]]); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = Tensor::::from([[0.0, 1.0, 2.0]]); + let tensor_2 = Tensor::::from([[3.0, 4.0, 5.0], [6.0, 7.0, 8.0]]); let data_actual = (tensor_1 - tensor_2).into_data(); @@ -31,9 +27,8 @@ mod tests { #[test] fn should_support_sub_scalar_ops() { - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let scalar = 2.0; - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let output = tensor - scalar; @@ -44,23 +39,19 @@ mod tests { #[test] fn should_support_sub_ops_int() { - let data_1 = Data::from([[0, 1, 2], [3, 4, 5]]); - let data_2 = Data::from([[6, 7, 8], [9, 10, 11]]); - let data_expected = Data::from([[-6, -6, -6], [-6, -6, -6]]); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = Tensor::::from([[0, 1, 2], [3, 4, 5]]); + let tensor_2 = Tensor::::from([[6, 7, 8], [9, 10, 11]]); let data_actual = (tensor_1 - tensor_2).into_data(); + let data_expected = Data::from([[-6, -6, -6], [-6, -6, -6]]); assert_eq!(data_expected, data_actual); } #[test] fn test_sub_broadcast_int() { - let data_1 = Data::from([[0, 1, 2]]); - let data_2 = Data::from([[3, 4, 5], [6, 7, 8]]); - let tensor_1 = Tensor::::from_data_devauto(data_1); - let tensor_2 = Tensor::::from_data_devauto(data_2); + let tensor_1 = Tensor::::from([[0, 1, 2]]); + let tensor_2 = Tensor::::from([[3, 4, 5], [6, 7, 8]]); let data_actual = (tensor_1 - tensor_2).into_data(); @@ -70,9 +61,8 @@ mod tests { #[test] fn should_support_sub_scalar_ops_int() { - let data = Data::from([[0, 1, 2], [3, 4, 5]]); let scalar = 2; - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0, 1, 2], [3, 4, 5]]); let output = tensor - scalar; diff --git a/burn-tensor/src/tests/ops/tanh.rs b/burn-tensor/src/tests/ops/tanh.rs index 7e7bafb96..b29a53614 100644 --- a/burn-tensor/src/tests/ops/tanh.rs +++ b/burn-tensor/src/tests/ops/tanh.rs @@ -5,8 +5,7 @@ mod tests { #[test] fn should_support_tanh_ops() { - let data = Data::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]]); let data_actual = tensor.tanh().into_data(); diff --git a/burn-tensor/src/tests/ops/transpose.rs b/burn-tensor/src/tests/ops/transpose.rs index 84fd2128e..97d5c5c46 100644 --- a/burn-tensor/src/tests/ops/transpose.rs +++ b/burn-tensor/src/tests/ops/transpose.rs @@ -5,7 +5,7 @@ mod tests { #[test] fn should_support_transpose_ops() { - let tensor = TestTensor::from_floats_devauto([ + let tensor = TestTensor::from([ [[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]], [[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], ]); @@ -21,7 +21,7 @@ mod tests { #[test] fn should_support_swap_dims() { - let tensor = TestTensor::from_floats_devauto([ + let tensor = TestTensor::from([ [[0.0, 1.0, 2.0], [3.0, 4.0, 5.0]], [[6.0, 7.0, 8.0], [9.0, 10.0, 11.0]], ]); @@ -38,10 +38,8 @@ mod tests { #[test] fn should_support_transpose_ops_int() { - let tensor = Tensor::::from_data_devauto([ - [[0, 1, 2], [3, 4, 5]], - [[6, 7, 8], [9, 10, 11]], - ]); + let tensor = + Tensor::::from([[[0, 1, 2], [3, 4, 5]], [[6, 7, 8], [9, 10, 11]]]); let data_actual = tensor.transpose().into_data(); @@ -51,10 +49,8 @@ mod tests { #[test] fn should_support_swap_dims_int() { - let tensor = Tensor::::from_data_devauto([ - [[0, 1, 2], [3, 4, 5]], - [[6, 7, 8], [9, 10, 11]], - ]); + let tensor = + Tensor::::from([[[0, 1, 2], [3, 4, 5]], [[6, 7, 8], [9, 10, 11]]]); let data_actual = tensor.swap_dims(0, 2).into_data(); @@ -64,7 +60,7 @@ mod tests { #[test] fn should_support_transpose_bool() { - let tensor = Tensor::::from_data_devauto([ + let tensor = Tensor::::from([ [[false, true, false], [false, false, false]], [[false, false, true], [false, false, true]], ]); @@ -80,7 +76,7 @@ mod tests { #[test] fn should_support_swap_dims_bool() { - let tensor = Tensor::::from_data_devauto([ + let tensor = Tensor::::from([ [[false, true, false], [false, false, false]], [[false, false, true], [false, false, true]], ]); diff --git a/burn-tensor/src/tests/ops/tri.rs b/burn-tensor/src/tests/ops/tri.rs index 41fca7c6f..7715d3ae2 100644 --- a/burn-tensor/src/tests/ops/tri.rs +++ b/burn-tensor/src/tests/ops/tri.rs @@ -6,7 +6,7 @@ mod tests { #[test] fn test_triu() { let tensor: Tensor = - Tensor::from_data_devauto(Data::from([[1., 1., 1.], [1., 1., 1.], [1., 1., 1.]])); + Tensor::from([[1., 1., 1.], [1., 1., 1.], [1., 1., 1.]]); let output = tensor.triu(0); assert_eq!( output.to_data(), @@ -16,8 +16,7 @@ mod tests { #[test] fn test_triu_positive_diagonal() { - let tensor: Tensor = - Tensor::from_data_devauto(Data::from([[1, 1, 1], [1, 1, 1], [1, 1, 1]])); + let tensor: Tensor = Tensor::from([[1, 1, 1], [1, 1, 1], [1, 1, 1]]); let output = tensor.triu(1); assert_eq!( @@ -28,8 +27,7 @@ mod tests { #[test] fn test_triu_negative_diagonal() { - let tensor: Tensor = - Tensor::from_data_devauto(Data::from([[1, 1, 1], [1, 1, 1], [1, 1, 1]])); + let tensor: Tensor = Tensor::from([[1, 1, 1], [1, 1, 1], [1, 1, 1]]); let output = tensor.triu(-1); assert_eq!( @@ -40,10 +38,10 @@ mod tests { #[test] fn test_triu_batch_tensors() { - let tensor: Tensor = Tensor::from_data_devauto(Data::from([ + let tensor: Tensor = Tensor::from([ [[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]], [[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]], - ])); + ]); let output = tensor.triu(1); assert_eq!( output.to_data(), @@ -57,14 +55,14 @@ mod tests { #[test] #[should_panic] fn test_triu_too_few_dims() { - let tensor: Tensor = Tensor::from_data_devauto(Data::from([1, 2, 3])); + let tensor: Tensor = Tensor::from([1, 2, 3]); let output = tensor.triu(0); } #[test] fn test_tril() { let tensor: Tensor = - Tensor::from_data_devauto(Data::from([[1., 1., 1.], [1., 1., 1.], [1., 1., 1.]])); + Tensor::from(Data::from([[1., 1., 1.], [1., 1., 1.], [1., 1., 1.]])); let output = tensor.tril(0); assert_eq!( output.to_data(), @@ -75,7 +73,7 @@ mod tests { #[test] fn test_tril_positive_diagonal() { let tensor: Tensor = - Tensor::from_data_devauto(Data::from([[1, 1, 1], [1, 1, 1], [1, 1, 1]])); + Tensor::from(Data::from([[1, 1, 1], [1, 1, 1], [1, 1, 1]])); let output = tensor.tril(1); assert_eq!( @@ -87,7 +85,7 @@ mod tests { #[test] fn test_tril_negative_diagonal() { let tensor: Tensor = - Tensor::from_data_devauto(Data::from([[1, 1, 1], [1, 1, 1], [1, 1, 1]])); + Tensor::from(Data::from([[1, 1, 1], [1, 1, 1], [1, 1, 1]])); let output = tensor.tril(-1); assert_eq!( @@ -98,10 +96,10 @@ mod tests { #[test] fn test_tril_batch_tensors() { - let tensor: Tensor = Tensor::from_data_devauto(Data::from([ + let tensor: Tensor = Tensor::from([ [[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]], [[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]], - ])); + ]); let output = tensor.tril(1); assert_eq!( output.to_data(), @@ -115,7 +113,7 @@ mod tests { #[test] #[should_panic] fn test_tril_too_few_dims() { - let tensor: Tensor = Tensor::from_data_devauto(Data::from([1, 2, 3])); + let tensor: Tensor = Tensor::from([1, 2, 3]); let output = tensor.tril(0); } } diff --git a/burn-tensor/src/tests/stats/cov.rs b/burn-tensor/src/tests/stats/cov.rs index efa40cc63..36b097956 100644 --- a/burn-tensor/src/tests/stats/cov.rs +++ b/burn-tensor/src/tests/stats/cov.rs @@ -9,8 +9,7 @@ mod tests { #[test] fn test_cov_1() { - let data = Data::from([[0.5, 1.8, 0.2, -2.0], [3.0, -4.0, 5.0, 0.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.5, 1.8, 0.2, -2.0], [3.0, -4.0, 5.0, 0.0]]); let data_actual = tensor.cov(1, 1).into_data(); @@ -20,8 +19,7 @@ mod tests { #[test] fn test_cov_4() { - let data = Data::from([[0.5, 1.8, 0.2, -2.0], [3.0, -4.0, 5.0, 0.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = Tensor::::from([[0.5, 1.8, 0.2, -2.0], [3.0, -4.0, 5.0, 0.0]]); let data_actual = tensor.cov(1, 0).into_data(); @@ -31,8 +29,8 @@ mod tests { #[test] fn test_cov_2() { - let data = Data::from([[0.5, 1.8], [0.2, -2.0], [3.0, -4.0], [5.0, 0.0]]); - let tensor = Tensor::::from_data_devauto(data); + let tensor = + Tensor::::from([[0.5, 1.8], [0.2, -2.0], [3.0, -4.0], [5.0, 0.0]]); let data_actual = tensor.cov(1, 1).into_data(); @@ -47,13 +45,12 @@ mod tests { #[test] fn test_cov_3() { - let data = Data::from([ + let tensor = Tensor::::from([ [[0.5, 1.8, 0.2, -2.0], [3.0, -4.0, 5.0, 0.0]], [[0.5, 1.8, 0.2, -2.0], [3.0, -4.0, 5.0, 0.0]], [[0.5, 1.8, 0.2, -2.0], [3.0, -4.0, 5.0, 0.0]], [[0.5, 1.8, 0.2, -2.0], [3.0, -4.0, 5.0, 0.0]], ]); - let tensor = Tensor::::from_data_devauto(data); let data_actual = tensor.cov(0, 1).into_data(); let data_expected = Tensor::::zeros_devauto([4, 4, 4]).to_data(); data_expected.assert_approx_eq(&data_actual, 3); diff --git a/burn-tensor/src/tests/stats/display.rs b/burn-tensor/src/tests/stats/display.rs index 2711971a8..08534965e 100644 --- a/burn-tensor/src/tests/stats/display.rs +++ b/burn-tensor/src/tests/stats/display.rs @@ -9,9 +9,8 @@ mod tests { #[test] fn test_display_2d_int_tensor() { - let int_data = Data::from([[1, 2, 3], [4, 5, 6], [7, 8, 9]]); let tensor_int: burn_tensor::Tensor = - Tensor::from_data_devauto(int_data); + Tensor::from([[1, 2, 3], [4, 5, 6], [7, 8, 9]]); let output = format!("{}", tensor_int); let expected = format!( @@ -35,9 +34,8 @@ mod tests { #[test] fn test_display_2d_float_tensor() { - let float_data = Data::from([[1.1, 2.2, 3.3], [4.4, 5.5, 6.6], [7.7, 8.8, 9.9]]); let tensor_float: burn_tensor::Tensor = - Tensor::from_data_devauto(float_data); + Tensor::from([[1.1, 2.2, 3.3], [4.4, 5.5, 6.6], [7.7, 8.8, 9.9]]); let output = format!("{}", tensor_float); let expected = format!( @@ -61,13 +59,11 @@ mod tests { #[test] fn test_display_2d_bool_tensor() { - let bool_data = Data::from([ + let tensor_bool: burn_tensor::Tensor = Tensor::from([ [true, false, true], [false, true, false], [false, true, true], ]); - let tensor_bool: burn_tensor::Tensor = - Tensor::from_data_devauto(bool_data); let output = format!("{}", tensor_bool); let expected = format!( @@ -90,12 +86,10 @@ mod tests { #[test] fn test_display_3d_tensor() { - let data = Data::from([ + let tensor: burn_tensor::Tensor = Tensor::from([ [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], [[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]], ]); - let tensor: burn_tensor::Tensor = - Tensor::from_data_devauto(data); let output = format!("{}", tensor); let expected = format!( @@ -122,14 +116,11 @@ mod tests { #[test] fn test_display_4d_tensor() { - let data = Data::from([ + let tensor: burn_tensor::Tensor = Tensor::from([ [[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]], [[[13, 14, 15], [16, 17, 18]], [[19, 20, 21], [22, 23, 24]]], ]); - let tensor: burn_tensor::Tensor = - Tensor::from_data_devauto(data); - let output = format!("{}", tensor); let expected = format!( r#"Tensor {{ diff --git a/burn-tensor/src/tests/stats/var.rs b/burn-tensor/src/tests/stats/var.rs index 3d78c8785..e0e8e4044 100644 --- a/burn-tensor/src/tests/stats/var.rs +++ b/burn-tensor/src/tests/stats/var.rs @@ -9,7 +9,7 @@ mod tests { #[test] fn test_var() { - let tensor = TestTensor::from_data_devauto([[0.5, 1.8, 0.2, -2.0], [3.0, -4.0, 5.0, 0.0]]); + let tensor = TestTensor::from([[0.5, 1.8, 0.2, -2.0], [3.0, -4.0, 5.0, 0.0]]); let data_actual = tensor.var(1).into_data(); @@ -19,7 +19,7 @@ mod tests { #[test] fn test_var_mean() { - let tensor = TestTensor::from_data_devauto([[0.5, 1.8, 0.2, -2.0], [3.0, -4.0, 5.0, 0.0]]); + let tensor = TestTensor::from([[0.5, 1.8, 0.2, -2.0], [3.0, -4.0, 5.0, 0.0]]); let (var, mean) = tensor.var_mean(1); @@ -32,7 +32,7 @@ mod tests { #[test] fn test_var_bias() { - let tensor = TestTensor::from_data_devauto([[0.5, 1.8, 0.2, -2.0], [3.0, -4.0, 5.0, 0.0]]); + let tensor = TestTensor::from([[0.5, 1.8, 0.2, -2.0], [3.0, -4.0, 5.0, 0.0]]); let data_actual = tensor.var_bias(1).into_data(); @@ -42,7 +42,7 @@ mod tests { #[test] fn test_var_mean_bias() { - let tensor = TestTensor::from_data_devauto([[0.5, 1.8, 0.2, -2.0], [3.0, -4.0, 5.0, 0.0]]); + let tensor = TestTensor::from([[0.5, 1.8, 0.2, -2.0], [3.0, -4.0, 5.0, 0.0]]); let (var, mean) = tensor.var_mean_bias(1); diff --git a/burn-train/src/metric/acc.rs b/burn-train/src/metric/acc.rs index 59e7d5989..e56186a43 100644 --- a/burn-train/src/metric/acc.rs +++ b/burn-train/src/metric/acc.rs @@ -94,13 +94,13 @@ mod tests { fn test_accuracy_without_padding() { let mut metric = AccuracyMetric::::new(); let input = AccuracyInput::new( - Tensor::from_data_devauto([ + Tensor::from([ [0.0, 0.2, 0.8], // 2 [1.0, 2.0, 0.5], // 1 [0.4, 0.1, 0.2], // 0 [0.6, 0.7, 0.2], // 1 ]), - Tensor::from_data_devauto([2, 2, 1, 1]), + Tensor::from([2, 2, 1, 1]), ); let _entry = metric.update(&input, &MetricMetadata::fake()); @@ -111,7 +111,7 @@ mod tests { fn test_accuracy_with_padding() { let mut metric = AccuracyMetric::::new().with_pad_token(3); let input = AccuracyInput::new( - Tensor::from_data_devauto([ + Tensor::from([ [0.0, 0.2, 0.8, 0.0], // 2 [1.0, 2.0, 0.5, 0.0], // 1 [0.4, 0.1, 0.2, 0.0], // 0 @@ -120,7 +120,7 @@ mod tests { [0.0, 0.1, 0.2, 0.0], // Error on padding should not count [0.6, 0.0, 0.2, 0.0], // Error on padding should not count ]), - Tensor::from_data_devauto([2, 2, 1, 1, 3, 3, 3]), + Tensor::from([2, 2, 1, 1, 3, 3, 3]), ); let _entry = metric.update(&input, &MetricMetadata::fake()); diff --git a/burn-train/src/metric/processor/mod.rs b/burn-train/src/metric/processor/mod.rs index 18516c2a2..c8d72ea9e 100644 --- a/burn-train/src/metric/processor/mod.rs +++ b/burn-train/src/metric/processor/mod.rs @@ -20,7 +20,7 @@ pub(crate) mod test_utils { impl Adaptor> for f64 { fn adapt(&self) -> LossInput { - LossInput::new(Tensor::from_data_devauto([self.elem()])) + LossInput::new(Tensor::from([self.elem()])) } } diff --git a/burn-wgpu/src/fusion/elemwise/optimization.rs b/burn-wgpu/src/fusion/elemwise/optimization.rs index 02feb25ce..bb4a1f21f 100644 --- a/burn-wgpu/src/fusion/elemwise/optimization.rs +++ b/burn-wgpu/src/fusion/elemwise/optimization.rs @@ -209,8 +209,8 @@ mod tests { data_2: Data, variant: ImplementationDetails, ) -> Data { - let tensor_1 = Tensor::::from_data_devauto(data_1.convert()); - let tensor_2 = Tensor::::from_data_devauto(data_2.convert()); + let tensor_1 = Tensor::::from(data_1.convert()); + let tensor_2 = Tensor::::from(data_2.convert()); let tensor_3 = tensor_1.clone() + tensor_2; let tensor_4 = tensor_3.clone() - tensor_1; let mut tensor_5 = tensor_4.clone() + 5.0; diff --git a/burn-wgpu/src/kernel/cat.rs b/burn-wgpu/src/kernel/cat.rs index 3c4441af9..2ef72701a 100644 --- a/burn-wgpu/src/kernel/cat.rs +++ b/burn-wgpu/src/kernel/cat.rs @@ -81,7 +81,7 @@ mod tests { .collect::>(); let tensors_ref = tensors .iter() - .map(|tensor| Tensor::::from_data_devauto(tensor.to_data())) + .map(|tensor| Tensor::::from(tensor.to_data())) .collect::>(); let tensor = Tensor::::cat(tensors, dim); diff --git a/burn-wgpu/src/kernel/clamp.rs b/burn-wgpu/src/kernel/clamp.rs index 438a5d1d4..a69480d99 100644 --- a/burn-wgpu/src/kernel/clamp.rs +++ b/burn-wgpu/src/kernel/clamp.rs @@ -32,7 +32,7 @@ mod tests { #[test] fn clamp_should_match_reference() { let input = Tensor::::random_devauto([1, 5, 32, 32], Distribution::Default); - let input_ref = Tensor::::from_data_devauto(input.to_data()); + let input_ref = Tensor::::from(input.to_data()); let output = input.clamp(0.3, 0.7); diff --git a/burn-wgpu/src/kernel/conv/conv2d.rs b/burn-wgpu/src/kernel/conv/conv2d.rs index 6ec7bd366..bc1eac826 100644 --- a/burn-wgpu/src/kernel/conv/conv2d.rs +++ b/burn-wgpu/src/kernel/conv/conv2d.rs @@ -94,9 +94,9 @@ mod tests { Tensor::::random_devauto([6, 16, 32, 32], Distribution::Default); let weight = Tensor::::random_devauto([12, 8, 3, 3], Distribution::Default); let bias = Tensor::::random_devauto([12], Distribution::Default); - let input_ref = Tensor::::from_data_devauto(input.to_data()); - let weight_ref = Tensor::::from_data_devauto(weight.to_data()); - let bias_ref = Tensor::::from_data_devauto(bias.to_data()); + let input_ref = Tensor::::from(input.to_data()); + let weight_ref = Tensor::::from(weight.to_data()); + let bias_ref = Tensor::::from(bias.to_data()); let options = burn_tensor::ops::ConvOptions::new([2, 3], [2, 3], [2, 3], 2); let output = module::conv2d(input, weight, Some(bias), options.clone()); diff --git a/burn-wgpu/src/kernel/conv/conv_transpose2d.rs b/burn-wgpu/src/kernel/conv/conv_transpose2d.rs index 774af408f..6cc60e41e 100644 --- a/burn-wgpu/src/kernel/conv/conv_transpose2d.rs +++ b/burn-wgpu/src/kernel/conv/conv_transpose2d.rs @@ -106,9 +106,9 @@ mod tests { Distribution::Default, ); let bias = Tensor::::random_devauto([out_channels], Distribution::Default); - let input_ref = Tensor::::from_data_devauto(input.to_data()); - let weight_ref = Tensor::::from_data_devauto(weight.to_data()); - let bias_ref = Tensor::::from_data_devauto(bias.to_data()); + let input_ref = Tensor::::from(input.to_data()); + let weight_ref = Tensor::::from(weight.to_data()); + let bias_ref = Tensor::::from(bias.to_data()); let output = module::conv_transpose2d(input, weight, Some(bias), options.clone()); let output_ref = module::conv_transpose2d(input_ref, weight_ref, Some(bias_ref), options); diff --git a/burn-wgpu/src/kernel/index/gather.rs b/burn-wgpu/src/kernel/index/gather.rs index be3bc04c5..1261237c8 100644 --- a/burn-wgpu/src/kernel/index/gather.rs +++ b/burn-wgpu/src/kernel/index/gather.rs @@ -61,7 +61,7 @@ mod tests { let max = shape[dim]; let shape = Shape::new(shape); let tensor = Tensor::::random_devauto(shape.clone(), Distribution::Default); - let indices = Tensor::::from_data_devauto( + let indices = Tensor::::from( Tensor::::random_devauto( [shape.num_elements()], Distribution::Uniform(0., max as f64), @@ -70,9 +70,8 @@ mod tests { .convert(), ) .reshape(shape); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); - let indices_ref = - Tensor::::from_data_devauto(indices.to_data().convert()); + let tensor_ref = Tensor::::from(tensor.to_data()); + let indices_ref = Tensor::::from(indices.to_data().convert()); let actual = Tensor::::from_primitive(gather( dim, diff --git a/burn-wgpu/src/kernel/index/repeat.rs b/burn-wgpu/src/kernel/index/repeat.rs index df7fbc4c1..033e3a91c 100644 --- a/burn-wgpu/src/kernel/index/repeat.rs +++ b/burn-wgpu/src/kernel/index/repeat.rs @@ -58,7 +58,7 @@ mod tests { let tensor = Tensor::::random_devauto([1, 6, 6], Distribution::Default); let dim = 0; let times = 4; - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); let actual = repeat(tensor.into_primitive(), dim, times); let expected = tensor_ref.repeat(dim, times); @@ -74,7 +74,7 @@ mod tests { let tensor = Tensor::::random_devauto([6, 1, 6], Distribution::Default); let dim = 1; let times = 4; - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); let actual = repeat(tensor.into_primitive(), dim, times); let expected = tensor_ref.repeat(dim, times); @@ -90,7 +90,7 @@ mod tests { let tensor = Tensor::::random_devauto([6, 6, 1], Distribution::Default); let dim = 2; let times = 4; - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); let actual = repeat(tensor.into_primitive(), dim, times); let expected = tensor_ref.repeat(dim, times); @@ -106,7 +106,7 @@ mod tests { let tensor = Tensor::::random_devauto([10, 10, 1], Distribution::Default); let dim = 2; let times = 200; - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); let actual = repeat(tensor.into_primitive(), dim, times); let expected = tensor_ref.repeat(dim, times); diff --git a/burn-wgpu/src/kernel/index/scatter.rs b/burn-wgpu/src/kernel/index/scatter.rs index 90b4e0d42..357382f7b 100644 --- a/burn-wgpu/src/kernel/index/scatter.rs +++ b/burn-wgpu/src/kernel/index/scatter.rs @@ -108,7 +108,7 @@ mod tests { TestBackend::seed(0); let tensor = Tensor::::random_devauto(shape1, Distribution::Default); let value = Tensor::::random_devauto(shape2, Distribution::Default); - let indices = Tensor::::from_data_devauto( + let indices = Tensor::::from( Tensor::::random_devauto( [shape2.iter().product()], Distribution::Uniform(0., shape2[dim] as f64), @@ -117,10 +117,9 @@ mod tests { .convert(), ) .reshape(shape2); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); - let value_ref = Tensor::::from_data_devauto(value.to_data()); - let indices_ref = - Tensor::::from_data_devauto(indices.to_data().convert()); + let tensor_ref = Tensor::::from(tensor.to_data()); + let value_ref = Tensor::::from(value.to_data()); + let indices_ref = Tensor::::from(indices.to_data().convert()); let actual = Tensor::::from_primitive(scatter( dim, diff --git a/burn-wgpu/src/kernel/index/select.rs b/burn-wgpu/src/kernel/index/select.rs index 50707f97d..d6e82e253 100644 --- a/burn-wgpu/src/kernel/index/select.rs +++ b/burn-wgpu/src/kernel/index/select.rs @@ -107,9 +107,8 @@ mod tests { fn select_should_work_with_multiple_workgroups() { let tensor = Tensor::::random_devauto([6, 256], Distribution::Default); let indices = Tensor::::arange_devauto(0..100); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); - let indices_ref = - Tensor::::from_data_devauto(indices.to_data().convert()); + let tensor_ref = Tensor::::from(tensor.to_data()); + let indices_ref = Tensor::::from(indices.to_data().convert()); let actual = select(tensor.into_primitive(), 1, indices.into_primitive()); let expected = tensor_ref.select(1, indices_ref); @@ -149,7 +148,7 @@ mod tests { TestBackend::seed(0); let tensor = Tensor::::random_devauto(shape, Distribution::Default); let value = Tensor::::random_devauto(shape, Distribution::Default); - let indices = Tensor::::from_data_devauto( + let indices = Tensor::::from( Tensor::::random_devauto( [shape[dim]], Distribution::Uniform(0., shape[dim] as f64), @@ -157,10 +156,9 @@ mod tests { .into_data() .convert(), ); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); - let value_ref = Tensor::::from_data_devauto(value.to_data()); - let indices_ref = - Tensor::::from_data_devauto(indices.to_data().convert()); + let tensor_ref = Tensor::::from(tensor.to_data()); + let value_ref = Tensor::::from(value.to_data()); + let indices_ref = Tensor::::from(indices.to_data().convert()); let actual = Tensor::::from_primitive(select_assign( tensor.into_primitive(), diff --git a/burn-wgpu/src/kernel/index/slice.rs b/burn-wgpu/src/kernel/index/slice.rs index 0ba5048c3..914e92a74 100644 --- a/burn-wgpu/src/kernel/index/slice.rs +++ b/burn-wgpu/src/kernel/index/slice.rs @@ -98,7 +98,7 @@ mod tests { fn slice_should_work_with_multiple_workgroups() { let tensor = Tensor::::random_devauto([6, 256], Distribution::Default); let indices = [3..5, 45..256]; - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); let actual = slice(tensor.into_primitive(), indices.clone()); let expected = tensor_ref.slice(indices); @@ -114,8 +114,8 @@ mod tests { let tensor = Tensor::::random_devauto([6, 256], Distribution::Default); let value = Tensor::::random_devauto([2, 211], Distribution::Default); let indices = [3..5, 45..256]; - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); - let value_ref = Tensor::::from_data_devauto(value.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); + let value_ref = Tensor::::from(value.to_data()); let actual = slice_assign( tensor.into_primitive(), diff --git a/burn-wgpu/src/kernel/mask/mask_fill.rs b/burn-wgpu/src/kernel/mask/mask_fill.rs index dc21f509e..18877f619 100644 --- a/burn-wgpu/src/kernel/mask/mask_fill.rs +++ b/burn-wgpu/src/kernel/mask/mask_fill.rs @@ -115,8 +115,8 @@ mod tests { let mask = Tensor::::random_devauto([2, 6, 256], Distribution::Uniform(0., 1.)) .lower_equal_elem(0.5); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); - let mask_ref = Tensor::::from_data_devauto(mask.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); + let mask_ref = Tensor::::from(mask.to_data()); (tensor, mask, tensor_ref, mask_ref) } diff --git a/burn-wgpu/src/kernel/mask/mask_where.rs b/burn-wgpu/src/kernel/mask/mask_where.rs index 4d06e0365..7efd34a48 100644 --- a/burn-wgpu/src/kernel/mask/mask_where.rs +++ b/burn-wgpu/src/kernel/mask/mask_where.rs @@ -141,9 +141,9 @@ mod tests { let mask = Tensor::::random_devauto([2, 6, 256], Distribution::Uniform(0., 1.)) .lower_equal_elem(0.5); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); - let value_ref = Tensor::::from_data_devauto(value.to_data()); - let mask_ref = Tensor::::from_data_devauto(mask.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); + let value_ref = Tensor::::from(value.to_data()); + let mask_ref = Tensor::::from(mask.to_data()); assert_eq!(mask.to_data(), mask_ref.to_data()); (tensor, value, mask, tensor_ref, value_ref, mask_ref) diff --git a/burn-wgpu/src/kernel/matmul/utils.rs b/burn-wgpu/src/kernel/matmul/utils.rs index d2ce19fe9..3efb3a1bb 100644 --- a/burn-wgpu/src/kernel/matmul/utils.rs +++ b/burn-wgpu/src/kernel/matmul/utils.rs @@ -49,8 +49,8 @@ pub(crate) mod tests { burn_tensor::Distribution::Uniform(-1.0, 1.0), ); - let x_wgpu = TestTensor::from_data_devauto(x.to_data()).into_primitive(); - let y_wgpu = TestTensor::from_data_devauto(y.to_data()).into_primitive(); + let x_wgpu = TestTensor::from(x.to_data()).into_primitive(); + let y_wgpu = TestTensor::from(y.to_data()).into_primitive(); let z_reference = x.matmul(y); @@ -80,8 +80,8 @@ pub(crate) mod tests { burn_tensor::Distribution::Uniform(-1.0, 1.0), ); - let x_wgpu = TestTensor::from_data_devauto(x.to_data()).swap_dims(swap_lhs[0], swap_lhs[1]); - let y_wgpu = TestTensor::from_data_devauto(y.to_data()).swap_dims(swap_rhs[0], swap_rhs[1]); + let x_wgpu = TestTensor::from(x.to_data()).swap_dims(swap_lhs[0], swap_lhs[1]); + let y_wgpu = TestTensor::from(y.to_data()).swap_dims(swap_rhs[0], swap_rhs[1]); let z_reference = x .swap_dims(swap_lhs[0], swap_lhs[1]) diff --git a/burn-wgpu/src/kernel/pool/avg_pool2d.rs b/burn-wgpu/src/kernel/pool/avg_pool2d.rs index 63f5e6fcd..ba64a3c1e 100644 --- a/burn-wgpu/src/kernel/pool/avg_pool2d.rs +++ b/burn-wgpu/src/kernel/pool/avg_pool2d.rs @@ -109,7 +109,7 @@ mod tests { fn avg_pool2d_should_work_with_multiple_invocations() { let tensor = Tensor::::random_devauto([32, 32, 32, 32], Distribution::Default); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); let kernel_size = [3, 4]; let stride = [1, 2]; let padding = [1, 2]; @@ -130,7 +130,7 @@ mod tests { ReferenceBackend::seed(0); let tensor = Tensor::::random_devauto([32, 32, 32, 32], Distribution::Default); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); let kernel_size = [3, 3]; let stride = [1, 1]; let padding = [1, 1]; @@ -146,8 +146,7 @@ mod tests { .shape(); let grad_output = Tensor::::random_devauto(shape_out, Distribution::Default); - let grad_output_ref = - Tensor::::from_data_devauto(grad_output.to_data()); + let grad_output_ref = Tensor::::from(grad_output.to_data()); let grad: Tensor = Tensor::from_primitive(TestBackend::avg_pool2d_backward( diff --git a/burn-wgpu/src/kernel/pool/max_pool2d.rs b/burn-wgpu/src/kernel/pool/max_pool2d.rs index 91d482cde..15248fd56 100644 --- a/burn-wgpu/src/kernel/pool/max_pool2d.rs +++ b/burn-wgpu/src/kernel/pool/max_pool2d.rs @@ -110,7 +110,7 @@ mod tests { pub fn max_pool2d_should_work_with_multiple_invocations() { let tensor = Tensor::::random_devauto([32, 32, 32, 32], Distribution::Default); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); let kernel_size = [3, 3]; let stride = [2, 2]; let padding = [1, 1]; @@ -128,7 +128,7 @@ mod tests { pub fn max_pool2d_with_indices_should_work_with_multiple_invocations() { let tensor = Tensor::::random_devauto([32, 32, 32, 32], Distribution::Default); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); let kernel_size = [3, 3]; let stride = [2, 2]; let padding = [1, 1]; @@ -151,9 +151,8 @@ mod tests { Tensor::::random_devauto([32, 32, 32, 32], Distribution::Default); let grad_output = Tensor::::random_devauto([32, 32, 16, 16], Distribution::Default); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); - let grad_output_ref = - Tensor::::from_data_devauto(grad_output.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); + let grad_output_ref = Tensor::::from(grad_output.to_data()); let kernel_size = [3, 3]; let stride = [2, 2]; let padding = [1, 1]; diff --git a/burn-wgpu/src/kernel/reduce/reduction.rs b/burn-wgpu/src/kernel/reduce/reduction.rs index 9d64437ad..874ade664 100644 --- a/burn-wgpu/src/kernel/reduce/reduction.rs +++ b/burn-wgpu/src/kernel/reduce/reduction.rs @@ -183,7 +183,7 @@ mod tests { #[test] fn reduction_sum_should_work_with_multiple_invocations() { let tensor = Tensor::::random_devauto([6, 256], Distribution::Default); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); let val = Tensor::::from_primitive(sum(tensor.into_primitive())); let val_ref = tensor_ref.sum(); @@ -194,7 +194,7 @@ mod tests { #[test] fn reduction_sum_dim_should_work_with_multiple_invocations() { let tensor = Tensor::::random_devauto([6, 1024], Distribution::Default); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); let reduce_dim = 1; let output = init_reduce_output(&tensor.clone().into_primitive(), reduce_dim); @@ -211,7 +211,7 @@ mod tests { #[test] fn reduction_args_dim_should_work_with_multiple_invocations() { let tensor = Tensor::::random_devauto([6, 1024], Distribution::Default); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); let val = Tensor::::from_primitive(argmax(tensor.into_primitive(), 1)); let val_ref = tensor_ref.argmax(1); diff --git a/burn-wgpu/src/kernel/reduce/reduction_shared_memory.rs b/burn-wgpu/src/kernel/reduce/reduction_shared_memory.rs index bf44075a0..bf46a3eba 100644 --- a/burn-wgpu/src/kernel/reduce/reduction_shared_memory.rs +++ b/burn-wgpu/src/kernel/reduce/reduction_shared_memory.rs @@ -120,7 +120,7 @@ mod tests { #[test] fn reduction_sum_dim_shared_memory_small() { let tensor = Tensor::::random_devauto([700], Distribution::Default); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); let reduce_dim = 0; let output = init_reduce_output(&tensor.clone().into_primitive(), reduce_dim); @@ -137,7 +137,7 @@ mod tests { #[test] fn reduction_sum_dim_shared_memory_medium() { let tensor = Tensor::::random_devauto([6, 1024], Distribution::Default); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); let reduce_dim = 1; let output = init_reduce_output(&tensor.clone().into_primitive(), reduce_dim); @@ -154,7 +154,7 @@ mod tests { #[test] fn reduction_sum_dim_shared_memory_large() { let tensor = Tensor::::random_devauto([4, 1024, 50], Distribution::Default); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); let reduce_dim = 2; let output = init_reduce_output(&tensor.clone().into_primitive(), reduce_dim); diff --git a/burn-wgpu/src/kernel/unary.rs b/burn-wgpu/src/kernel/unary.rs index bd0a63b89..b265c792c 100644 --- a/burn-wgpu/src/kernel/unary.rs +++ b/burn-wgpu/src/kernel/unary.rs @@ -214,7 +214,7 @@ mod tests { #[test] fn unary_should_work_with_multiple_invocations() { let tensor = Tensor::::random_devauto([6, 256], Distribution::Default); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); let actual = unary::, OpsInplace, f32, 2>(tensor.into_primitive(), None, true); @@ -229,7 +229,7 @@ mod tests { #[test] fn unary_inplace_should_work_with_multiple_invocations() { let tensor = Tensor::::random_devauto([6, 256], Distribution::Default); - let tensor_ref = Tensor::::from_data_devauto(tensor.to_data()); + let tensor_ref = Tensor::::from(tensor.to_data()); let actual = unary::, OpsInplace, f32, 2>(tensor.into_primitive(), None, true); diff --git a/examples/guide/src/data.rs b/examples/guide/src/data.rs index 15313d661..aa49f33ad 100644 --- a/examples/guide/src/data.rs +++ b/examples/guide/src/data.rs @@ -24,7 +24,7 @@ impl Batcher> for MNISTBatcher { let images = items .iter() .map(|item| Data::::from(item.image)) - .map(|data| Tensor::::from_data_devauto(data.convert())) + .map(|data| Tensor::::from(data.convert())) .map(|tensor| tensor.reshape([1, 28, 28])) // normalize: make between [0,1] and make the mean = 0 and std = 1 // values mean=0.1307,std=0.3081 were copied from Pytorch Mist Example @@ -34,7 +34,7 @@ impl Batcher> for MNISTBatcher { let targets = items .iter() - .map(|item| Tensor::::from_data_devauto([(item.label as i64).elem()])) + .map(|item| Tensor::::from([(item.label as i64).elem()])) .collect(); let images = Tensor::cat(images, 0).to_device(&self.device); diff --git a/examples/image-classification-web/src/model/normalizer.rs b/examples/image-classification-web/src/model/normalizer.rs index 0892f89ce..2f301b1d8 100644 --- a/examples/image-classification-web/src/model/normalizer.rs +++ b/examples/image-classification-web/src/model/normalizer.rs @@ -1,4 +1,4 @@ -use burn::tensor::{backend::Backend, Tensor}; +use burn::tensor::{backend::Backend, Data, Tensor}; // Values are taken from the [ONNX SqueezeNet] // (https://github.com/onnx/models/tree/main/vision/classification/squeezenet#preprocessing) @@ -14,8 +14,8 @@ pub struct Normalizer { impl Normalizer { /// Creates a new normalizer. pub fn new() -> Self { - let mean = Tensor::from_floats_devauto(MEAN).reshape([1, 3, 1, 1]); - let std = Tensor::from_floats_devauto(STD).reshape([1, 3, 1, 1]); + let mean = Tensor::from(Data::from(MEAN).convert()).reshape([1, 3, 1, 1]); + let std = Tensor::from(Data::from(STD).convert()).reshape([1, 3, 1, 1]); Self { mean, std } } diff --git a/examples/image-classification-web/src/web.rs b/examples/image-classification-web/src/web.rs index 75040e953..fba1ddea8 100644 --- a/examples/image-classification-web/src/web.rs +++ b/examples/image-classification-web/src/web.rs @@ -10,7 +10,7 @@ use crate::model::{label::LABELS, normalizer::Normalizer, squeezenet::Model as S use burn::{ backend::NdArray, - tensor::{activation::softmax, backend::Backend, Tensor}, + tensor::{activation::softmax, backend::Backend, Data, Tensor}, }; use burn_candle::Candle; @@ -139,7 +139,7 @@ impl Model { pub async fn forward(&self, input: &[f32]) -> Vec { // Reshape from the 1D array to 3d tensor [ width, height, channels] let input: Tensor = - Tensor::from_floats_devauto(input).reshape([1, CHANNELS, HEIGHT, WIDTH]); + Tensor::from(Data::from(input).convert()).reshape([1, CHANNELS, HEIGHT, WIDTH]); // Normalize input: make between [-1,1] and make the mean=0 and std=1 let input = self.normalizer.normalize(input); @@ -148,10 +148,10 @@ impl Model { let output = self.model.forward(input); // Convert the model output into probability distribution using softmax formula - let probabilies = softmax(output, 1); + let probabilities = softmax(output, 1); #[cfg(not(target_family = "wasm"))] - let result = probabilies.into_data().convert::().value; + let result = probabilities.into_data().convert::().value; // Forces the result to be computed #[cfg(target_family = "wasm")] diff --git a/examples/mnist-inference-web/src/web.rs b/examples/mnist-inference-web/src/web.rs index 153e158e7..8c713d942 100644 --- a/examples/mnist-inference-web/src/web.rs +++ b/examples/mnist-inference-web/src/web.rs @@ -52,7 +52,7 @@ impl Mnist { let model = self.model.as_ref().unwrap(); // Reshape from the 1D array to 3d tensor [batch, height, width] - let input: Tensor = Tensor::from_floats_devauto(input).reshape([1, 28, 28]); + let input: Tensor = Tensor::from(input).reshape([1, 28, 28]); // Normalize input: make between [0,1] and make the mean=0 and std=1 // values mean=0.1307,std=0.3081 were copied from Pytorch Mist Example diff --git a/examples/mnist/src/data.rs b/examples/mnist/src/data.rs index 2dd9286ce..56373fad5 100644 --- a/examples/mnist/src/data.rs +++ b/examples/mnist/src/data.rs @@ -24,7 +24,7 @@ impl Batcher> for MNISTBatcher { let images = items .iter() .map(|item| Data::::from(item.image)) - .map(|data| Tensor::::from_data_devauto(data.convert())) + .map(|data| Tensor::::from(data.convert())) .map(|tensor| tensor.reshape([1, 28, 28])) // normalize: make between [0,1] and make the mean = 0 and std = 1 // values mean=0.1307,std=0.3081 were copied from Pytorch Mist Example @@ -34,9 +34,7 @@ impl Batcher> for MNISTBatcher { let targets = items .iter() - .map(|item| { - Tensor::::from_data_devauto(Data::from([(item.label as i64).elem()])) - }) + .map(|item| Tensor::::from(Data::from([(item.label as i64).elem()]))) .collect(); let images = Tensor::cat(images, 0).to_device(&self.device); diff --git a/examples/notebook/basic-tensor-op.ipynb b/examples/notebook/basic-tensor-op.ipynb index f2afe50df..d46380041 100644 --- a/examples/notebook/basic-tensor-op.ipynb +++ b/examples/notebook/basic-tensor-op.ipynb @@ -97,7 +97,7 @@ "println!(\"Empty tensor: {}\", tensor);\n", "\n", "// Create a tensor from a slice of floats\n", - "let tensor: Tensor = Tensor::from_floats_devauto([1.0, 2.0, 3.0, 4.0]).reshape([2, 2]);\n", + "let tensor: Tensor = Tensor::from([1.0, 2.0, 3.0, 4.0]).reshape([2, 2]);\n", "println!(\"Tensor from slice: {}\", tensor);\n", "\n", "// Create a random tensor\n", diff --git a/examples/onnx-inference/src/bin/mnist_inference.rs b/examples/onnx-inference/src/bin/mnist_inference.rs index 214bba116..1e5e1873a 100644 --- a/examples/onnx-inference/src/bin/mnist_inference.rs +++ b/examples/onnx-inference/src/bin/mnist_inference.rs @@ -36,8 +36,7 @@ fn main() { // Create a tensor from the image data let image_data = item.image.iter().copied().flatten().collect::>(); - let mut input: Tensor = - Tensor::from_floats_devauto(image_data.as_slice()).reshape([1, 1, 28, 28]); + let mut input: Tensor = Tensor::from(image_data.as_slice()).reshape([1, 1, 28, 28]); // Normalize the input input = ((input / 255) - 0.1307) / 0.3081; diff --git a/examples/text-classification/src/data/batcher.rs b/examples/text-classification/src/data/batcher.rs index 3ff226345..ddf6e6d01 100644 --- a/examples/text-classification/src/data/batcher.rs +++ b/examples/text-classification/src/data/batcher.rs @@ -53,9 +53,7 @@ impl Batcher