From 66de80ecb3b90ea8da4c637fcd4d619c540f852d Mon Sep 17 00:00:00 2001 From: Adam Pocock Date: Fri, 11 Feb 2022 16:06:36 -0500 Subject: [PATCH 1/3] Migrate metric tests from randomUniform to statelessRandomUniform --- .../framework/metrics/PrecisionAtRecallTest.java | 9 ++++----- .../tensorflow/framework/metrics/PrecisionTest.java | 11 +++++------ .../framework/metrics/RecallAtPrecisionTest.java | 9 ++++----- .../org/tensorflow/framework/metrics/RecallTest.java | 6 ++++-- .../metrics/SensitivityAtSpecificityTest.java | 9 ++++----- .../metrics/SpecificityAtSensitivityTest.java | 8 ++++---- 6 files changed, 25 insertions(+), 27 deletions(-) diff --git a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/PrecisionAtRecallTest.java b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/PrecisionAtRecallTest.java index 8132b74d7cd..f6eee6e6952 100644 --- a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/PrecisionAtRecallTest.java +++ b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/PrecisionAtRecallTest.java @@ -24,7 +24,6 @@ import org.tensorflow.ndarray.Shape; import org.tensorflow.op.Op; import org.tensorflow.op.Ops; -import org.tensorflow.op.random.RandomUniform; import org.tensorflow.types.TFloat32; import org.tensorflow.types.TInt64; @@ -39,11 +38,11 @@ public void testValueIsIdempotent() { PrecisionAtRecall instance = new PrecisionAtRecall<>(0.7f, 1001L, TFloat32.class); Operand predictions = - tf.random.randomUniform( - tf.constant(Shape.of(10, 3)), TFloat32.class, RandomUniform.seed(1L)); + tf.random.statelessRandomUniform( + tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); Operand labels = - tf.random.randomUniform( - tf.constant(Shape.of(10, 3)), TFloat32.class, RandomUniform.seed(1L)); + tf.random.statelessRandomUniform( + tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); Op update = instance.updateState(tf, labels, predictions, null); diff --git a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/PrecisionTest.java b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/PrecisionTest.java index b195432115e..761d25e48c0 100644 --- a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/PrecisionTest.java +++ b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/PrecisionTest.java @@ -22,7 +22,6 @@ import org.tensorflow.ndarray.Shape; import org.tensorflow.op.Op; import org.tensorflow.op.Ops; -import org.tensorflow.op.random.RandomUniform; import org.tensorflow.types.TFloat32; import org.tensorflow.types.TFloat64; import org.tensorflow.types.TInt32; @@ -39,11 +38,11 @@ public void testValueIsIdempotent() { Precision instance = new Precision<>(new float[] {0.3f, 0.72f}, 1001L, TFloat64.class); Operand predictions = - tf.random.randomUniform( - tf.constant(Shape.of(10, 3)), TFloat32.class, RandomUniform.seed(1001L)); + tf.random.statelessRandomUniform( + tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1001L, 0L}), TFloat32.class); Operand labels = - tf.random.randomUniform( - tf.constant(Shape.of(10, 3)), TFloat32.class, RandomUniform.seed(1001L)); + tf.random.statelessRandomUniform( + tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1001L, 0L}), TFloat32.class); Op update = instance.updateState(tf, labels, predictions, null); @@ -81,7 +80,7 @@ public void testUnweightedAllIncorrect() { Precision instance = new Precision<>(0.5f, 1001L, TFloat32.class); Operand predictions = - tf.random.randomUniformInt(tf.constant(Shape.of(100, 1)), tf.constant(0), tf.constant(2)); + tf.random.statelessMultinomial(tf.constant(new float[][]{{0.5f,0.5f}}), tf.constant(100), tf.constant(new long[]{1001L,0L}), TInt32.class); Operand labels = tf.math.sub(tf.constant(1), predictions); Op update = instance.updateState(tf, labels, predictions, null); session.run(update); diff --git a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/RecallAtPrecisionTest.java b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/RecallAtPrecisionTest.java index 36dba3180b7..d4fc5c74ade 100644 --- a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/RecallAtPrecisionTest.java +++ b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/RecallAtPrecisionTest.java @@ -24,7 +24,6 @@ import org.tensorflow.ndarray.Shape; import org.tensorflow.op.Op; import org.tensorflow.op.Ops; -import org.tensorflow.op.random.RandomUniform; import org.tensorflow.types.TFloat32; import org.tensorflow.types.TInt64; @@ -39,11 +38,11 @@ public void testValueIsIdempotent() { RecallAtPrecision instance = new RecallAtPrecision<>(0.7f, 1001L, TFloat32.class); Operand predictions = - tf.random.randomUniform( - tf.constant(Shape.of(10, 3)), TFloat32.class, RandomUniform.seed(1L)); + tf.random.statelessRandomUniform( + tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); Operand labels = - tf.random.randomUniform( - tf.constant(Shape.of(10, 3)), TFloat32.class, RandomUniform.seed(1L)); + tf.random.statelessRandomUniform( + tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); labels = tf.math.mul(labels, tf.constant(2.0f)); Op update = instance.updateState(tf, labels, predictions); diff --git a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/RecallTest.java b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/RecallTest.java index e820cbe0d74..ab7acebd15d 100644 --- a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/RecallTest.java +++ b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/RecallTest.java @@ -36,9 +36,11 @@ public void testValueIsIdempotent() { Recall instance = new Recall<>(new float[] {0.3f, 0.72f}, 1001L, TFloat32.class); Operand predictions = - tf.random.randomUniform(tf.constant(Shape.of(10, 3)), TFloat32.class); + tf.random.statelessRandomUniform( + tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); Operand labels = - tf.random.randomUniform(tf.constant(Shape.of(10, 3)), TFloat32.class); + tf.random.statelessRandomUniform( + tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); Op update = instance.updateState(tf, labels, predictions, null); for (int i = 0; i < 10; i++) session.run(update); diff --git a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/SensitivityAtSpecificityTest.java b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/SensitivityAtSpecificityTest.java index d18ca9813fe..a06a71c0fcf 100644 --- a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/SensitivityAtSpecificityTest.java +++ b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/SensitivityAtSpecificityTest.java @@ -24,7 +24,6 @@ import org.tensorflow.ndarray.Shape; import org.tensorflow.op.Op; import org.tensorflow.op.Ops; -import org.tensorflow.op.random.RandomUniform; import org.tensorflow.types.TFloat32; import org.tensorflow.types.TFloat64; import org.tensorflow.types.TInt64; @@ -40,11 +39,11 @@ public void testValueIsIdempotent() { SensitivityAtSpecificity instance = new SensitivityAtSpecificity<>(0.7f, 1001L, TFloat32.class); Operand predictions = - tf.random.randomUniform( - tf.constant(Shape.of(10, 3)), TFloat32.class, RandomUniform.seed(1L)); + tf.random.statelessRandomUniform( + tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); Operand labels = - tf.random.randomUniform( - tf.constant(Shape.of(10, 3)), TFloat32.class, RandomUniform.seed(1L)); + tf.random.statelessRandomUniform( + tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); labels = tf.math.mul(labels, tf.constant(2.0f)); // instance.setDebug(session.getGraphSession()); diff --git a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/SpecificityAtSensitivityTest.java b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/SpecificityAtSensitivityTest.java index 676b443cd1c..aeb1a808642 100644 --- a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/SpecificityAtSensitivityTest.java +++ b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/SpecificityAtSensitivityTest.java @@ -42,11 +42,11 @@ public void testValueIsIdempotent() { new SpecificityAtSensitivity<>(0.7f, 1001L, TFloat32.class); Operand predictions = - tf.random.randomUniform( - tf.constant(Shape.of(10, 3)), TFloat32.class, RandomUniform.seed(1L)); + tf.random.statelessRandomUniform( + tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); Operand labels = - tf.random.randomUniform( - tf.constant(Shape.of(10, 3)), TFloat32.class, RandomUniform.seed(1L)); + tf.random.statelessRandomUniform( + tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); // instance.setDebug(session.getGraphSession()); Op update = instance.updateState(tf, labels, predictions, null); From 7ab0075bbe9f06fe95af6093516772c701d538b2 Mon Sep 17 00:00:00 2001 From: Adam Pocock Date: Fri, 11 Feb 2022 16:36:13 -0500 Subject: [PATCH 2/3] pom updates. --- tensorflow-core/pom.xml | 2 +- tensorflow-framework/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tensorflow-core/pom.xml b/tensorflow-core/pom.xml index 54b8ab8372f..7d3dd3ca324 100644 --- a/tensorflow-core/pom.xml +++ b/tensorflow-core/pom.xml @@ -43,7 +43,7 @@ Bumped to newer version to patch a CVE only present in protobuf-java --> - 3.19.2 + 3.19.4 ${javacpp.platform}${javacpp.platform.extension} false diff --git a/tensorflow-framework/pom.xml b/tensorflow-framework/pom.xml index 026bf227afe..b0d4900fb1d 100644 --- a/tensorflow-framework/pom.xml +++ b/tensorflow-framework/pom.xml @@ -93,7 +93,7 @@ 1 false - -Xmx2G -XX:MaxPermSize=256m + -Xmx2G **/*Test.java From 2b9ff3036e8538873faaee23163e5b58ca0226fd Mon Sep 17 00:00:00 2001 From: Adam Pocock Date: Fri, 11 Feb 2022 17:04:38 -0500 Subject: [PATCH 3/3] Spotless changes. --- pom.xml | 6 ++++-- .../framework/metrics/PrecisionAtRecallTest.java | 4 ++-- .../tensorflow/framework/metrics/PrecisionTest.java | 10 +++++++--- .../framework/metrics/RecallAtPrecisionTest.java | 4 ++-- .../org/tensorflow/framework/metrics/RecallTest.java | 4 ++-- .../metrics/SensitivityAtSpecificityTest.java | 4 ++-- .../metrics/SpecificityAtSensitivityTest.java | 5 ++--- 7 files changed, 21 insertions(+), 16 deletions(-) diff --git a/pom.xml b/pom.xml index 102d51e0149..66687aade72 100644 --- a/pom.xml +++ b/pom.xml @@ -46,7 +46,7 @@ true true true - 2.11.1 + 2.20.2 @@ -371,7 +371,9 @@ - + + 1.14.0 + diff --git a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/PrecisionAtRecallTest.java b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/PrecisionAtRecallTest.java index f6eee6e6952..756a7651363 100644 --- a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/PrecisionAtRecallTest.java +++ b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/PrecisionAtRecallTest.java @@ -39,10 +39,10 @@ public void testValueIsIdempotent() { Operand predictions = tf.random.statelessRandomUniform( - tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); + tf.constant(Shape.of(10, 3)), tf.constant(new long[] {1L, 0L}), TFloat32.class); Operand labels = tf.random.statelessRandomUniform( - tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); + tf.constant(Shape.of(10, 3)), tf.constant(new long[] {1L, 0L}), TFloat32.class); Op update = instance.updateState(tf, labels, predictions, null); diff --git a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/PrecisionTest.java b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/PrecisionTest.java index 761d25e48c0..673a563f894 100644 --- a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/PrecisionTest.java +++ b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/PrecisionTest.java @@ -39,10 +39,10 @@ public void testValueIsIdempotent() { new Precision<>(new float[] {0.3f, 0.72f}, 1001L, TFloat64.class); Operand predictions = tf.random.statelessRandomUniform( - tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1001L, 0L}), TFloat32.class); + tf.constant(Shape.of(10, 3)), tf.constant(new long[] {1001L, 0L}), TFloat32.class); Operand labels = tf.random.statelessRandomUniform( - tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1001L, 0L}), TFloat32.class); + tf.constant(Shape.of(10, 3)), tf.constant(new long[] {1001L, 0L}), TFloat32.class); Op update = instance.updateState(tf, labels, predictions, null); @@ -80,7 +80,11 @@ public void testUnweightedAllIncorrect() { Precision instance = new Precision<>(0.5f, 1001L, TFloat32.class); Operand predictions = - tf.random.statelessMultinomial(tf.constant(new float[][]{{0.5f,0.5f}}), tf.constant(100), tf.constant(new long[]{1001L,0L}), TInt32.class); + tf.random.statelessMultinomial( + tf.constant(new float[][] {{0.5f, 0.5f}}), + tf.constant(100), + tf.constant(new long[] {1001L, 0L}), + TInt32.class); Operand labels = tf.math.sub(tf.constant(1), predictions); Op update = instance.updateState(tf, labels, predictions, null); session.run(update); diff --git a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/RecallAtPrecisionTest.java b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/RecallAtPrecisionTest.java index d4fc5c74ade..184c42b7326 100644 --- a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/RecallAtPrecisionTest.java +++ b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/RecallAtPrecisionTest.java @@ -39,10 +39,10 @@ public void testValueIsIdempotent() { Operand predictions = tf.random.statelessRandomUniform( - tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); + tf.constant(Shape.of(10, 3)), tf.constant(new long[] {1L, 0L}), TFloat32.class); Operand labels = tf.random.statelessRandomUniform( - tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); + tf.constant(Shape.of(10, 3)), tf.constant(new long[] {1L, 0L}), TFloat32.class); labels = tf.math.mul(labels, tf.constant(2.0f)); Op update = instance.updateState(tf, labels, predictions); diff --git a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/RecallTest.java b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/RecallTest.java index ab7acebd15d..e862ffe280e 100644 --- a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/RecallTest.java +++ b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/RecallTest.java @@ -37,10 +37,10 @@ public void testValueIsIdempotent() { Operand predictions = tf.random.statelessRandomUniform( - tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); + tf.constant(Shape.of(10, 3)), tf.constant(new long[] {1L, 0L}), TFloat32.class); Operand labels = tf.random.statelessRandomUniform( - tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); + tf.constant(Shape.of(10, 3)), tf.constant(new long[] {1L, 0L}), TFloat32.class); Op update = instance.updateState(tf, labels, predictions, null); for (int i = 0; i < 10; i++) session.run(update); diff --git a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/SensitivityAtSpecificityTest.java b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/SensitivityAtSpecificityTest.java index a06a71c0fcf..179dbf2b9fc 100644 --- a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/SensitivityAtSpecificityTest.java +++ b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/SensitivityAtSpecificityTest.java @@ -40,10 +40,10 @@ public void testValueIsIdempotent() { new SensitivityAtSpecificity<>(0.7f, 1001L, TFloat32.class); Operand predictions = tf.random.statelessRandomUniform( - tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); + tf.constant(Shape.of(10, 3)), tf.constant(new long[] {1L, 0L}), TFloat32.class); Operand labels = tf.random.statelessRandomUniform( - tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); + tf.constant(Shape.of(10, 3)), tf.constant(new long[] {1L, 0L}), TFloat32.class); labels = tf.math.mul(labels, tf.constant(2.0f)); // instance.setDebug(session.getGraphSession()); diff --git a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/SpecificityAtSensitivityTest.java b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/SpecificityAtSensitivityTest.java index aeb1a808642..6507345bbb4 100644 --- a/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/SpecificityAtSensitivityTest.java +++ b/tensorflow-framework/src/test/java/org/tensorflow/framework/metrics/SpecificityAtSensitivityTest.java @@ -24,7 +24,6 @@ import org.tensorflow.ndarray.Shape; import org.tensorflow.op.Op; import org.tensorflow.op.Ops; -import org.tensorflow.op.random.RandomUniform; import org.tensorflow.types.TFloat32; import org.tensorflow.types.TFloat64; import org.tensorflow.types.TInt32; @@ -43,10 +42,10 @@ public void testValueIsIdempotent() { Operand predictions = tf.random.statelessRandomUniform( - tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); + tf.constant(Shape.of(10, 3)), tf.constant(new long[] {1L, 0L}), TFloat32.class); Operand labels = tf.random.statelessRandomUniform( - tf.constant(Shape.of(10, 3)), tf.constant(new long[]{1L, 0L}), TFloat32.class); + tf.constant(Shape.of(10, 3)), tf.constant(new long[] {1L, 0L}), TFloat32.class); // instance.setDebug(session.getGraphSession()); Op update = instance.updateState(tf, labels, predictions, null);