@@ -28,7 +28,16 @@ namespace Tensorflow.NumPy | |||||
public static NDArray multiply(NDArray x1, NDArray x2) => new NDArray(tf.multiply(x1, x2)); | public static NDArray multiply(NDArray x1, NDArray x2) => new NDArray(tf.multiply(x1, x2)); | ||||
[AutoNumPy] | [AutoNumPy] | ||||
public static NDArray maximum(NDArray x1, NDArray x2) => new NDArray(tf.maximum(x1, x2)); | |||||
//public static NDArray maximum(NDArray x1, NDArray x2) => new NDArray(tf.maximum(x1, x2)); | |||||
public static NDArray maximum(NDArray x1, NDArray x2, int? axis = null) | |||||
{ | |||||
var maxValues = tf.maximum(x1, x2); | |||||
if (axis.HasValue) | |||||
{ | |||||
maxValues = tf.reduce_max(maxValues, axis: axis.Value); | |||||
} | |||||
return new NDArray(maxValues); | |||||
} | |||||
[AutoNumPy] | [AutoNumPy] | ||||
public static NDArray minimum(NDArray x1, NDArray x2) => new NDArray(tf.minimum(x1, x2)); | public static NDArray minimum(NDArray x1, NDArray x2) => new NDArray(tf.minimum(x1, x2)); | ||||
@@ -65,5 +65,20 @@ namespace TensorFlowNET.UnitTest.NumPy | |||||
var y = np.power(x, 3); | var y = np.power(x, 3); | ||||
Assert.AreEqual(y, new[] { 0, 1, 8, 27, 64, 125 }); | Assert.AreEqual(y, new[] { 0, 1, 8, 27, 64, 125 }); | ||||
} | } | ||||
[TestMethod] | |||||
public void maximum() | |||||
{ | |||||
var x1 = new NDArray(new[,] { { 1, 2, 3 }, { 4, 5.1, 6 } }); | |||||
var x2 = new NDArray(new[,] { { 3, 2, 1 }, { 6, 5.1, 4 } }); | |||||
var y0 = np.maximum(x1,x2); | |||||
var y1 = np.maximum(x1, x2, axis: 0); | |||||
var y2 = np.maximum(x1, x2, axis: 1); | |||||
var y3 = new NDArray(new[,] { { 3, 2, 3 }, { 6, 5.1, 6 } }); | |||||
var y4 = new NDArray(new[] { 6, 5.1, 6 }); | |||||
var y5 = new NDArray(new[] { 3.0, 6 }); | |||||
Assert.AreEqual(y0, y3); | |||||
Assert.AreEqual(y1, y4); | |||||
Assert.AreEqual(y2, y5); | |||||
} | |||||
} | } | ||||
} | } |