Driver for Graph
execution.
A Session
instance encapsulates the environment in which Operation
s in a
Graph
are executed to compute Tensors
. For example:
// Let's say graph is an instance of the Graph class
// for the computation y = 3 * x
try (Session s = new Session(graph)) {
try (Tensor x = Tensor.create(2.0f);
Tensor y = s.runner().feed("x", x).fetch("y").run().get(0)) {
System.out.println(y.floatValue()); // Will print 6.0f
}
try (Tensor x = Tensor.create(1.1f);
Tensor y = s.runner().feed("x", x).fetch("y").run().get(0)) {
System.out.println(y.floatValue()); // Will print 3.3f
}
}
WARNING:A Session
owns resources that must be explicitly freed by
invoking close()
.
Instances of a Session are thread-safe.
Nested Classes
class | Session.Run | Output tensors and metadata obtained when executing a session. | |
class | Session.Runner | Run Operation s and evaluate Tensors . |
Public Constructors
Public Methods
void |
close()
Release resources associated with the Session.
|
Session.Runner |
runner()
Create a Runner to execute graph operations and evaluate Tensors.
|
Inherited Methods
Public Constructors
public Session (Graph g, byte[] config)
Construct a new session with the associated Graph
and configuration options.
Parameters
g | The Graph the created Session will operate on. |
---|---|
config | Configuration parameters for the session specified as a serialized ConfigProto protocol buffer. |
Throws
IllegalArgumentException | if the config is not a valid serialization of the ConfigProto protocol buffer. |
---|
Public Methods
public void close ()
Release resources associated with the Session.
Blocks until there are no active executions (Session.Runner.run()
calls). A Session
is not usable after close returns.