Browse Source

add operation creation log

tags/v0.8.0
Oceania2018 6 years ago
parent
commit
8e321bd1ba
4 changed files with 16 additions and 0 deletions
  1. +4
    -0
      docs/source/ControlDependency.md
  2. +4
    -0
      docs/source/NameScope.md
  3. +2
    -0
      docs/source/index.rst
  4. +6
    -0
      src/TensorFlowNET.Core/Graphs/Graph.cs

+ 4
- 0
docs/source/ControlDependency.md View File

@@ -0,0 +1,4 @@
# Chapter. Control Dependency




+ 4
- 0
docs/source/NameScope.md View File

@@ -0,0 +1,4 @@
# Chapter. Name Scoping

Typical TensorFlow graphs can have many thousands of nodes--far too many to see easily all at once, or even to lay out using standard graph tools. To simplify, variable names can be scoped and the visualization uses this information to define a hierarchy on the nodes in the graph. By default, only the top of this hierarchy is shown. Here is an example that defines three operations under the `hidden` name scope using `tf.name_scope`:


+ 2
- 0
docs/source/index.rst View File

@@ -23,5 +23,7 @@ Welcome to TensorFlow.NET's documentation!
Graph
Operation
Attribute
NameScope
ControlDependency
Gradient
EagerMode

+ 6
- 0
src/TensorFlowNET.Core/Graphs/Graph.cs View File

@@ -138,6 +138,12 @@ namespace Tensorflow
op_def: op_def);

_create_op_helper(op, true);

Console.Write($"create_op: {op_type} '{node_def.Name}'");
Console.Write($", inputs: {(inputs.Count == 0 ? "empty" : String.Join(",", inputs.Select(x => x.name)))}");
Console.Write($", outputs: {(op.outputs.Length == 0 ? "empty" : String.Join(",", op.outputs.Select(x => x.name)))}");
Console.WriteLine();

return op;
}



Loading…
Cancel
Save