Relative unit test in `OperationTest`.tags/v0.12
@@ -189,6 +189,9 @@ namespace Tensorflow | |||||
public static Tensor log1p(Tensor x, string name = null) | public static Tensor log1p(Tensor x, string name = null) | ||||
=> gen_math_ops.log1p(x, name); | => gen_math_ops.log1p(x, name); | ||||
public static Tensor logical_and(Tensor x, Tensor y, string name = null) | |||||
=> gen_math_ops.logical_and(x, y, name); | |||||
/// <summary> | /// <summary> | ||||
/// Clips tensor values to a specified min and max. | /// Clips tensor values to a specified min and max. | ||||
/// </summary> | /// </summary> | ||||
@@ -350,6 +350,13 @@ namespace Tensorflow | |||||
return _op.outputs[0]; | return _op.outputs[0]; | ||||
} | } | ||||
public static Tensor logical_and(Tensor x, Tensor y, string name = null) | |||||
{ | |||||
var _op = _op_def_lib._apply_op_helper("LogicalAnd", name, args: new { x, y }); | |||||
return _op.outputs[0]; | |||||
} | |||||
public static Tensor squared_difference(Tensor x, Tensor y, string name = null) | public static Tensor squared_difference(Tensor x, Tensor y, string name = null) | ||||
{ | { | ||||
var _op = _op_def_lib._apply_op_helper("SquaredDifference", name, args: new { x, y, name }); | var _op = _op_def_lib._apply_op_helper("SquaredDifference", name, args: new { x, y, name }); | ||||
@@ -130,6 +130,22 @@ namespace TensorFlowNET.UnitTest | |||||
} | } | ||||
} | } | ||||
[TestMethod] | |||||
public void logicalAndTest() | |||||
{ | |||||
var a = tf.constant(new[] {1f, 2f, 3f, 4f, -4f, -3f, -2f, -1f}); | |||||
var b = tf.less(a, 0f); | |||||
var c = tf.greater(a, 0f); | |||||
var d = tf.cast(tf.logical_and(b, c), tf.int32); | |||||
var check = np.array(new[] { 0, 0, 0, 0, 0, 0, 0, 0 }); | |||||
using (var sess = tf.Session()) | |||||
{ | |||||
var o = sess.run(d); | |||||
Assert.IsTrue(o.array_equal(check)); | |||||
} | |||||
} | |||||
[TestMethod] | [TestMethod] | ||||
public void addOpTests() | public void addOpTests() | ||||
{ | { | ||||