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.