Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,12 @@ systems, you should add the following dependencies:
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow-core-api</artifactId>
<version>0.4.0</version>
<version>0.4.1</version>
</dependency>
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow-core-api</artifactId>
<version>0.4.0</version>
<version>0.4.1</version>
<classifier>linux-x86_64${javacpp.platform.extension}</classifier>
</dependency>
```
Expand All @@ -72,24 +72,24 @@ native dependencies as follows:
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow-core-api</artifactId>
<version>0.4.0</version>
<version>0.4.1</version>
</dependency>
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow-core-api</artifactId>
<version>0.4.0</version>
<version>0.4.1</version>
<classifier>linux-x86_64${javacpp.platform.extension}</classifier>
</dependency>
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow-core-api</artifactId>
<version>0.4.0</version>
<version>0.4.1</version>
<classifier>macosx-x86_64${javacpp.platform.extension}</classifier>
</dependency>
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow-core-api</artifactId>
<version>0.4.0</version>
<version>0.4.1</version>
<classifier>windows-x86_64${javacpp.platform.extension}</classifier>
</dependency>
```
Expand All @@ -102,7 +102,7 @@ artifact includes transitively all the artifacts above as a single dependency:
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow-core-platform${javacpp.platform.extension}</artifactId>
<version>0.4.0</version>
<version>0.4.1</version>
</dependency>
```

Expand Down Expand Up @@ -132,7 +132,7 @@ to add Sonatype OSS repository in your pom.xml, like the following
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow-core-platform</artifactId>
<version>0.4.0-SNAPSHOT</version>
<version>0.5.0-SNAPSHOT</version>
</dependency>
</dependencies>
```
Expand All @@ -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?

Expand Down
10 changes: 6 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

<groupId>org.tensorflow</groupId>
<artifactId>tensorflow-java</artifactId>
<version>0.4.0</version>
<version>0.4.1</version>
<packaging>pom</packaging>

<name>TensorFlow Java Parent</name>
Expand Down Expand Up @@ -42,11 +42,11 @@
<junit.version>5.6.2</junit.version>
<jmh.version>1.21</jmh.version>
<versions-plugin.version>2.7</versions-plugin.version>
<errorprone.version>2.6.0</errorprone.version>
<errorprone.version>2.10.0</errorprone.version>
<maven.javadoc.skip>true</maven.javadoc.skip>
<maven.source.skip>true</maven.source.skip>
<gpg.skip>true</gpg.skip>
<spotless.version>2.11.1</spotless.version>
<spotless.version>2.20.2</spotless.version>
</properties>

<repositories>
Expand Down Expand Up @@ -371,7 +371,9 @@

<lineEndings/>
<java>
<googleJavaFormat/>
<googleJavaFormat>
<version>1.14.0</version>
</googleJavaFormat>

<removeUnusedImports/>
</java>
Expand Down
6 changes: 4 additions & 2 deletions tensorflow-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<parent>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow-java</artifactId>
<version>0.4.0</version>
<version>0.4.1</version>
</parent>
<artifactId>tensorflow-core</artifactId>
<packaging>pom</packaging>
Expand All @@ -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
-->
<protobuf.version>3.9.2</protobuf.version>
<protobuf.version>3.19.4</protobuf.version>

<native.classifier>${javacpp.platform}${javacpp.platform.extension}</native.classifier>
<javacpp.build.skip>false</javacpp.build.skip> <!-- To skip execution of build.sh: -Djavacpp.build.skip=true -->
Expand Down
6 changes: 3 additions & 3 deletions tensorflow-core/tensorflow-core-api/WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion tensorflow-core/tensorflow-core-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow-core</artifactId>
<version>0.4.0</version>
<version>0.4.1</version>
</parent>
<artifactId>tensorflow-core-api</artifactId>
<packaging>jar</packaging>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}
}

Expand Down
2 changes: 1 addition & 1 deletion tensorflow-core/tensorflow-core-generator/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow-core</artifactId>
<version>0.4.0</version>
<version>0.4.1</version>
</parent>
<artifactId>tensorflow-core-generator</artifactId>
<packaging>jar</packaging>
Expand Down
2 changes: 1 addition & 1 deletion tensorflow-core/tensorflow-core-platform-gpu/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<parent>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow-core</artifactId>
<version>0.4.0</version>
<version>0.4.1</version>
</parent>
<artifactId>tensorflow-core-platform-gpu</artifactId>
<name>TensorFlow Core API Library Platform GPU</name>
Expand Down
2 changes: 1 addition & 1 deletion tensorflow-core/tensorflow-core-platform/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<parent>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow-core</artifactId>
<version>0.4.0</version>
<version>0.4.1</version>
</parent>
<artifactId>tensorflow-core-platform</artifactId>
<name>TensorFlow Core API Library Platform</name>
Expand Down
4 changes: 2 additions & 2 deletions tensorflow-framework/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<parent>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow-java</artifactId>
<version>0.4.0</version>
<version>0.4.1</version>
</parent>
<artifactId>tensorflow-framework</artifactId>
<packaging>jar</packaging>
Expand Down Expand Up @@ -93,7 +93,7 @@
<configuration>
<forkCount>1</forkCount>
<reuseForks>false</reuseForks>
<argLine>-Xmx2G -XX:MaxPermSize=256m</argLine>
<argLine>-Xmx2G</argLine>
<includes>
<include>**/*Test.java</include>
</includes>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -39,11 +38,11 @@ public void testValueIsIdempotent() {
PrecisionAtRecall<TFloat32> instance = new PrecisionAtRecall<>(0.7f, 1001L, TFloat32.class);

Operand<TFloat32> 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<TFloat32> 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);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -39,11 +38,11 @@ public void testValueIsIdempotent() {
Precision<TFloat64> instance =
new Precision<>(new float[] {0.3f, 0.72f}, 1001L, TFloat64.class);
Operand<TFloat32> 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<TFloat32> 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);

Expand Down Expand Up @@ -81,7 +80,11 @@ public void testUnweightedAllIncorrect() {
Precision<TFloat32> instance = new Precision<>(0.5f, 1001L, TFloat32.class);

Operand<TInt32> 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<TInt32> labels = tf.math.sub(tf.constant(1), predictions);
Op update = instance.updateState(tf, labels, predictions, null);
session.run(update);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -39,11 +38,11 @@ public void testValueIsIdempotent() {
RecallAtPrecision<TFloat32> instance = new RecallAtPrecision<>(0.7f, 1001L, TFloat32.class);

Operand<TFloat32> 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<TFloat32> 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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,11 @@ public void testValueIsIdempotent() {
Recall<TFloat32> instance = new Recall<>(new float[] {0.3f, 0.72f}, 1001L, TFloat32.class);

Operand<TFloat32> 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<TFloat32> 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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -40,11 +39,11 @@ public void testValueIsIdempotent() {
SensitivityAtSpecificity<TFloat32> instance =
new SensitivityAtSpecificity<>(0.7f, 1001L, TFloat32.class);
Operand<TFloat32> 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<TFloat32> 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());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -42,11 +41,11 @@ public void testValueIsIdempotent() {
new SpecificityAtSensitivity<>(0.7f, 1001L, TFloat32.class);

Operand<TFloat32> 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<TFloat32> 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);
Expand Down