Relative unit test in `OperationTest`.tags/v0.12
| @@ -198,6 +198,9 @@ namespace Tensorflow | |||||
| public static Tensor logical_or(Tensor x, Tensor y, string name = null) | public static Tensor logical_or(Tensor x, Tensor y, string name = null) | ||||
| => gen_math_ops.logical_or(x, y, name); | => gen_math_ops.logical_or(x, y, name); | ||||
| public static Tensor logical_xor(Tensor x, Tensor y, string name = "LogicalXor") | |||||
| => gen_math_ops.logical_xor(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> | ||||
| @@ -371,6 +371,14 @@ namespace Tensorflow | |||||
| return _op.outputs[0]; | return _op.outputs[0]; | ||||
| } | } | ||||
| public static Tensor logical_xor(Tensor x, Tensor y, string name = "LogicalXor") | |||||
| { | |||||
| return logical_and( | |||||
| logical_or(x, y), | |||||
| logical_not(logical_and(x, y)), | |||||
| name); | |||||
| } | |||||
| 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 }); | ||||
| @@ -162,6 +162,15 @@ namespace TensorFlowNET.UnitTest | |||||
| var o = sess.run(d); | var o = sess.run(d); | ||||
| Assert.IsTrue(o.array_equal(check)); | Assert.IsTrue(o.array_equal(check)); | ||||
| } | } | ||||
| d = tf.cast(tf.logical_xor(b, c), tf.int32); | |||||
| check = np.array(new[] { 1, 1, 1, 1, 1, 1, 1, 1 }); | |||||
| using (var sess = tf.Session()) | |||||
| { | |||||
| var o = sess.run(d); | |||||
| Assert.IsTrue(o.array_equal(check)); | |||||
| } | |||||
| } | } | ||||
| [TestMethod] | [TestMethod] | ||||