| @@ -23,57 +23,58 @@ using static Tensorflow.Binding; | |||||
| namespace Tensorflow | namespace Tensorflow | ||||
| { | { | ||||
| /* | |||||
| A TensorFlow computation, represented as a dataflow graph. | |||||
| A `Graph` contains a set of | |||||
| `tf.Operation` objects, | |||||
| which represent units of computation; and | |||||
| `tf.Tensor` objects, which represent | |||||
| the units of data that flow between operations. | |||||
| A default `Graph` is always registered, and accessible by calling | |||||
| `tf.get_default_graph`. | |||||
| To add an operation to the default graph, simply call one of the functions | |||||
| that defines a new `Operation`: | |||||
| ```python | |||||
| c = tf.constant(4.0) | |||||
| assert c.graph is tf.get_default_graph() | |||||
| ``` | |||||
| Another typical usage involves the | |||||
| `tf.Graph.as_default` | |||||
| context manager, which overrides the current default graph for the | |||||
| lifetime of the context: | |||||
| ```python | |||||
| g = tf.Graph() | |||||
| with g.as_default(): | |||||
| # Define operations and tensors in `g`. | |||||
| c = tf.constant(30.0) | |||||
| assert c.graph is g | |||||
| ``` | |||||
| Important note: This class *is not* thread-safe for graph construction. All | |||||
| operations should be created from a single thread, or external | |||||
| synchronization must be provided. Unless otherwise specified, all methods | |||||
| are not thread-safe. | |||||
| A `Graph` instance supports an arbitrary number of "collections" | |||||
| that are identified by name. For convenience when building a large | |||||
| graph, collections can store groups of related objects: for | |||||
| example, the `tf.Variable` uses a collection (named | |||||
| `tf.GraphKeys.GLOBAL_VARIABLES`) for | |||||
| all variables that are created during the construction of a graph. The caller | |||||
| may define additional collections by specifying a new name. | |||||
| */ | |||||
| /// <summary> | /// <summary> | ||||
| /// TensorFlow uses a dataflow graph to represent your computation in terms of the dependencies between individual operations. | |||||
| /// This leads to a low-level programming model in which you first define the dataflow graph, | |||||
| /// then create a TensorFlow session to run parts of the graph across a set of local and remote devices. | |||||
| /// https://www.tensorflow.org/guide/graphs | |||||
| /// TensorFlow uses a dataflow graph to represent your computation in terms of the dependencies between individual operations. | |||||
| /// This leads to a low-level programming model in which you first define the dataflow graph, | |||||
| /// then create a TensorFlow session to run parts of the graph across a set of local and remote devices. | |||||
| /// </summary> | /// </summary> | ||||
| /* | |||||
| A TensorFlow computation, represented as a dataflow graph. | |||||
| A `Graph` contains a set of | |||||
| `tf.Operation` objects, | |||||
| which represent units of computation; and | |||||
| `tf.Tensor` objects, which represent | |||||
| the units of data that flow between operations. | |||||
| A default `Graph` is always registered, and accessible by calling | |||||
| `tf.get_default_graph`. | |||||
| To add an operation to the default graph, simply call one of the functions | |||||
| that defines a new `Operation`: | |||||
| ```python | |||||
| c = tf.constant(4.0) | |||||
| assert c.graph is tf.get_default_graph() | |||||
| ``` | |||||
| Another typical usage involves the | |||||
| `tf.Graph.as_default` | |||||
| context manager, which overrides the current default graph for the | |||||
| lifetime of the context: | |||||
| ```python | |||||
| g = tf.Graph() | |||||
| with g.as_default(): | |||||
| # Define operations and tensors in `g`. | |||||
| c = tf.constant(30.0) | |||||
| assert c.graph is g | |||||
| ``` | |||||
| Important note: This class *is not* thread-safe for graph construction. All | |||||
| operations should be created from a single thread, or external | |||||
| synchronization must be provided. Unless otherwise specified, all methods | |||||
| are not thread-safe. | |||||
| A `Graph` instance supports an arbitrary number of "collections" | |||||
| that are identified by name. For convenience when building a large | |||||
| graph, collections can store groups of related objects: for | |||||
| example, the `tf.Variable` uses a collection (named | |||||
| `tf.GraphKeys.GLOBAL_VARIABLES`) for | |||||
| all variables that are created during the construction of a graph. The caller | |||||
| may define additional collections by specifying a new name. | |||||
| */ | |||||
| /// <remarks>https://www.tensorflow.org/guide/graphs <br></br>https://www.tensorflow.org/api_docs/python/tf/Graph</remarks> | |||||
| public partial class Graph : DisposableObject, IEnumerable<Operation> | public partial class Graph : DisposableObject, IEnumerable<Operation> | ||||
| { | { | ||||
| private Dictionary<int, ITensorOrOperation> _nodes_by_id; | private Dictionary<int, ITensorOrOperation> _nodes_by_id; | ||||