Skip to content

Commit 593731c

Browse files
committed
gradient registry
Signed-off-by: Ryan Nett <rnett@calpoly.edu>
1 parent c2d6b55 commit 593731c

File tree

26 files changed

+4702
-3227
lines changed

26 files changed

+4702
-3227
lines changed

tensorflow-core/tensorflow-core-api/src/gen/annotations/org/tensorflow/op/Ops.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ public final class Ops {
370370

371371
private final Scope scope;
372372

373-
private Ops(Scope scope) {
373+
Ops(Scope scope) {
374374
this.scope = scope;
375375
nn = new NnOps(this);
376376
summary = new SummaryOps(this);
@@ -8185,7 +8185,7 @@ public final Scope scope() {
81858185
* Creates an API for building operations in the provided execution environment
81868186
*/
81878187
public static Ops create(ExecutionEnvironment env) {
8188-
return new Ops(new Scope(env));
8188+
return new Ops(new JavaScope(env));
81898189
}
81908190

81918191
/**
@@ -8194,6 +8194,6 @@ public static Ops create(ExecutionEnvironment env) {
81948194
* <p>Invoking this method is equivalent to {@code Ops.create(EagerSession.getDefault())}.
81958195
*/
81968196
public static Ops create() {
8197-
return new Ops(new Scope(EagerSession.getDefault()));
8197+
return new Ops(new JavaScope(EagerSession.getDefault()));
81988198
}
81998199
}

tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/internal/c_api/GradFunc.java

Lines changed: 34 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,43 @@
22

33
package org.tensorflow.internal.c_api;
44

5-
import java.nio.*;
6-
import org.bytedeco.javacpp.*;
7-
import org.bytedeco.javacpp.annotation.*;
5+
import org.bytedeco.javacpp.FunctionPointer;
6+
import org.bytedeco.javacpp.Loader;
7+
import org.bytedeco.javacpp.Pointer;
8+
import org.bytedeco.javacpp.annotation.ByRef;
9+
import org.bytedeco.javacpp.annotation.ByVal;
10+
import org.bytedeco.javacpp.annotation.Const;
11+
import org.bytedeco.javacpp.annotation.Properties;
12+
import org.bytedeco.javacpp.annotation.StdVector;
813

9-
import static org.tensorflow.internal.c_api.global.tensorflow.*;
1014

11-
12-
/** GradFunc is the signature for all gradient functions in GradOpRegistry.
13-
* Implementations should add operations to compute the gradient outputs of
14-
* 'op' (returned in 'grad_outputs') using 'scope' and 'grad_inputs'. */
15+
/**
16+
* GradFunc is the signature for all gradient functions in GradOpRegistry. Implementations should
17+
* add operations to compute the gradient outputs of 'op' (returned in 'grad_outputs') using 'scope'
18+
* and 'grad_inputs'.
19+
*/
1520
@Properties(inherit = org.tensorflow.internal.c_api.presets.tensorflow.class)
1621
public class GradFunc extends FunctionPointer {
17-
static { Loader.load(); }
18-
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
19-
public GradFunc(Pointer p) { super(p); }
20-
protected GradFunc() { allocate(); }
22+
23+
static {
24+
Loader.load();
25+
}
26+
27+
/**
28+
* Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}.
29+
*/
30+
public GradFunc(Pointer p) {
31+
super(p);
32+
}
33+
34+
protected GradFunc() {
35+
allocate();
36+
}
37+
2138
private native void allocate();
22-
public native @ByVal NativeStatus call(@Const @ByRef TF_Scope scope, @Cast("const tensorflow::Operation*") @ByRef TF_Operation op,
23-
@Cast("tensorflow::Output*") @StdVector TF_Output grad_inputs,
24-
@Cast("tensorflow::Output*") @StdVector TF_Output grad_outputs);
39+
40+
public native @ByVal
41+
NativeStatus call(@Const @ByRef TF_Scope scope, @Const @ByRef NativeOperation op,
42+
@StdVector NativeOutput grad_inputs,
43+
@StdVector NativeOutput grad_outputs);
2544
}
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
// Targeted by JavaCPP version 1.5.5: DO NOT EDIT THIS FILE
2+
3+
package org.tensorflow.internal.c_api;
4+
5+
import org.bytedeco.javacpp.Loader;
6+
import org.bytedeco.javacpp.Pointer;
7+
import org.bytedeco.javacpp.annotation.ByRef;
8+
import org.bytedeco.javacpp.annotation.Cast;
9+
import org.bytedeco.javacpp.annotation.Const;
10+
import org.bytedeco.javacpp.annotation.Name;
11+
import org.bytedeco.javacpp.annotation.NoOffset;
12+
import org.bytedeco.javacpp.annotation.Properties;
13+
14+
15+
/**
16+
* \addtogroup core \{
17+
* <p>
18+
* Represents a node in the computation graph.
19+
*/
20+
@Name("tensorflow::Operation")
21+
@NoOffset
22+
@Properties(inherit = org.tensorflow.internal.c_api.presets.tensorflow.class)
23+
public class NativeOperation extends Pointer {
24+
25+
static {
26+
Loader.load();
27+
}
28+
29+
/**
30+
* Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}.
31+
*/
32+
public NativeOperation(Pointer p) {
33+
super(p);
34+
}
35+
36+
/**
37+
* Native array allocator. Access with {@link Pointer#position(long)}.
38+
*/
39+
public NativeOperation(long size) {
40+
super((Pointer) null);
41+
allocateArray(size);
42+
}
43+
44+
private native void allocateArray(long size);
45+
46+
@Override
47+
public NativeOperation position(long position) {
48+
return (NativeOperation) super.position(position);
49+
}
50+
51+
@Override
52+
public NativeOperation getPointer(long i) {
53+
return new NativeOperation((Pointer) this).position(position + i);
54+
}
55+
56+
public NativeOperation() {
57+
super((Pointer) null);
58+
allocate();
59+
}
60+
61+
private native void allocate();
62+
63+
public NativeOperation(Node n) {
64+
super((Pointer) null);
65+
allocate(n);
66+
}
67+
68+
private native void allocate(Node n);
69+
70+
71+
public native Node node();
72+
73+
74+
public native @Cast("bool")
75+
@Name("operator ==")
76+
boolean equals(@Const @ByRef NativeOperation other);
77+
}
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
// Targeted by JavaCPP version 1.5.5: DO NOT EDIT THIS FILE
2+
3+
package org.tensorflow.internal.c_api;
4+
5+
import org.bytedeco.javacpp.BytePointer;
6+
import org.bytedeco.javacpp.Loader;
7+
import org.bytedeco.javacpp.Pointer;
8+
import org.bytedeco.javacpp.annotation.ByRef;
9+
import org.bytedeco.javacpp.annotation.ByVal;
10+
import org.bytedeco.javacpp.annotation.Cast;
11+
import org.bytedeco.javacpp.annotation.Const;
12+
import org.bytedeco.javacpp.annotation.Name;
13+
import org.bytedeco.javacpp.annotation.NoOffset;
14+
import org.bytedeco.javacpp.annotation.Properties;
15+
import org.bytedeco.javacpp.annotation.StdString;
16+
17+
18+
/**
19+
* Represents a tensor value produced by an Operation.
20+
*/
21+
@Name("tensorflow::Output")
22+
@NoOffset
23+
@Properties(inherit = org.tensorflow.internal.c_api.presets.tensorflow.class)
24+
public class NativeOutput extends Pointer {
25+
26+
static {
27+
Loader.load();
28+
}
29+
30+
/**
31+
* Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}.
32+
*/
33+
public NativeOutput(Pointer p) {
34+
super(p);
35+
}
36+
37+
/**
38+
* Native array allocator. Access with {@link Pointer#position(long)}.
39+
*/
40+
public NativeOutput(long size) {
41+
super((Pointer) null);
42+
allocateArray(size);
43+
}
44+
45+
private native void allocateArray(long size);
46+
47+
@Override
48+
public NativeOutput position(long position) {
49+
return (NativeOutput) super.position(position);
50+
}
51+
52+
@Override
53+
public NativeOutput getPointer(long i) {
54+
return new NativeOutput((Pointer) this).position(position + i);
55+
}
56+
57+
public NativeOutput() {
58+
super((Pointer) null);
59+
allocate();
60+
}
61+
62+
private native void allocate();
63+
64+
public NativeOutput(Node n) {
65+
super((Pointer) null);
66+
allocate(n);
67+
}
68+
69+
private native void allocate(Node n);
70+
71+
public NativeOutput(Node n, @Cast("tensorflow::int32") int index) {
72+
super((Pointer) null);
73+
allocate(n, index);
74+
}
75+
76+
private native void allocate(Node n, @Cast("tensorflow::int32") int index);
77+
78+
public NativeOutput(@Const @ByRef NativeOperation op, @Cast("tensorflow::int32") int index) {
79+
super((Pointer) null);
80+
allocate(op, index);
81+
}
82+
83+
private native void allocate(@Const @ByRef NativeOperation op,
84+
@Cast("tensorflow::int32") int index);
85+
86+
public native @ByVal
87+
NativeOperation op();
88+
89+
public native Node node();
90+
91+
public native @Cast("tensorflow::int32")
92+
int index();
93+
94+
public native @StdString
95+
BytePointer name();
96+
97+
public native @Cast("bool")
98+
@Name("operator ==")
99+
boolean equals(@Const @ByRef NativeOutput other);
100+
101+
102+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// Targeted by JavaCPP version 1.5.5: DO NOT EDIT THIS FILE
2+
3+
package org.tensorflow.internal.c_api;
4+
5+
import org.bytedeco.javacpp.Pointer;
6+
import org.bytedeco.javacpp.annotation.Name;
7+
import org.bytedeco.javacpp.annotation.Opaque;
8+
import org.bytedeco.javacpp.annotation.Properties;
9+
10+
// Parsed from tensorflow/core/graph/graph.h
11+
12+
@Name("tensorflow::Node")
13+
@Opaque
14+
@Properties(inherit = org.tensorflow.internal.c_api.presets.tensorflow.class)
15+
public class Node extends Pointer {
16+
17+
/**
18+
* Empty constructor. Calls {@code super((Pointer)null)}.
19+
*/
20+
public Node() {
21+
super((Pointer) null);
22+
}
23+
24+
/**
25+
* Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}.
26+
*/
27+
public Node(Pointer p) {
28+
super(p);
29+
}
30+
}

tensorflow-core/tensorflow-core-api/src/gen/java/org/tensorflow/internal/c_api/TF_Operation.java

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,27 @@
22

33
package org.tensorflow.internal.c_api;
44

5-
import java.nio.*;
6-
import org.bytedeco.javacpp.*;
7-
import org.bytedeco.javacpp.annotation.*;
5+
import org.bytedeco.javacpp.Loader;
6+
import org.bytedeco.javacpp.Pointer;
7+
import org.bytedeco.javacpp.annotation.ByRef;
8+
import org.bytedeco.javacpp.annotation.MemberGetter;
9+
import org.bytedeco.javacpp.annotation.Properties;
810

9-
import static org.tensorflow.internal.c_api.global.tensorflow.*;
11+
@Properties(inherit = org.tensorflow.internal.c_api.presets.tensorflow.class)
12+
public class TF_Operation extends Pointer {
1013

14+
static {
15+
Loader.load();
16+
}
1117

12-
// Operation that has been added to the graph. Valid until the graph is
13-
// deleted -- in particular adding a new operation to the graph does not
14-
// invalidate old TF_Operation* pointers.
15-
@Opaque @Properties(inherit = org.tensorflow.internal.c_api.presets.tensorflow.class)
16-
public class TF_Operation extends Pointer {
17-
/** Empty constructor. Calls {@code super((Pointer)null)}. */
18-
public TF_Operation() { super((Pointer)null); }
19-
/** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
20-
public TF_Operation(Pointer p) { super(p); }
18+
/**
19+
* Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}.
20+
*/
21+
public TF_Operation(Pointer p) {
22+
super(p);
23+
}
24+
25+
public native @MemberGetter
26+
@ByRef
27+
Node node();
2128
}

0 commit comments

Comments
 (0)