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  }