diff --git a/README.md b/README.md
index d482990c499..e7ec2098707 100644
--- a/README.md
+++ b/README.md
@@ -56,12 +56,12 @@ systems, you should add the following dependencies:
org.tensorflow
tensorflow-core-api
- 0.4.0
+ 0.4.1
org.tensorflow
tensorflow-core-api
- 0.4.0
+ 0.4.1
linux-x86_64${javacpp.platform.extension}
```
@@ -72,24 +72,24 @@ native dependencies as follows:
org.tensorflow
tensorflow-core-api
- 0.4.0
+ 0.4.1
org.tensorflow
tensorflow-core-api
- 0.4.0
+ 0.4.1
linux-x86_64${javacpp.platform.extension}
org.tensorflow
tensorflow-core-api
- 0.4.0
+ 0.4.1
macosx-x86_64${javacpp.platform.extension}
org.tensorflow
tensorflow-core-api
- 0.4.0
+ 0.4.1
windows-x86_64${javacpp.platform.extension}
```
@@ -102,7 +102,7 @@ artifact includes transitively all the artifacts above as a single dependency:
org.tensorflow
tensorflow-core-platform${javacpp.platform.extension}
- 0.4.0
+ 0.4.1
```
@@ -132,7 +132,7 @@ to add Sonatype OSS repository in your pom.xml, like the following
org.tensorflow
tensorflow-core-platform
- 0.4.0-SNAPSHOT
+ 0.5.0-SNAPSHOT
```
@@ -149,6 +149,7 @@ This table shows the mapping between different version of TensorFlow for Java an
| 0.3.2 | 2.4.1 |
| 0.3.3 | 2.4.1 |
| 0.4.0 | 2.7.0 |
+| 0.4.1 | 2.7.1 |
## How to Contribute?
diff --git a/pom.xml b/pom.xml
index 4c9b019a003..38e35f46fa5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
org.tensorflow
tensorflow-java
- 0.4.0
+ 0.4.1
pom
TensorFlow Java Parent
@@ -42,11 +42,11 @@
5.6.2
1.21
2.7
- 2.6.0
+ 2.10.0
true
true
true
- 2.11.1
+ 2.20.2
@@ -371,7 +371,9 @@
-
+
+ 1.14.0
+
diff --git a/tensorflow-core/pom.xml b/tensorflow-core/pom.xml
index 407f7f690b5..4cfa9dc6abd 100644
--- a/tensorflow-core/pom.xml
+++ b/tensorflow-core/pom.xml
@@ -22,7 +22,7 @@
org.tensorflow
tensorflow-java
- 0.4.0
+ 0.4.1
tensorflow-core
pom
@@ -40,8 +40,10 @@
Match version used by TensorFlow, in
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/workspace2.bzl#L567
(but for the currently used release, not master)
+
+ Bumped to newer version to patch a CVE only present in protobuf-java
-->
- 3.9.2
+ 3.19.4
${javacpp.platform}${javacpp.platform.extension}
false
diff --git a/tensorflow-core/tensorflow-core-api/WORKSPACE b/tensorflow-core/tensorflow-core-api/WORKSPACE
index 8be7695be78..0ac4d82a193 100644
--- a/tensorflow-core/tensorflow-core-api/WORKSPACE
+++ b/tensorflow-core/tensorflow-core-api/WORKSPACE
@@ -18,10 +18,10 @@ http_archive(
patch_args = ["-p1"],
patch_cmds = ["grep -rl 'java_package' tensorflow/core | xargs sed -i.bak 's/^\(.* java_package = \"org\.tensorflow\.\)\(.*\"\)/\\1proto.\\2'/"],
urls = [
- "https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.7.0.tar.gz",
+ "https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.7.1.tar.gz",
],
- sha256 = "bb124905c7fdacd81e7c842b287c169bbf377d29c74c9dacc04f96c9793747bb",
- strip_prefix = "tensorflow-2.7.0"
+ sha256 = "abebe2cf5ca379e18071693ca5f45b88ade941b16258a21cc1f12d77d5387a21",
+ strip_prefix = "tensorflow-2.7.1"
)
# START: Upstream TensorFlow dependencies
diff --git a/tensorflow-core/tensorflow-core-api/pom.xml b/tensorflow-core/tensorflow-core-api/pom.xml
index 4d61c0b8cc0..331c62216dd 100644
--- a/tensorflow-core/tensorflow-core-api/pom.xml
+++ b/tensorflow-core/tensorflow-core-api/pom.xml
@@ -6,7 +6,7 @@
org.tensorflow
tensorflow-core
- 0.4.0
+ 0.4.1
tensorflow-core-api
jar
diff --git a/tensorflow-core/tensorflow-core-api/src/main/java/org/tensorflow/EagerOperation.java b/tensorflow-core/tensorflow-core-api/src/main/java/org/tensorflow/EagerOperation.java
index 29449847be8..bf0ed87586d 100644
--- a/tensorflow-core/tensorflow-core-api/src/main/java/org/tensorflow/EagerOperation.java
+++ b/tensorflow-core/tensorflow-core-api/src/main/java/org/tensorflow/EagerOperation.java
@@ -190,9 +190,9 @@ private static Tensor resolveTensorHandle(TFE_TensorHandle handle, EagerSession
requireTensorHandle(handle);
try (PointerScope scope = new PointerScope()) {
TF_Status status = TF_Status.newStatus();
- TF_Tensor tensor = TFE_TensorHandleResolve(handle, status).withDeallocator();
+ TF_Tensor tensor = TFE_TensorHandleResolve(handle, status);
status.throwExceptionIfNotOK();
- return RawTensor.fromHandle(tensor, session).asTypedTensor();
+ return RawTensor.fromHandle(tensor.withDeallocator(), session).asTypedTensor();
}
}
diff --git a/tensorflow-core/tensorflow-core-generator/pom.xml b/tensorflow-core/tensorflow-core-generator/pom.xml
index 14786145f65..3fbd73ca2c6 100644
--- a/tensorflow-core/tensorflow-core-generator/pom.xml
+++ b/tensorflow-core/tensorflow-core-generator/pom.xml
@@ -5,7 +5,7 @@
org.tensorflow
tensorflow-core
- 0.4.0
+ 0.4.1
tensorflow-core-generator
jar
diff --git a/tensorflow-core/tensorflow-core-platform-gpu/pom.xml b/tensorflow-core/tensorflow-core-platform-gpu/pom.xml
index 50a4c4cace5..fca1af5b785 100644
--- a/tensorflow-core/tensorflow-core-platform-gpu/pom.xml
+++ b/tensorflow-core/tensorflow-core-platform-gpu/pom.xml
@@ -22,7 +22,7 @@
org.tensorflow
tensorflow-core
- 0.4.0
+ 0.4.1
tensorflow-core-platform-gpu
TensorFlow Core API Library Platform GPU
diff --git a/tensorflow-core/tensorflow-core-platform/pom.xml b/tensorflow-core/tensorflow-core-platform/pom.xml
index 165079d2e74..a84fc2c4436 100644
--- a/tensorflow-core/tensorflow-core-platform/pom.xml
+++ b/tensorflow-core/tensorflow-core-platform/pom.xml
@@ -22,7 +22,7 @@
org.tensorflow
tensorflow-core
- 0.4.0
+ 0.4.1
tensorflow-core-platform
TensorFlow Core API Library Platform
diff --git a/tensorflow-framework/pom.xml b/tensorflow-framework/pom.xml
index 238b2610622..5a33d5c14c4 100644
--- a/tensorflow-framework/pom.xml
+++ b/tensorflow-framework/pom.xml
@@ -22,7 +22,7 @@
org.tensorflow
tensorflow-java
- 0.4.0
+ 0.4.1
tensorflow-framework
jar
@@ -93,7 +93,7 @@
1
false
- -Xmx2G -XX:MaxPermSize=256m
+ -Xmx2G
**/*Test.java
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..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
@@ -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..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
@@ -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,11 @@ 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..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
@@ -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..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
@@ -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..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
@@ -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..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;
@@ -42,11 +41,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);