github.com/wzzhu/tensor@v0.9.24/example_mapreduce_test.go (about) 1 package tensor 2 3 import "fmt" 4 5 func ExampleSum() { 6 T := New(WithBacking([]float64{0, 1, 2, 3}), WithShape(2, 2)) 7 fmt.Printf("T:\n%v\n", T) 8 9 // sum along axis 0 10 summed, _ := Sum(T, 0) 11 fmt.Printf("Summed:\n%v\n", summed) 12 13 // to keep dims, simply reshape 14 summed.Reshape(1, 2) 15 fmt.Printf("Summed (Kept Dims - Shape: %v):\n%v\n\n", summed.Shape(), summed) 16 17 // summing along multiple axes 18 summed, _ = Sum(T, 1, 0) 19 fmt.Printf("Summed along (1, 0): %v", summed) 20 21 // Output: 22 // T: 23 // ⎡0 1⎤ 24 // ⎣2 3⎦ 25 // 26 // Summed: 27 // [2 4] 28 // Summed (Kept Dims - Shape: (1, 2)): 29 // R[2 4] 30 // 31 // Summed along (1, 0): 6 32 } 33 34 func ExampleSum_sliced() { 35 T := New(WithBacking([]float64{0, 1, 2, 3}), WithShape(2, 2)) 36 fmt.Printf("T:\n%v\n", T) 37 38 V, _ := T.Slice(nil, S(1)) 39 fmt.Printf("V:\n%v\n", V) 40 41 Σ, _ := Sum(V) 42 fmt.Printf("Σ: %v", Σ) 43 44 // Output: 45 // T: 46 // ⎡0 1⎤ 47 // ⎣2 3⎦ 48 // 49 // V: 50 // [1 3] 51 // Σ: 4 52 53 } 54 55 func ExampleArgmax() { 56 T := New(WithBacking([]float64{0, 100, 200, 3}), WithShape(2, 2)) 57 fmt.Printf("T:\n%v\n", T) 58 59 // argmax along the x-axis 60 am, _ := Argmax(T, 0) 61 fmt.Printf("Argmax: %v\n", am) 62 fmt.Printf("Argmax is %T of %v", am, am.Dtype()) 63 64 // Output: 65 // T: 66 // ⎡ 0 100⎤ 67 // ⎣200 3⎦ 68 // 69 // Argmax: [1 0] 70 // Argmax is *tensor.Dense of int 71 } 72 73 func ExampleArgmax_sliced() { 74 T := New(WithBacking([]float64{0, 100, 200, 3}), WithShape(2, 2)) 75 fmt.Printf("T:\n%v\n", T) 76 77 // slice creates a view 78 V, _ := T.Slice(nil, S(1)) 79 80 // argmax along the x-axis 81 am, _ := Argmax(V, 0) 82 fmt.Printf("Argmax: %v\n", am) 83 fmt.Printf("Argmax is %T of %v", am, am.Dtype()) 84 85 // Output: 86 // T: 87 // ⎡ 0 100⎤ 88 // ⎣200 3⎦ 89 // 90 // Argmax: 0 91 // Argmax is *tensor.Dense of int 92 93 } 94 95 func ExampleArgmin() { 96 T := New(WithBacking([]float64{0, 100, 200, 3}), WithShape(2, 2)) 97 fmt.Printf("T:\n%v\n", T) 98 99 // argmax along the x-axis 100 am, _ := Argmin(T, 0) 101 fmt.Printf("Argmin: %v\n", am) 102 fmt.Printf("Argmin is %T of %v", am, am.Dtype()) 103 104 // Output: 105 // T: 106 // ⎡ 0 100⎤ 107 // ⎣200 3⎦ 108 // 109 // Argmin: [0 1] 110 // Argmin is *tensor.Dense of int 111 }