Browse Source

clean code.

tags/v0.30
Oceania2018 5 years ago
parent
commit
ba490102c1
100 changed files with 200 additions and 431 deletions
  1. +2
    -2
      src/TensorFlowNET.Core/APIs/c_api.cs
  2. +0
    -1
      src/TensorFlowNET.Core/APIs/tf.array.cs
  3. +0
    -1
      src/TensorFlowNET.Core/APIs/tf.autograph.cs
  4. +0
    -2
      src/TensorFlowNET.Core/APIs/tf.compat.cs
  5. +0
    -2
      src/TensorFlowNET.Core/APIs/tf.compat.v1.cs
  6. +7
    -8
      src/TensorFlowNET.Core/APIs/tf.control_flow.cs
  7. +0
    -2
      src/TensorFlowNET.Core/APIs/tf.data.cs
  8. +0
    -2
      src/TensorFlowNET.Core/APIs/tf.data_flow.cs
  9. +4
    -4
      src/TensorFlowNET.Core/APIs/tf.debugging.cs
  10. +5
    -5
      src/TensorFlowNET.Core/APIs/tf.gradients.cs
  11. +1
    -1
      src/TensorFlowNET.Core/APIs/tf.graph.cs
  12. +6
    -8
      src/TensorFlowNET.Core/APIs/tf.image.cs
  13. +2
    -2
      src/TensorFlowNET.Core/APIs/tf.init.cs
  14. +0
    -2
      src/TensorFlowNET.Core/APIs/tf.keras.cs
  15. +7
    -9
      src/TensorFlowNET.Core/APIs/tf.layers.cs
  16. +11
    -14
      src/TensorFlowNET.Core/APIs/tf.math.cs
  17. +8
    -9
      src/TensorFlowNET.Core/APIs/tf.nn.cs
  18. +3
    -3
      src/TensorFlowNET.Core/APIs/tf.ops.cs
  19. +0
    -2
      src/TensorFlowNET.Core/APIs/tf.optimizers.cs
  20. +0
    -1
      src/TensorFlowNET.Core/APIs/tf.queue.cs
  21. +1
    -1
      src/TensorFlowNET.Core/APIs/tf.random.cs
  22. +1
    -1
      src/TensorFlowNET.Core/APIs/tf.sparse.cs
  23. +0
    -3
      src/TensorFlowNET.Core/APIs/tf.strings.cs
  24. +1
    -1
      src/TensorFlowNET.Core/APIs/tf.summary.cs
  25. +2
    -2
      src/TensorFlowNET.Core/APIs/tf.tensor.cs
  26. +0
    -2
      src/TensorFlowNET.Core/APIs/tf.tile.cs
  27. +5
    -5
      src/TensorFlowNET.Core/APIs/tf.train.cs
  28. +1
    -1
      src/TensorFlowNET.Core/Attributes/c_api.ops.cs
  29. +0
    -4
      src/TensorFlowNET.Core/Binding.FuncTools.cs
  30. +12
    -12
      src/TensorFlowNET.Core/Binding.Util.cs
  31. +1
    -5
      src/TensorFlowNET.Core/Binding.cs
  32. +0
    -1
      src/TensorFlowNET.Core/Buffers/Buffer.cs
  33. +1
    -1
      src/TensorFlowNET.Core/Clustering/_InitializeClustersOpFactory.cs
  34. +2
    -2
      src/TensorFlowNET.Core/Contexts/Context.cs
  35. +0
    -2
      src/TensorFlowNET.Core/Contexts/ContextSwitch.cs
  36. +0
    -2
      src/TensorFlowNET.Core/Contexts/ContextSwitchStack.cs
  37. +2
    -2
      src/TensorFlowNET.Core/Contrib/Learn/Estimators/tensor_signature.cs
  38. +1
    -5
      src/TensorFlowNET.Core/Contrib/Train/HParams.cs
  39. +2
    -5
      src/TensorFlowNET.Core/Data/BatchDataset.cs
  40. +1
    -4
      src/TensorFlowNET.Core/Data/CacheDataset.cs
  41. +1
    -4
      src/TensorFlowNET.Core/Data/DataSetBase.cs
  42. +0
    -2
      src/TensorFlowNET.Core/Data/DatasetManager.cs
  43. +1
    -5
      src/TensorFlowNET.Core/Data/DatasetOps.cs
  44. +1
    -5
      src/TensorFlowNET.Core/Data/DatasetOptions.cs
  45. +1
    -7
      src/TensorFlowNET.Core/Data/DatasetSource.cs
  46. +3
    -4
      src/TensorFlowNET.Core/Data/DatasetV2.cs
  47. +1
    -4
      src/TensorFlowNET.Core/Data/Datasets.cs
  48. +0
    -3
      src/TensorFlowNET.Core/Data/FlatMapDataset.cs
  49. +1
    -5
      src/TensorFlowNET.Core/Data/GeneratorDataset.cs
  50. +1
    -4
      src/TensorFlowNET.Core/Data/IDataSet.cs
  51. +3
    -5
      src/TensorFlowNET.Core/Data/IDatasetV2.cs
  52. +1
    -5
      src/TensorFlowNET.Core/Data/IModelLoader.cs
  53. +1
    -5
      src/TensorFlowNET.Core/Data/IteratorBase.cs
  54. +0
    -3
      src/TensorFlowNET.Core/Data/IteratorResourceDeleter.cs
  55. +0
    -5
      src/TensorFlowNET.Core/Data/MapDataset.cs
  56. +3
    -5
      src/TensorFlowNET.Core/Data/MnistDataSet.cs
  57. +11
    -13
      src/TensorFlowNET.Core/Data/MnistModelLoader.cs
  58. +3
    -6
      src/TensorFlowNET.Core/Data/ModelDataset.cs
  59. +1
    -4
      src/TensorFlowNET.Core/Data/ModelLoadSetting.cs
  60. +5
    -8
      src/TensorFlowNET.Core/Data/OptimizeDataset.cs
  61. +2
    -6
      src/TensorFlowNET.Core/Data/OptionsDataset.cs
  62. +0
    -2
      src/TensorFlowNET.Core/Data/OwnedIterator.cs
  63. +2
    -4
      src/TensorFlowNET.Core/Data/ParallelMapDataset.cs
  64. +2
    -5
      src/TensorFlowNET.Core/Data/PrefetchDataset.cs
  65. +3
    -6
      src/TensorFlowNET.Core/Data/RangeDataset.cs
  66. +1
    -5
      src/TensorFlowNET.Core/Data/RepeatDataset.cs
  67. +1
    -4
      src/TensorFlowNET.Core/Data/ShardDataset.cs
  68. +3
    -5
      src/TensorFlowNET.Core/Data/ShuffleDataset.cs
  69. +2
    -5
      src/TensorFlowNET.Core/Data/SkipDataset.cs
  70. +1
    -4
      src/TensorFlowNET.Core/Data/TakeDataset.cs
  71. +0
    -3
      src/TensorFlowNET.Core/Data/TensorDataset.cs
  72. +1
    -6
      src/TensorFlowNET.Core/Data/TensorSliceDataset.cs
  73. +1
    -6
      src/TensorFlowNET.Core/Data/UnaryDataset.cs
  74. +2
    -6
      src/TensorFlowNET.Core/Data/UnaryUnchangedStructureDataset.cs
  75. +6
    -9
      src/TensorFlowNET.Core/Data/Utils.cs
  76. +1
    -3
      src/TensorFlowNET.Core/Data/ZipDataset.cs
  77. +1
    -3
      src/TensorFlowNET.Core/DisposableObject.cs
  78. +0
    -4
      src/TensorFlowNET.Core/Eager/EagerOperation.cs
  79. +1
    -2
      src/TensorFlowNET.Core/Eager/EagerRunner.ArgsToMatchingEager.cs
  80. +1
    -3
      src/TensorFlowNET.Core/Eager/EagerRunner.Execute.cs
  81. +4
    -7
      src/TensorFlowNET.Core/Eager/EagerRunner.RecordGradient.cs
  82. +1
    -5
      src/TensorFlowNET.Core/Eager/EagerRunner.RunCallbacks.cs
  83. +1
    -2
      src/TensorFlowNET.Core/Eager/EagerRunner.TFE_Execute.cs
  84. +17
    -17
      src/TensorFlowNET.Core/Eager/EagerRunner.TFE_FastPathExecute.cs
  85. +2
    -5
      src/TensorFlowNET.Core/Eager/EagerRunner.TFE_TapeGradient.cs
  86. +1
    -3
      src/TensorFlowNET.Core/Eager/EagerRunner.TapeSetRecordBackprop.cs
  87. +0
    -2
      src/TensorFlowNET.Core/Eager/EagerRunner.TapeSetRecordForwardprop.cs
  88. +0
    -2
      src/TensorFlowNET.Core/Eager/EagerRunner.TapeSetRecordOperation.cs
  89. +1
    -5
      src/TensorFlowNET.Core/Eager/EagerRunner.TapeTensorFromTensor.cs
  90. +1
    -4
      src/TensorFlowNET.Core/Eager/EagerRunner.TapeTensorsFromTensorSequence.cs
  91. +1
    -7
      src/TensorFlowNET.Core/Eager/EagerRunner.cs
  92. +2
    -5
      src/TensorFlowNET.Core/Eager/EagerTensor.Creation.cs
  93. +1
    -5
      src/TensorFlowNET.Core/Eager/EagerTensor.Implicit.cs
  94. +1
    -8
      src/TensorFlowNET.Core/Eager/EagerTensor.ToString.cs
  95. +1
    -3
      src/TensorFlowNET.Core/Eager/EagerTensor.cs
  96. +1
    -4
      src/TensorFlowNET.Core/Eager/FastPathOpExecInfo.cs
  97. +2
    -4
      src/TensorFlowNET.Core/Eager/IEagerRunner.cs
  98. +3
    -3
      src/TensorFlowNET.Core/Eager/c_api.eager.cs
  99. +1
    -3
      src/TensorFlowNET.Core/Exceptions/InvalidArgumentError.cs
  100. +1
    -3
      src/TensorFlowNET.Core/Exceptions/KeyError.cs

+ 2
- 2
src/TensorFlowNET.Core/APIs/c_api.cs View File

@@ -63,8 +63,8 @@ namespace Tensorflow

static unsafe DeallocatorArgs()
{
Empty = new IntPtr(EmptyPtr = (DeallocatorArgs*) Marshal.AllocHGlobal(Marshal.SizeOf<DeallocatorArgs>()));
*EmptyPtr = new DeallocatorArgs() {gc_handle = IntPtr.Zero, deallocator_called = false};
Empty = new IntPtr(EmptyPtr = (DeallocatorArgs*)Marshal.AllocHGlobal(Marshal.SizeOf<DeallocatorArgs>()));
*EmptyPtr = new DeallocatorArgs() { gc_handle = IntPtr.Zero, deallocator_called = false };
}

public bool deallocator_called;


+ 0
- 1
src/TensorFlowNET.Core/APIs/tf.array.cs View File

@@ -15,7 +15,6 @@
******************************************************************************/

using NumSharp;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;


+ 0
- 1
src/TensorFlowNET.Core/APIs/tf.autograph.cs View File

@@ -15,7 +15,6 @@
******************************************************************************/

using Tensorflow.Graphs;
using Tensorflow.Operations;

namespace Tensorflow
{


+ 0
- 2
src/TensorFlowNET.Core/APIs/tf.compat.cs View File

@@ -14,8 +14,6 @@
limitations under the License.
******************************************************************************/

using NumSharp;

namespace Tensorflow
{
public partial class tensorflow


+ 0
- 2
src/TensorFlowNET.Core/APIs/tf.compat.v1.cs View File

@@ -14,9 +14,7 @@
limitations under the License.
******************************************************************************/

using System;
using System.Collections.Generic;
using Tensorflow.Contexts;
using static Tensorflow.Binding;

namespace Tensorflow


+ 7
- 8
src/TensorFlowNET.Core/APIs/tf.control_flow.cs View File

@@ -15,7 +15,6 @@
******************************************************************************/

using System;
using static Tensorflow.Binding;

namespace Tensorflow
{
@@ -42,19 +41,19 @@ namespace Tensorflow
public Operation group<T>(T[] inputs, string name = null) where T : ITensorOrOperation
=> control_flow_ops.group(inputs, name: name);

public Tensor while_loop(Func<Tensor, Tensor> cond,
Func<Tensor, Tensor> body,
public Tensor while_loop(Func<Tensor, Tensor> cond,
Func<Tensor, Tensor> body,
Tensor loop_vars,
int parallel_iterations = 10)
{
Func<Tensor[], Tensor> cond1 = x
Func<Tensor[], Tensor> cond1 = x
=> cond(x[0]);

Func<Tensor[], Tensor[]> body1 = x
Func<Tensor[], Tensor[]> body1 = x
=> new[] { body(x[0]) };

var results = control_flow_ops.while_loop(cond1,
body1,
var results = control_flow_ops.while_loop(cond1,
body1,
new[] { loop_vars });
return results[0];
}
@@ -68,7 +67,7 @@ namespace Tensorflow
parallel_iterations: parallel_iterations,
name: name);

public _ControlDependenciesController control_dependencies(ITensorOrOperation[] control_inputs)
public _ControlDependenciesController control_dependencies(ITensorOrOperation[] control_inputs)
=> ops.control_dependencies(control_inputs);
}
}

+ 0
- 2
src/TensorFlowNET.Core/APIs/tf.data.cs View File

@@ -14,8 +14,6 @@
limitations under the License.
******************************************************************************/

using NumSharp;

namespace Tensorflow
{
public partial class tensorflow


+ 0
- 2
src/TensorFlowNET.Core/APIs/tf.data_flow.cs View File

@@ -14,8 +14,6 @@
limitations under the License.
******************************************************************************/

using System;

namespace Tensorflow
{
public partial class tensorflow


+ 4
- 4
src/TensorFlowNET.Core/APIs/tf.debugging.cs View File

@@ -34,10 +34,10 @@ namespace Tensorflow
object[] data = null,
string message = null,
string name = null)
=> check_ops.assert_equal(t1,
t2,
data: data,
message: message,
=> check_ops.assert_equal(t1,
t2,
data: data,
message: message,
name: name);

public Tensor assert_greater_equal<T1, T2>(Tensor x,


+ 5
- 5
src/TensorFlowNET.Core/APIs/tf.gradients.cs View File

@@ -40,11 +40,11 @@ namespace Tensorflow
int? aggregation_method = null,
Tensor[] stop_gradients = null)
{
return gradients_util._GradientsHelper(ys,
xs,
grad_ys,
name,
colocate_gradients_with_ops,
return gradients_util._GradientsHelper(ys,
xs,
grad_ys,
name,
colocate_gradients_with_ops,
gate_gradients,
stop_gradients: stop_gradients);
}


+ 1
- 1
src/TensorFlowNET.Core/APIs/tf.graph.cs View File

@@ -24,7 +24,7 @@ namespace Tensorflow
public GraphTransformer graph_transforms => new GraphTransformer();
public GraphKeys GraphKeys { get; } = new GraphKeys();

public void reset_default_graph()
public void reset_default_graph()
=> ops.reset_default_graph();

public Graph get_default_graph()


+ 6
- 8
src/TensorFlowNET.Core/APIs/tf.image.cs View File

@@ -14,8 +14,6 @@
limitations under the License.
******************************************************************************/

using System.Collections.Generic;
using Tensorflow.IO;
using static Tensorflow.Binding;

namespace Tensorflow
@@ -34,7 +32,7 @@ namespace Tensorflow

public Tensor flip_left_right(Tensor image)
=> image_ops_impl.flip_left_right(image);
public Tensor flip_up_down(Tensor image)
=> image_ops_impl.flip_up_down(image);

@@ -56,7 +54,7 @@ namespace Tensorflow
public Tensor resize_image_with_crop_or_pad(Tensor image, object target_height, object target_width)
=> image_ops_impl.resize_image_with_crop_or_pad(image, target_height, target_width);

public Tensor resize_images(Tensor images, Tensor size, string method = ResizeMethod.BILINEAR, bool preserve_aspect_ratio = false, bool antialias = false,
public Tensor resize_images(Tensor images, Tensor size, string method = ResizeMethod.BILINEAR, bool preserve_aspect_ratio = false, bool antialias = false,
string name = null)
=> image_ops_impl.resize_images(images, size, method, preserve_aspect_ratio, antialias, name);

@@ -93,7 +91,7 @@ namespace Tensorflow

public Tensor random_hue(Tensor image, float max_delta, int seed = 0)
=> image_ops_impl.random_hue(image, max_delta, seed);
public Tensor adjust_hue(Tensor image, Tensor delta, string name = null)
=> image_ops_impl.adjust_hue(image, delta, name);

@@ -169,7 +167,7 @@ namespace Tensorflow
string dct_method = "",
string name = null)
=> gen_image_ops.decode_jpeg(contents, channels: channels, ratio: ratio,
fancy_upscaling: fancy_upscaling, try_recover_truncated: try_recover_truncated,
fancy_upscaling: fancy_upscaling, try_recover_truncated: try_recover_truncated,
acceptable_fraction: acceptable_fraction, dct_method: dct_method);

/// <summary>
@@ -197,12 +195,12 @@ namespace Tensorflow
=> image_ops_impl.combined_non_max_suppression(boxes, scores, max_output_size_per_class, max_total_size, iou_threshold, score_threshold,
pad_per_class, clip_boxes, name);

public (Tensor, Tensor) non_max_suppression_padded(Tensor boxes, Tensor scores, Tensor max_output_size,
public (Tensor, Tensor) non_max_suppression_padded(Tensor boxes, Tensor scores, Tensor max_output_size,
float iou_threshold = 0.5f,
float score_threshold = -1f / 0f,
bool pad_to_max_output_size = false,
string name = null,
bool sorted_input = false,
bool sorted_input = false,
bool canonicalized_coordinates = false,
int tile_size = 512)
=> image_ops_impl.non_max_suppression_padded(boxes, scores, max_output_size, iou_threshold, score_threshold, pad_to_max_output_size,


+ 2
- 2
src/TensorFlowNET.Core/APIs/tf.init.cs View File

@@ -22,7 +22,7 @@ namespace Tensorflow
{
public InitializersImpl initializers { get; } = new InitializersImpl();

public IInitializer constant_initializer<T>(T value, TF_DataType dtype = TF_DataType.TF_FLOAT, bool verify_shape = false)
public IInitializer constant_initializer<T>(T value, TF_DataType dtype = TF_DataType.TF_FLOAT, bool verify_shape = false)
=> new Constant<T>(value, dtype: dtype, verify_shape: verify_shape);
public IInitializer zeros_initializer => new Zeros();
public IInitializer ones_initializer => new Ones();
@@ -97,7 +97,7 @@ namespace Tensorflow
dtype: dtype);

public IInitializer zeros_initializer(TensorShape shape = null,
TF_DataType dtype = TF_DataType.TF_FLOAT) => new Zeros(shape: shape,
TF_DataType dtype = TF_DataType.TF_FLOAT) => new Zeros(shape: shape,
dtype: dtype);
}
}


+ 0
- 2
src/TensorFlowNET.Core/APIs/tf.keras.cs View File

@@ -14,8 +14,6 @@
limitations under the License.
******************************************************************************/

using NumSharp;

namespace Tensorflow
{
public partial class tensorflow


+ 7
- 9
src/TensorFlowNET.Core/APIs/tf.layers.cs View File

@@ -14,14 +14,11 @@
limitations under the License.
******************************************************************************/

using System;
using System.Collections.Generic;
using System.Linq;
using NumSharp;
using Tensorflow.Keras;
using Tensorflow.Keras.ArgsDefinition;
using Tensorflow.Keras.Layers;
using Tensorflow.Operations.Activation;
using static Tensorflow.Binding;

namespace Tensorflow
@@ -37,7 +34,7 @@ namespace Tensorflow
int[] kernel_size,
int[] strides = null,
string padding = "valid",
string data_format= "channels_last",
string data_format = "channels_last",
int[] dilation_rate = null,
bool use_bias = true,
Activation activation = null,
@@ -219,7 +216,7 @@ namespace Tensorflow
if (inputs.shape.Length == 0)
throw new ValueError($"Input 0 of layer flatten is incompatible with the layer: : expected min_ndim={1}, found ndim={0}. Full shape received: ()");

var premutation = new List<int>() {0};
var premutation = new List<int>() { 0 };
if (data_format == "channels_first" && inputs.NDims > 1)
{
premutation.AddRange(Binding.range(2, inputs.NDims));
@@ -234,16 +231,17 @@ namespace Tensorflow
int[] compute_output_shape(int[] inputshape)
{
if (inputshape == null || inputshape.Length == 0)
inputshape = new int[] {1};
inputshape = new int[] { 1 };

if (inputshape.Skip(1).All(d => d > 0))
{
int[] output_shape = new int[2];
output_shape[0] = inputshape[0];
output_shape[1] = inputshape.Skip(1).Aggregate(1, (acc, rhs) => acc*rhs); //calculate size of all the rest dimensions
output_shape[1] = inputshape.Skip(1).Aggregate(1, (acc, rhs) => acc * rhs); //calculate size of all the rest dimensions
return output_shape;
} else
return new int[] {inputshape[0], -1}; //-1 == Binding.None
}
else
return new int[] { inputshape[0], -1 }; //-1 == Binding.None
}
}
}


+ 11
- 14
src/TensorFlowNET.Core/APIs/tf.math.cs View File

@@ -14,9 +14,6 @@
limitations under the License.
******************************************************************************/

using Tensorflow.Eager;
using Tensorflow.Operations;

namespace Tensorflow
{
public partial class tensorflow
@@ -52,7 +49,7 @@ namespace Tensorflow
public Tensor add(Tensor a, Tensor b, string name = null)
=> gen_math_ops.add(a, b, name: name);

public Tensor add<Tx, Ty>(Tx a, Ty b, string name = null)
public Tensor add<Tx, Ty>(Tx a, Ty b, string name = null)
=> gen_math_ops.add(a, b, name: name);

/// <summary>
@@ -233,7 +230,7 @@ namespace Tensorflow
/// <returns></returns>
public Tensor _clip_by_value(Tensor t, Tensor clip_value_min, Tensor clip_value_max, string name = null)
=> gen_math_ops._clip_by_value(t, clip_value_min, clip_value_max);
/// <summary>
/// Clips tensor values to a specified min and max.
/// </summary>
@@ -261,16 +258,16 @@ namespace Tensorflow
/// Any values less than <c>clip_value_min</c> are set to <c>clip_value_min</c>. Any values
/// greater than <c>clip_value_max</c> are set to <c>clip_value_max</c>.
/// </remarks>
public Tensor clip_by_value<T1, T2>(Tensor t, T1 clip_value_min, T2 clip_value_max, string name = "ClipByValue")
public Tensor clip_by_value<T1, T2>(Tensor t, T1 clip_value_min, T2 clip_value_max, string name = "ClipByValue")
=> clip_ops.clip_by_value(t, clip_value_min, clip_value_max, name);
public Tensor sub<Tx, Ty>(Tx a, Ty b, string name = null)
=> gen_math_ops.sub(a, b, name: name);

public Tensor divide(Tensor a, Tensor b)
=> a / b;

public Tensor sqrt(Tensor a, string name = null)
public Tensor sqrt(Tensor a, string name = null)
=> gen_math_ops.sqrt(a, name);

public Tensor sign(Tensor a, string name = null)
@@ -367,7 +364,7 @@ namespace Tensorflow
/// <param name="y"></param>
/// <param name="name"></param>
/// <returns></returns>
public Tensor multiply<Tx, Ty>(Tx x, Ty y, string name = null)
public Tensor multiply<Tx, Ty>(Tx x, Ty y, string name = null)
=> gen_math_ops.mul(x, y, name: name);

public Tensor negative(Tensor x, string name = null)
@@ -424,7 +421,7 @@ namespace Tensorflow

public Tensor real(Tensor input, string name = null)
=> math_ops.real(input, name);
/// <summary>
/// Computes the "logical or" of elements across dimensions of a tensor.
/// </summary>
@@ -478,7 +475,7 @@ namespace Tensorflow
/// <param name="input"></param>
/// <param name="axis"></param>
/// <returns></returns>
public Tensor reduce_sum(Tensor input, int? axis = null, int? reduction_indices = null,
public Tensor reduce_sum(Tensor input, int? axis = null, int? reduction_indices = null,
bool keepdims = false, string name = null)
{
if (!axis.HasValue && reduction_indices.HasValue && !keepdims)
@@ -491,7 +488,7 @@ namespace Tensorflow
return math_ops.reduce_sum(input, keepdims: keepdims, name: name);
}

public Tensor reduce_sum(Tensor input, TensorShape axis, int? reduction_indices = null,
public Tensor reduce_sum(Tensor input, TensorShape axis, int? reduction_indices = null,
bool keepdims = false, string name = null)
=> math_ops.reduce_sum(input, axis, keepdims: keepdims, name: name);

@@ -517,7 +514,7 @@ namespace Tensorflow

public Tensor reduce_variance(Tensor input_tensor, int[] axis = null, bool keepdims = false, string name = null)
=> math_ops.reduce_variance(input_tensor, axis, keepdims, name);
public Tensor sigmoid<T>(T x, string name = null)
=> math_ops.sigmoid(x, name: name);

@@ -536,7 +533,7 @@ namespace Tensorflow
public Tensor round(Tensor x, string name = null)
=> gen_math_ops.round(x, name: name);

public Tensor cast(Tensor x, TF_DataType dtype = TF_DataType.DtInvalid, string name = null)
public Tensor cast(Tensor x, TF_DataType dtype = TF_DataType.DtInvalid, string name = null)
=> math_ops.cast(x, dtype, name);

public Tensor cumsum(Tensor x, int axis = 0, bool exclusive = false, bool reverse = false, string name = null)


+ 8
- 9
src/TensorFlowNET.Core/APIs/tf.nn.cs View File

@@ -14,7 +14,6 @@
limitations under the License.
******************************************************************************/

using System;
using Tensorflow.Operations;
using Tensorflow.Operations.Activation;
using static Tensorflow.Binding;
@@ -27,8 +26,8 @@ namespace Tensorflow

public class nn_internal
{
public Tensor conv2d(Tensor input, IVariableV1 filter, int[] strides, string padding, bool use_cudnn_on_gpu = true,
string data_format= "NHWC", int[] dilations= null, string name = null)
public Tensor conv2d(Tensor input, IVariableV1 filter, int[] strides, string padding, bool use_cudnn_on_gpu = true,
string data_format = "NHWC", int[] dilations = null, string name = null)
{
var parameters = new Conv2dParams
{
@@ -92,9 +91,9 @@ namespace Tensorflow
public (Tensor, Tensor) moments(Tensor x,
int[] axes,
string name = null,
bool keep_dims = false) => nn_impl.moments(x,
axes,
name: name,
bool keep_dims = false) => nn_impl.moments(x,
axes,
name: name,
keep_dims: keep_dims);

public Tensor embedding_lookup(IVariableV1 @params,
@@ -121,7 +120,7 @@ namespace Tensorflow
public Tensor tanh(Tensor x, string name = null)
=> gen_nn_ops.tanh(x, name);

public Tensor relu(Tensor features, string name = null)
public Tensor relu(Tensor features, string name = null)
=> gen_nn_ops.relu(features, name);

public Tensor[] fused_batch_norm(Tensor x,
@@ -140,7 +139,7 @@ namespace Tensorflow

public IPoolFunction max_pool_fn => new MaxPoolFunction();

public Tensor max_pool(Tensor value, int[] ksize, int[] strides, string padding, string data_format = "NHWC", string name = null)
public Tensor max_pool(Tensor value, int[] ksize, int[] strides, string padding, string data_format = "NHWC", string name = null)
=> nn_ops.max_pool(value, ksize, strides, padding, data_format: data_format, name: name);

public Tensor in_top_k(Tensor predictions, Tensor targets, int k, string name = "InTopK")
@@ -183,7 +182,7 @@ namespace Tensorflow

public Tensor softmax(Tensor logits, int axis = -1, string name = null)
=> gen_nn_ops.softmax(logits, name);

/// <summary>
/// Computes sparse softmax cross entropy between `logits` and `labels`.


+ 3
- 3
src/TensorFlowNET.Core/APIs/tf.ops.cs View File

@@ -27,7 +27,7 @@ namespace Tensorflow
public void add_to_collections<T>(List<string> names, T value)
=> get_default_graph().add_to_collections(names, value);

public Tensor assign(Tensor @ref, object value, bool validate_shape = true, bool use_locking = true, string name = null)
public Tensor assign(Tensor @ref, object value, bool validate_shape = true, bool use_locking = true, string name = null)
=> state_ops.assign(@ref, value, validate_shape, use_locking, name);

public Tensor assign(IVariableV1 @ref, object value, bool validate_shape = true, bool use_locking = true, string name = null)
@@ -36,7 +36,7 @@ namespace Tensorflow
public void device(string device_name)
=> get_default_graph().device(device_name);

public List<T> get_collection<T>(string key, string scope = "")
public List<T> get_collection<T>(string key, string scope = "")
=> get_default_graph().get_collection<T>(key, scope: scope);

/// <summary>
@@ -54,7 +54,7 @@ namespace Tensorflow
/// <param name="default_name">The default name to use if the name argument is None.</param>
/// <param name="values">The list of Tensor arguments that are passed to the op function.</param>
/// <returns>The scope name.</returns>
public ops.NameScope name_scope(string name, string default_name = "", object values = null)
public ops.NameScope name_scope(string name, string default_name = "", object values = null)
=> new ops.NameScope(name, default_name, values);

/// <summary>


+ 0
- 2
src/TensorFlowNET.Core/APIs/tf.optimizers.cs View File

@@ -14,8 +14,6 @@
limitations under the License.
******************************************************************************/

using Tensorflow.Keras;
using Tensorflow.Keras.Engine;
using Tensorflow.Keras.Optimizers;

namespace Tensorflow


+ 0
- 1
src/TensorFlowNET.Core/APIs/tf.queue.cs View File

@@ -14,7 +14,6 @@
limitations under the License.
******************************************************************************/

using System;
using Tensorflow.Queues;

namespace Tensorflow


+ 1
- 1
src/TensorFlowNET.Core/APIs/tf.random.cs View File

@@ -97,7 +97,7 @@ namespace Tensorflow

public Tensor multinomial(Tensor logits, int num_samples, int? seed = null,
string name = null, TF_DataType output_dtype = TF_DataType.DtInvalid)
=> random_ops.multinomial(logits, num_samples, seed: seed,
=> random_ops.multinomial(logits, num_samples, seed: seed,
name: name, output_dtype: output_dtype);
}
}

+ 1
- 1
src/TensorFlowNET.Core/APIs/tf.sparse.cs View File

@@ -52,7 +52,7 @@ namespace Tensorflow
bool validate_indices = true,
string name = null)
=> gen_sparse_ops.sparse_to_dense(sparse_indices,
output_shape,
output_shape,
sparse_values,
default_value: default_value,
validate_indices: validate_indices,


+ 0
- 3
src/TensorFlowNET.Core/APIs/tf.strings.cs View File

@@ -14,9 +14,6 @@
limitations under the License.
******************************************************************************/

using System.Collections.Generic;
using Tensorflow.IO;

namespace Tensorflow
{
public partial class tensorflow


+ 1
- 1
src/TensorFlowNET.Core/APIs/tf.summary.cs View File

@@ -20,7 +20,7 @@ namespace Tensorflow
{
public Summaries.Summary summary = new Summaries.Summary();

public Tensor scalar(string name, Tensor tensor)
public Tensor scalar(string name, Tensor tensor)
=> summary.scalar(name, tensor);
}
}

+ 2
- 2
src/TensorFlowNET.Core/APIs/tf.tensor.cs View File

@@ -18,7 +18,7 @@ namespace Tensorflow
{
public partial class tensorflow
{
public Tensor convert_to_tensor(object value, TF_DataType dtype = TF_DataType.DtInvalid, string name = null, TF_DataType preferred_dtype = TF_DataType.DtInvalid)
public Tensor convert_to_tensor(object value, TF_DataType dtype = TF_DataType.DtInvalid, string name = null, TF_DataType preferred_dtype = TF_DataType.DtInvalid)
=> ops.convert_to_tensor(value, dtype, name, preferred_dtype);

public Tensor strided_slice(Tensor input, Tensor begin, Tensor end, Tensor strides = null,
@@ -66,7 +66,7 @@ namespace Tensorflow
/// <param name="name">A name for the operation (optional)</param>
/// <returns>if num_or_size_splits is a scalar returns num_or_size_splits Tensor objects;
/// if num_or_size_splits is a 1-D Tensor returns num_or_size_splits.get_shape[0] Tensor objects resulting from splitting value.</returns>
public Tensor[] split(Tensor value, int num_split, Tensor axis, string name = null)
public Tensor[] split(Tensor value, int num_split, Tensor axis, string name = null)
=> array_ops.split(
value: value,
num_split: num_split,


+ 0
- 2
src/TensorFlowNET.Core/APIs/tf.tile.cs View File

@@ -14,8 +14,6 @@
limitations under the License.
******************************************************************************/

using NumSharp;

namespace Tensorflow
{
public partial class tensorflow


+ 5
- 5
src/TensorFlowNET.Core/APIs/tf.train.cs View File

@@ -32,14 +32,14 @@ namespace Tensorflow
public IVariableV1 get_global_step(Graph graph)
=> TrainingUtil.get_global_step(graph);

public Optimizer GradientDescentOptimizer(float learning_rate)
public Optimizer GradientDescentOptimizer(float learning_rate)
=> new GradientDescentOptimizer(learning_rate);

public Optimizer GradientDescentOptimizer(Tensor learning_rate)
=> new GradientDescentOptimizer(learning_rate);

public Optimizer AdamOptimizer(float learning_rate, float epsilon = 1e-8f, string name = "Adam")
=> new AdamOptimizer(learning_rate, epsilon:epsilon, name: name);
public Optimizer AdamOptimizer(float learning_rate, float epsilon = 1e-8f, string name = "Adam")
=> new AdamOptimizer(learning_rate, epsilon: epsilon, name: name);

public Optimizer AdamOptimizer(float learning_rate, TF_DataType dtype, string name = "Adam")
=> new AdamOptimizer(learning_rate, name: name, dtype: dtype);
@@ -53,10 +53,10 @@ namespace Tensorflow
public ExponentialMovingAverage ExponentialMovingAverage(float decay)
=> new ExponentialMovingAverage(decay);

public Saver Saver(IVariableV1[] var_list = null, int max_to_keep = 5)
public Saver Saver(IVariableV1[] var_list = null, int max_to_keep = 5)
=> new Saver(var_list: var_list, max_to_keep: max_to_keep);

public string write_graph(Graph graph, string logdir, string name, bool as_text = true)
public string write_graph(Graph graph, string logdir, string name, bool as_text = true)
=> graph_io.write_graph(graph, logdir, name, as_text);

public Graph load_graph(string freeze_graph_pb)


+ 1
- 1
src/TensorFlowNET.Core/Attributes/c_api.ops.cs View File

@@ -47,7 +47,7 @@ namespace Tensorflow
/// <param name="status">TF_Status*</param>
[DllImport(TensorFlowLibName)]
public static extern void TF_OperationGetAttrString(IntPtr oper, string attr_name, IntPtr value, uint max_length, SafeStatusHandle status);
/// <summary>
/// Sets `output_attr_value` to the binary-serialized AttrValue proto
/// representation of the value of the `attr_name` attr of `oper`.


+ 0
- 4
src/TensorFlowNET.Core/Binding.FuncTools.cs View File

@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tensorflow
{


+ 12
- 12
src/TensorFlowNET.Core/Binding.Util.cs View File

@@ -15,14 +15,13 @@
******************************************************************************/

using NumSharp;
using NumSharp.Utilities;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using NumSharp.Utilities;
using System.Runtime.CompilerServices;

namespace Tensorflow
{
@@ -32,8 +31,8 @@ namespace Tensorflow
public static partial class Binding
{
public static T2 get<T1, T2>(this Dictionary<T1, T2> dict, T1 key)
=> key == null ?
default :
=> key == null ?
default :
(dict.ContainsKey(key) ? dict[key] : default);

public static void Update<T>(this IList<T> list, T element)
@@ -71,7 +70,7 @@ namespace Tensorflow
case NDArray nd:
return nd.ToString(false);
case Array arr:
if (arr.Rank!=1 || arr.GetType().GetElementType()?.IsArray == true)
if (arr.Rank != 1 || arr.GetType().GetElementType()?.IsArray == true)
arr = Arrays.Flatten(arr);
var objs = toObjectArray(arr);
return $"[{string.Join(", ", objs.Select(_tostring))}]";
@@ -105,7 +104,7 @@ namespace Tensorflow
return;
}

foreach(var obj in objects)
foreach (var obj in objects)
{

}
@@ -239,13 +238,13 @@ namespace Tensorflow
yield return (t1[i], t2[i], t3[i]);
}

public static IEnumerable<(T1, T2)> zip<T1, T2>(NDArray t1, NDArray t2)
where T1: unmanaged
where T2: unmanaged
public static IEnumerable<(T1, T2)> zip<T1, T2>(NDArray t1, NDArray t2)
where T1 : unmanaged
where T2 : unmanaged
{
var a = t1.AsIterator<T1>();
var b = t2.AsIterator<T2>();
while(a.HasNext() && b.HasNext())
while (a.HasNext() && b.HasNext())
yield return (a.MoveNext(), b.MoveNext());
}

@@ -390,7 +389,8 @@ namespace Tensorflow
{
yield return flds[i].GetValue(tuple);
}
} else
}
else
{
throw new System.Exception("Expected Tuple.");
}
@@ -404,7 +404,7 @@ namespace Tensorflow
public static bool isinstance(object Item1, object tuple)
{
foreach (var t in TupleToEnumerable(tuple))
if (isinstance(Item1, (Type) t))
if (isinstance(Item1, (Type)t))
return true;
return false;
}


+ 1
- 5
src/TensorFlowNET.Core/Binding.cs View File

@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Dynamic;
using System.Text;
using System.Diagnostics;

namespace Tensorflow
{


+ 0
- 1
src/TensorFlowNET.Core/Buffers/Buffer.cs View File

@@ -17,7 +17,6 @@
using NumSharp.Backends.Unmanaged;
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Tensorflow.Util;
using static Tensorflow.c_api;



+ 1
- 1
src/TensorFlowNET.Core/Clustering/_InitializeClustersOpFactory.cs View File

@@ -89,7 +89,7 @@ namespace Tensorflow.Clustering
public Tensor op()
{
var x = control_flow_ops.cond(gen_math_ops.equal(_num_remaining, 0),
() =>
() =>
{
return check_ops.assert_equal(_cluster_centers_initialized, true);
},


+ 2
- 2
src/TensorFlowNET.Core/Contexts/Context.cs View File

@@ -70,8 +70,8 @@ namespace Tensorflow.Contexts
=> context_switches.Current().EagerMode;

public string shared_name(string name = null)
=> !string.IsNullOrEmpty(name) || !executing_eagerly() ?
name :
=> !string.IsNullOrEmpty(name) || !executing_eagerly() ?
name :
"cd2c89b7-88b7-44c8-ad83-06c2a9158347";

public void graph_mode()


+ 0
- 2
src/TensorFlowNET.Core/Contexts/ContextSwitch.cs View File

@@ -15,8 +15,6 @@
******************************************************************************/

using System;
using System.Collections.Generic;
using System.Text;

namespace Tensorflow.Contexts
{


+ 0
- 2
src/TensorFlowNET.Core/Contexts/ContextSwitchStack.cs View File

@@ -14,9 +14,7 @@
limitations under the License.
******************************************************************************/

using System;
using System.Collections.Generic;
using System.Text;

namespace Tensorflow.Contexts
{


+ 2
- 2
src/TensorFlowNET.Core/Contrib/Learn/Estimators/tensor_signature.cs View File

@@ -1,5 +1,5 @@
using System.Linq;
using NumSharp;
using NumSharp;
using System.Linq;
using Tensorflow.Framework;

namespace Tensorflow.Contrib.Learn.Estimators


+ 1
- 5
src/TensorFlowNET.Core/Contrib/Train/HParams.cs View File

@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;

namespace Tensorflow.Contrib.Train
namespace Tensorflow.Contrib.Train
{
/// <summary>
/// Class to hold a set of hyperparameters as name-value pairs.


+ 2
- 5
src/TensorFlowNET.Core/Data/BatchDataset.cs View File

@@ -1,8 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tensorflow.Framework.Models;
using static Tensorflow.Binding;

namespace Tensorflow
@@ -15,13 +12,13 @@ namespace Tensorflow
Tensor _batch_size;
Tensor _drop_remainder;

public BatchDataset(IDatasetV2 input_dataset, int batch_size, bool drop_remainder = false) :
public BatchDataset(IDatasetV2 input_dataset, int batch_size, bool drop_remainder = false) :
base(input_dataset)
{
_input_dataset = input_dataset;
_batch_size = tf.convert_to_tensor(batch_size, dtype: TF_DataType.TF_INT64, name: "batch_size");
_drop_remainder = tf.convert_to_tensor(drop_remainder, dtype: TF_DataType.TF_BOOL, name: "drop_remainder");
if (drop_remainder)
{
throw new NotImplementedException("");


+ 1
- 4
src/TensorFlowNET.Core/Data/CacheDataset.cs View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using static Tensorflow.Binding;
using static Tensorflow.Binding;

namespace Tensorflow
{


+ 1
- 4
src/TensorFlowNET.Core/Data/DataSetBase.cs View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using NumSharp;
using NumSharp;

namespace Tensorflow
{


+ 0
- 2
src/TensorFlowNET.Core/Data/DatasetManager.cs View File

@@ -1,7 +1,5 @@
using NumSharp;
using System;
using System.Collections.Generic;
using System.Text;
using Tensorflow.Data;

namespace Tensorflow


+ 1
- 5
src/TensorFlowNET.Core/Data/DatasetOps.cs View File

@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;

namespace Tensorflow
namespace Tensorflow
{
public class DatasetOps
{


+ 1
- 5
src/TensorFlowNET.Core/Data/DatasetOptions.cs View File

@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;

namespace Tensorflow
namespace Tensorflow
{
public class DatasetOptions
{


+ 1
- 7
src/TensorFlowNET.Core/Data/DatasetSource.cs View File

@@ -1,10 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tensorflow.Framework.Models;

namespace Tensorflow
namespace Tensorflow
{
public class DatasetSource : DatasetV2
{


+ 3
- 4
src/TensorFlowNET.Core/Data/DatasetV2.cs View File

@@ -2,7 +2,6 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tensorflow.Framework.Models;

namespace Tensorflow
@@ -18,9 +17,9 @@ namespace Tensorflow
public TensorSpec[] structure { get; set; }

public TensorShape[] output_shapes => structure.Select(x => x.shape).ToArray();
public TF_DataType[] output_types => structure.Select(x => x.dtype).ToArray();
public TensorSpec[] element_spec => structure;

public IDatasetV2 cache(string filename = "")
@@ -54,7 +53,7 @@ namespace Tensorflow
bool use_inter_op_parallelism = true,
bool preserve_cardinality = true,
bool use_legacy_function = false)
=> new MapDataset(this,
=> new MapDataset(this,
map_func,
use_inter_op_parallelism: use_inter_op_parallelism,
preserve_cardinality: preserve_cardinality,


+ 1
- 4
src/TensorFlowNET.Core/Data/Datasets.cs View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using NumSharp;
using NumSharp;

namespace Tensorflow
{


+ 0
- 3
src/TensorFlowNET.Core/Data/FlatMapDataset.cs View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tensorflow.Functions;

namespace Tensorflow


+ 1
- 5
src/TensorFlowNET.Core/Data/GeneratorDataset.cs View File

@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;

namespace Tensorflow.Data
namespace Tensorflow.Data
{
public class GeneratorDataset : DatasetSource
{


+ 1
- 4
src/TensorFlowNET.Core/Data/IDataSet.cs View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using NumSharp;
using NumSharp;

namespace Tensorflow
{


+ 3
- 5
src/TensorFlowNET.Core/Data/IDatasetV2.cs View File

@@ -1,7 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Text;
using Tensorflow.Framework.Models;

namespace Tensorflow
@@ -23,7 +21,7 @@ namespace Tensorflow
/// </summary>
/// <param name="filename"></param>
/// <returns></returns>
IDatasetV2 cache(string filename="");
IDatasetV2 cache(string filename = "");

/// <summary>
///
@@ -57,12 +55,12 @@ namespace Tensorflow

IDatasetV2 optimize(string[] optimizations, string[] optimization_configs);

IDatasetV2 map(Func<Tensor, Tensor> map_func,
IDatasetV2 map(Func<Tensor, Tensor> map_func,
bool use_inter_op_parallelism = true,
bool preserve_cardinality = false,
bool use_legacy_function = false);

IDatasetV2 map(Func<Tensor, (Tensor, Tensor), (Tensor, Tensor)> map_func,
IDatasetV2 map(Func<Tensor, (Tensor, Tensor), (Tensor, Tensor)> map_func,
int num_parallel_calls = -1);

IDatasetV2 flat_map(Func<Tensor, IDatasetV2> map_func);


+ 1
- 5
src/TensorFlowNET.Core/Data/IModelLoader.cs View File

@@ -1,8 +1,4 @@
using System;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Text;
using NumSharp;
using System.Threading.Tasks;

namespace Tensorflow
{


+ 1
- 5
src/TensorFlowNET.Core/Data/IteratorBase.cs View File

@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;

namespace Tensorflow
namespace Tensorflow
{
public class IteratorBase
{


+ 0
- 3
src/TensorFlowNET.Core/Data/IteratorResourceDeleter.cs View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using static Tensorflow.Binding;

namespace Tensorflow
{


+ 0
- 5
src/TensorFlowNET.Core/Data/MapDataset.cs View File

@@ -1,10 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tensorflow.Functions;
using Tensorflow.Graphs;
using static Tensorflow.Binding;

namespace Tensorflow
{


+ 3
- 5
src/TensorFlowNET.Core/Data/MnistDataSet.cs View File

@@ -1,8 +1,6 @@
using System;
using System.Collections.Generic;
using NumSharp;
using System;
using System.Diagnostics;
using System.Text;
using NumSharp;

namespace Tensorflow
{
@@ -40,7 +38,7 @@ namespace Tensorflow

var start = IndexInEpoch;
// Shuffle for the first epoch
if(EpochsCompleted == 0 && start == 0 && shuffle)
if (EpochsCompleted == 0 && start == 0 && shuffle)
{
var perm0 = np.arange(NumOfExamples);
np.random.shuffle(perm0);


+ 11
- 13
src/TensorFlowNET.Core/Data/MnistModelLoader.cs View File

@@ -1,9 +1,7 @@
using System;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Text;
using NumSharp;
using System;
using System.IO;
using NumSharp;
using System.Threading.Tasks;

namespace Tensorflow
{
@@ -90,7 +88,7 @@ namespace Tensorflow

var validationImages = trainImages[np.arange(validationSize)];
var validationLabels = trainLabels[np.arange(validationSize)];
trainImages = trainImages[np.arange(validationSize, end)];
trainLabels = trainLabels[np.arange(validationSize, end)];

@@ -114,8 +112,8 @@ namespace Tensorflow
var magic = Read32(bytestream);
if (magic != 2051)
throw new Exception($"Invalid magic number {magic} in MNIST image file: {file}");
var num_images = Read32(bytestream);
var num_images = Read32(bytestream);
num_images = limit == null ? num_images : Math.Min(num_images, (int)limit);

var rows = Read32(bytestream);
@@ -136,25 +134,25 @@ namespace Tensorflow
{
if (!Path.IsPathRooted(file))
file = Path.Combine(AppContext.BaseDirectory, file);
using (var bytestream = new FileStream(file, FileMode.Open))
{
var magic = Read32(bytestream);
if (magic != 2049)
throw new Exception($"Invalid magic number {magic} in MNIST label file: {file}");
var num_items = Read32(bytestream);
num_items = limit == null ? num_items : Math.Min(num_items, (int)limit);
var buf = new byte[num_items];

bytestream.Read(buf, 0, buf.Length);
var labels = np.frombuffer(buf, np.uint8);

if (one_hot)
return DenseToOneHot(labels, num_classes);
return labels;
}
}


+ 3
- 6
src/TensorFlowNET.Core/Data/ModelDataset.cs View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using Tensorflow.Framework.Models;
using Tensorflow.Framework.Models;

namespace Tensorflow
{
@@ -10,8 +7,8 @@ namespace Tensorflow
/// </summary>
public class ModelDataset : UnaryUnchangedStructureDataset
{
public ModelDataset(IDatasetV2 input_dataset,
AutotuneAlgorithm algorithm,
public ModelDataset(IDatasetV2 input_dataset,
AutotuneAlgorithm algorithm,
long cpu_budget) :
base(input_dataset)
{


+ 1
- 4
src/TensorFlowNET.Core/Data/ModelLoadSetting.cs View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using NumSharp;

namespace Tensorflow
{
@@ -12,7 +9,7 @@ namespace Tensorflow
public Type DataType { get; set; } = typeof(float);
public bool ReShape { get; set; }
public int ValidationSize { get; set; } = 5000;
public int? TrainSize { get; set; }
public int? TrainSize { get; set; }
public int? TestSize { get; set; }
public string SourceUrl { get; set; }
public bool ShowProgressInConsole { get; set; }


+ 5
- 8
src/TensorFlowNET.Core/Data/OptimizeDataset.cs View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using static Tensorflow.Binding;
using static Tensorflow.Binding;

namespace Tensorflow
{
@@ -12,9 +9,9 @@ namespace Tensorflow
{
Tensor _optimizations;

public OptimizeDataset(IDatasetV2 dataset,
string[] optimizations = null,
string[] optimization_configs = null) :
public OptimizeDataset(IDatasetV2 dataset,
string[] optimizations = null,
string[] optimization_configs = null) :
base(dataset)
{
if (optimizations == null)
@@ -26,7 +23,7 @@ namespace Tensorflow
variant_tensor = ops.optimize_dataset(
_input_dataset.variant_tensor,
_optimizations,
output_types,
output_types,
output_shapes,
optimization_configs: optimization_configs);
}


+ 2
- 6
src/TensorFlowNET.Core/Data/OptionsDataset.cs View File

@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;

namespace Tensorflow
namespace Tensorflow
{
/// <summary>
/// An identity `Dataset` that stores options.
@@ -11,7 +7,7 @@ namespace Tensorflow
{
DatasetOptions options;

public OptionsDataset(IDatasetV2 input_dataset, DatasetOptions options)
public OptionsDataset(IDatasetV2 input_dataset, DatasetOptions options)
: base(input_dataset)
{
this.options = options;


+ 0
- 2
src/TensorFlowNET.Core/Data/OwnedIterator.cs View File

@@ -1,6 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using Tensorflow.Framework.Models;

namespace Tensorflow


+ 2
- 4
src/TensorFlowNET.Core/Data/ParallelMapDataset.cs View File

@@ -1,7 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tensorflow.Functions;
using static Tensorflow.Binding;

@@ -10,14 +8,14 @@ namespace Tensorflow
//A `Dataset` that maps a function over elements in its input in parallel.
public class ParallelMapDataset : UnaryDataset
{
public ParallelMapDataset(IDatasetV2 input_dataset,
public ParallelMapDataset(IDatasetV2 input_dataset,
Func<Tensor, (Tensor, Tensor), (Tensor, Tensor)> map_func,
int num_parallel_calls = -1,
bool use_inter_op_parallelism = true,
bool preserve_cardinality = false,
bool use_legacy_function = false) : base(input_dataset)
{
var func = new ConcreteFunction(map_func,
var func = new ConcreteFunction(map_func,
input_dataset.element_spec.Select(x => x.dtype).ToArray(),
input_dataset.element_spec.Select(x => x.shape).ToArray());



+ 2
- 5
src/TensorFlowNET.Core/Data/PrefetchDataset.cs View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using static Tensorflow.Binding;
using static Tensorflow.Binding;

namespace Tensorflow
{
@@ -13,7 +10,7 @@ namespace Tensorflow
Tensor _buffer_size;

public PrefetchDataset(IDatasetV2 input_dataset,
long buffer_size = -1,
long buffer_size = -1,
int? slack_period = null) :
base(input_dataset)
{


+ 3
- 6
src/TensorFlowNET.Core/Data/RangeDataset.cs View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using Tensorflow.Framework.Models;
using Tensorflow.Framework.Models;
using static Tensorflow.Binding;

namespace Tensorflow.Data
@@ -12,8 +9,8 @@ namespace Tensorflow.Data
Tensor step;
Tensor stop;

public RangeDataset(int stop,
int start = 0,
public RangeDataset(int stop,
int start = 0,
int step = 1,
TF_DataType output_type = TF_DataType.TF_INT64)
{


+ 1
- 5
src/TensorFlowNET.Core/Data/RepeatDataset.cs View File

@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;

namespace Tensorflow
namespace Tensorflow
{
/// <summary>
/// A `Dataset` that repeats its input several times.


+ 1
- 4
src/TensorFlowNET.Core/Data/ShardDataset.cs View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using static Tensorflow.Binding;
using static Tensorflow.Binding;

namespace Tensorflow
{


+ 3
- 5
src/TensorFlowNET.Core/Data/ShuffleDataset.cs View File

@@ -1,6 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using static Tensorflow.Binding;

namespace Tensorflow
@@ -15,9 +13,9 @@ namespace Tensorflow
Tensor _seed2;
bool _reshuffle_each_iteration;

public ShuffleDataset(IDatasetV2 input_dataset,
long buffer_size,
int? seed = null,
public ShuffleDataset(IDatasetV2 input_dataset,
long buffer_size,
int? seed = null,
bool reshuffle_each_iteration = true) :
base(input_dataset)
{


+ 2
- 5
src/TensorFlowNET.Core/Data/SkipDataset.cs View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using static Tensorflow.Binding;
using static Tensorflow.Binding;

namespace Tensorflow
{
@@ -16,7 +13,7 @@ namespace Tensorflow
int count) : base(input_dataset)
{
_count = tf.convert_to_tensor(count, dtype: dtypes.int64, name: "count");
variant_tensor = ops.skip_dataset(input_dataset.variant_tensor,
variant_tensor = ops.skip_dataset(input_dataset.variant_tensor,
_count,
output_types, output_shapes);
}


+ 1
- 4
src/TensorFlowNET.Core/Data/TakeDataset.cs View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using static Tensorflow.Binding;
using static Tensorflow.Binding;

namespace Tensorflow
{


+ 0
- 3
src/TensorFlowNET.Core/Data/TensorDataset.cs View File

@@ -1,8 +1,5 @@
using NumSharp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using static Tensorflow.Binding;

namespace Tensorflow


+ 1
- 6
src/TensorFlowNET.Core/Data/TensorSliceDataset.cs View File

@@ -1,10 +1,5 @@
using NumSharp;
using NumSharp.Utilities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tensorflow.Framework.Models;
using static Tensorflow.Binding;

namespace Tensorflow.Data
@@ -45,7 +40,7 @@ namespace Tensorflow.Data
_tensors = new[] { features, labels };
var batched_spec = _tensors.Select(x => x.ToTensorSpec()).ToArray();
structure = batched_spec.Select(x => x._unbatch()).ToArray();
variant_tensor = ops.tensor_slice_dataset(_tensors, output_shapes);
}
}


+ 1
- 6
src/TensorFlowNET.Core/Data/UnaryDataset.cs View File

@@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using Tensorflow.Framework.Models;

namespace Tensorflow
namespace Tensorflow
{
/// <summary>
/// Abstract class representing a dataset with one input.


+ 2
- 6
src/TensorFlowNET.Core/Data/UnaryUnchangedStructureDataset.cs View File

@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;

namespace Tensorflow
namespace Tensorflow
{
/// <summary>
/// Represents a unary dataset with the same input and output structure.
@@ -12,7 +8,7 @@ namespace Tensorflow
public UnaryUnchangedStructureDataset(IDatasetV2 input_dataset) :
base(input_dataset)
{
}
}
}

+ 6
- 9
src/TensorFlowNET.Core/Data/Utils.cs View File

@@ -1,12 +1,9 @@
using System;
using System.IO;
using System.IO.Compression;
using System.Collections.Generic;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Tensorflow.Framework.Models;

namespace Tensorflow
{
@@ -42,9 +39,9 @@ namespace Tensorflow

return;
}
Directory.CreateDirectory(dirSaveTo);
using (var wc = new WebClient())
{
await wc.DownloadFileTaskAsync(url, fileSaveTo).ConfigureAwait(false);
@@ -73,7 +70,7 @@ namespace Tensorflow
{
if (showProgressInConsole)
Console.WriteLine($"The file {destFileName} already exists");
}
}

using (GZipStream unzipStream = new GZipStream(File.OpenRead(zipFile), CompressionMode.Decompress))
{
@@ -86,7 +83,7 @@ namespace Tensorflow

unzipStream.Close();
}
}
}

public static async Task ShowProgressInConsole(this Task task, bool enable)
{
@@ -101,12 +98,12 @@ namespace Tensorflow
var showProgressTask = ShowProgressInConsole(cts);

try
{
{
await task;
}
finally
{
cts.Cancel();
cts.Cancel();
}

await showProgressTask;


+ 1
- 3
src/TensorFlowNET.Core/Data/ZipDataset.cs View File

@@ -1,7 +1,5 @@
using System;
using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tensorflow.Framework.Models;

namespace Tensorflow


+ 1
- 3
src/TensorFlowNET.Core/DisposableObject.cs View File

@@ -15,10 +15,8 @@
******************************************************************************/

using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;
using System.Text;

namespace Tensorflow
{
@@ -77,7 +75,7 @@ namespace Tensorflow

public void Dispose()
{
lock(this)
lock (this)
{
internal_dispose(true);
GC.SuppressFinalize(this);


+ 0
- 4
src/TensorFlowNET.Core/Eager/EagerOperation.cs View File

@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using static Tensorflow.Binding;

namespace Tensorflow.Eager
{


+ 1
- 2
src/TensorFlowNET.Core/Eager/EagerRunner.ArgsToMatchingEager.cs View File

@@ -14,10 +14,9 @@
limitations under the License.
******************************************************************************/

using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.Linq;
using static Tensorflow.Binding;
using Tensorflow.Contexts;

namespace Tensorflow.Eager


+ 1
- 3
src/TensorFlowNET.Core/Eager/EagerRunner.Execute.cs View File

@@ -14,10 +14,8 @@
limitations under the License.
******************************************************************************/

using System.Linq;
using System;
using static Tensorflow.Binding;
using Tensorflow.Contexts;
using static Tensorflow.Binding;

namespace Tensorflow.Eager
{


+ 4
- 7
src/TensorFlowNET.Core/Eager/EagerRunner.RecordGradient.cs View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq;
using Tensorflow.Gradients;
using static Tensorflow.Binding;
using static Tensorflow.tensorflow;
@@ -21,7 +18,7 @@ namespace Tensorflow.Eager
bool should_record = false;
foreach (var tape in tf.GetTapeSet())
{
if(tape.ShouldRecord(input_ids, input_dtypes))
if (tape.ShouldRecord(input_ids, input_dtypes))
{
should_record = true;
break;
@@ -66,7 +63,7 @@ namespace Tensorflow.Eager
bool op_inputs_tuple_created = false;
#pragma warning restore CS0219 // Variable is assigned but its value is never used
var unused_input_indices = gradient_exclustions.OpGradientUnusedInputIndices(op_name);
if(unused_input_indices != null)
if (unused_input_indices != null)
{
if (unused_input_indices.Length == 0)
op_inputs = new Tensor[0];
@@ -79,7 +76,7 @@ namespace Tensorflow.Eager
else
op_inputs = inputs;

TapeSetRecordOperation(op_name, inputs, results, input_ids, input_dtypes,
TapeSetRecordOperation(op_name, inputs, results, input_ids, input_dtypes,
() => GetGradientFunction(op_name, inputs, attrs, results));




+ 1
- 5
src/TensorFlowNET.Core/Eager/EagerRunner.RunCallbacks.cs View File

@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;

namespace Tensorflow.Eager
namespace Tensorflow.Eager
{
public partial class EagerRunner
{


+ 1
- 2
src/TensorFlowNET.Core/Eager/EagerRunner.TFE_Execute.cs View File

@@ -15,9 +15,8 @@
******************************************************************************/

using System.Linq;
using System;
using static Tensorflow.Binding;
using Tensorflow.Contexts;
using static Tensorflow.Binding;

namespace Tensorflow.Eager
{


+ 17
- 17
src/TensorFlowNET.Core/Eager/EagerRunner.TFE_FastPathExecute.cs View File

@@ -1,12 +1,12 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.Linq;
using System;
using static Tensorflow.OpDef.Types;
using static Tensorflow.Binding;
using Tensorflow.Util;
using System.Runtime.InteropServices;
using Tensorflow.Contexts;
using Tensorflow.Functions;
using Tensorflow.Util;
using static Tensorflow.Binding;
using static Tensorflow.OpDef.Types;

namespace Tensorflow.Eager
{
@@ -61,7 +61,7 @@ namespace Tensorflow.Eager
var attr_value = args[i + 1];

var attr = op_def.Attr.FirstOrDefault(x => x.Name == attr_name);
if(attr != null)
if (attr != null)
{
flattened_attrs.Add(attr_name);
flattened_attrs.Add(attr_value);
@@ -89,7 +89,7 @@ namespace Tensorflow.Eager
flattened_attrs.Add(len);
}
attr_list_sizes[input_arg.NumberAttr] = len;
if (len > 0)
{
var fast_input_array = (object[])args[i];
@@ -179,7 +179,7 @@ namespace Tensorflow.Eager
op = c_api.TFE_NewOp(ctx.Handle, op_or_function_name, status.Handle);
thread_local_eager_operation_map[ctx] = op;
}
status.Check(true);
return op;
}
@@ -189,7 +189,7 @@ namespace Tensorflow.Eager
//return !GetAccumulatorSet()->empty();
return false;
}
bool HasGradientTape()
{
return tf.GetTapeSet().Count > 0;
@@ -262,7 +262,7 @@ namespace Tensorflow.Eager
var key = attrs[i].ToString();
var value = attrs[i + 1];

byte is_list = 0;
byte is_list = 0;
var type = c_api.TFE_OpGetAttrType(op, key, ref is_list, status.Handle);
if (!status.ok()) return;
if (is_list != 0)
@@ -286,8 +286,8 @@ namespace Tensorflow.Eager
/// <param name="attr_value"></param>
/// <param name="attr_list_sizes"></param>
/// <param name="status"></param>
void SetOpAttrWithDefaults(Context ctx, SafeOpHandle op, AttrDef attr,
string attr_name, object attr_value,
void SetOpAttrWithDefaults(Context ctx, SafeOpHandle op, AttrDef attr,
string attr_name, object attr_value,
Dictionary<string, long> attr_list_sizes,
Status status)
{
@@ -295,7 +295,7 @@ namespace Tensorflow.Eager
var type = c_api.TFE_OpGetAttrType(op, attr_name, ref is_list, status.Handle);
if (status.Code != TF_Code.TF_OK) return;

if(attr_value == null)
if (attr_value == null)
{
if (is_list != 0)
#pragma warning disable CS0642 // Possible mistaken empty statement
@@ -345,7 +345,7 @@ namespace Tensorflow.Eager
c_api.TFE_OpSetAttrShapeList(op, key, dims, num_dims, num_values, status.Handle);
Array.ForEach(dims, x => Marshal.FreeHGlobal(x));
}
else if(type == TF_AttrType.TF_ATTR_TYPE && values is TF_DataType[] values2)
else if (type == TF_AttrType.TF_ATTR_TYPE && values is TF_DataType[] values2)
{
c_api.TFE_OpSetAttrTypeList(op, key, values2, values2.Length);
attr_list_sizes[key] = values2.Length;
@@ -363,12 +363,12 @@ namespace Tensorflow.Eager
return true;
}

bool SetOpAttrScalar(Context ctx, SafeOpHandle op,
bool SetOpAttrScalar(Context ctx, SafeOpHandle op,
string key, object value, TF_AttrType type,
Dictionary<string, long> attr_list_sizes,
Status status)
{
switch(type)
switch (type)
{
case TF_AttrType.TF_ATTR_STRING:
c_api.TFE_OpSetAttrString(op, key, value.ToString(), (uint)value.ToString().Length);
@@ -394,7 +394,7 @@ namespace Tensorflow.Eager
if (value is ConcreteFunction func)
c_api.TFE_OpSetAttrFunctionName(op, key, func.Name, func.Name.Length);
else
throw new NotImplementedException("TF_AttrType.TF_ATTR_FUNC");
throw new NotImplementedException("TF_AttrType.TF_ATTR_FUNC");
break;
default:
throw new NotImplementedException($"SetOpAttrScalar for {type}");


+ 2
- 5
src/TensorFlowNET.Core/Eager/EagerRunner.TFE_TapeGradient.cs View File

@@ -1,7 +1,4 @@
using System.Collections.Generic;
using System.Linq;
using System;
using static Tensorflow.OpDef.Types;
using System;
using Tensorflow.Gradients;
using Tensorflow.Util;

@@ -31,7 +28,7 @@ namespace Tensorflow.Eager
source_tensors_that_are_targets.Add(target_id, TapeTensorFromTensor(tensor));
}

if(output_gradients != null)
if (output_gradients != null)
{
throw new NotImplementedException("");
}


+ 1
- 3
src/TensorFlowNET.Core/Eager/EagerRunner.TapeSetRecordBackprop.cs View File

@@ -1,6 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using Tensorflow.Gradients;
using static Tensorflow.Binding;
using static Tensorflow.tensorflow;
@@ -21,7 +19,7 @@ namespace Tensorflow.Eager
return;
}

foreach(var tape in tf.GetTapeSet())
foreach (var tape in tf.GetTapeSet())
{
tape.RecordOperation(op_type, input_tensors, output_tensors,
input_ids, input_dtypes,


+ 0
- 2
src/TensorFlowNET.Core/Eager/EagerRunner.TapeSetRecordForwardprop.cs View File

@@ -1,6 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using Tensorflow.Gradients;
using static Tensorflow.tensorflow;



+ 0
- 2
src/TensorFlowNET.Core/Eager/EagerRunner.TapeSetRecordOperation.cs View File

@@ -1,7 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tensorflow.Gradients;
using static Tensorflow.tensorflow;



+ 1
- 5
src/TensorFlowNET.Core/Eager/EagerRunner.TapeTensorFromTensor.cs View File

@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tensorflow.Gradients;
using Tensorflow.Gradients;

namespace Tensorflow.Eager
{


+ 1
- 4
src/TensorFlowNET.Core/Eager/EagerRunner.TapeTensorsFromTensorSequence.cs View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.Generic;
using Tensorflow.Gradients;

namespace Tensorflow.Eager


+ 1
- 7
src/TensorFlowNET.Core/Eager/EagerRunner.cs View File

@@ -1,10 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using Tensorflow.Gradients;
using static Tensorflow.Binding;

namespace Tensorflow.Eager
namespace Tensorflow.Eager
{
/// <summary>
/// Eager mode runner


+ 2
- 5
src/TensorFlowNET.Core/Eager/EagerTensor.Creation.cs View File

@@ -1,8 +1,5 @@
using NumSharp;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using static Tensorflow.Binding;

namespace Tensorflow.Eager
@@ -11,7 +8,7 @@ namespace Tensorflow.Eager
{
public EagerTensor() : base(IntPtr.Zero)
{
}

public EagerTensor(SafeTensorHandleHandle handle) : base(IntPtr.Zero)
@@ -84,7 +81,7 @@ namespace Tensorflow.Eager

void copy_handle_data(Tensor target_t)
{
if(target_t.dtype == TF_DataType.TF_RESOURCE ||
if (target_t.dtype == TF_DataType.TF_RESOURCE ||
target_t.dtype == TF_DataType.TF_VARIANT)
{
// need to export


+ 1
- 5
src/TensorFlowNET.Core/Eager/EagerTensor.Implicit.cs View File

@@ -1,8 +1,4 @@
using NumSharp;
using System;
using System.Collections.Generic;
using System.Text;
using Tensorflow.Eager;
using System;

namespace Tensorflow.Eager
{


+ 1
- 8
src/TensorFlowNET.Core/Eager/EagerTensor.ToString.cs View File

@@ -1,11 +1,4 @@
using NumSharp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using static Tensorflow.Binding;

namespace Tensorflow.Eager
namespace Tensorflow.Eager
{
public partial class EagerTensor
{


+ 1
- 3
src/TensorFlowNET.Core/Eager/EagerTensor.cs View File

@@ -1,6 +1,4 @@
using NumSharp;
using System;
using System.Linq;
using System;
using Tensorflow.Util;
using static Tensorflow.Binding;



+ 1
- 4
src/TensorFlowNET.Core/Eager/FastPathOpExecInfo.cs View File

@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using Tensorflow.Contexts;
using Tensorflow.Contexts;

namespace Tensorflow.Eager
{


+ 2
- 4
src/TensorFlowNET.Core/Eager/IEagerRunner.cs View File

@@ -1,6 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
using Tensorflow.Contexts;
using Tensorflow.Gradients;

@@ -13,8 +11,8 @@ namespace Tensorflow.Eager
Tensor[] inputs, object[] attrs,
string name = null);

(TF_DataType, Tensor[]) ArgsToMatchingEager(Context ctx,
TF_DataType default_dtype = TF_DataType.DtInvalid,
(TF_DataType, Tensor[]) ArgsToMatchingEager(Context ctx,
TF_DataType default_dtype = TF_DataType.DtInvalid,
object[] args = null);

Tensor[] TFE_FastPathExecute(Context ctx,


+ 3
- 3
src/TensorFlowNET.Core/Eager/c_api.eager.cs View File

@@ -242,7 +242,7 @@ namespace Tensorflow
/// <param name="length">size_t</param>
[DllImport(TensorFlowLibName)]
public static extern void TFE_OpSetAttrString(SafeOpHandle op, string attr_name, string value, uint length);
[DllImport(TensorFlowLibName)]
public static extern void TFE_OpSetAttrTypeList(SafeOpHandle op, string attr_name, TF_DataType[] values, int num_values);

@@ -442,8 +442,8 @@ namespace Tensorflow
public static extern IntPtr ResourceVariable_Handle(IntPtr variable);

[DllImport(TensorFlowLibName)]
public static extern SafeStatusHandle TFE_TapeGradient(IntPtr tape,
IntPtr[] target, int target_size,
public static extern SafeStatusHandle TFE_TapeGradient(IntPtr tape,
IntPtr[] target, int target_size,
IntPtr[] sources, int source_size,
IntPtr[] outputs, int output_size);
}


+ 1
- 3
src/TensorFlowNET.Core/Exceptions/InvalidArgumentError.cs View File

@@ -1,6 +1,4 @@
using System;

namespace Tensorflow
namespace Tensorflow
{
public class InvalidArgumentError : TensorflowException
{


+ 1
- 3
src/TensorFlowNET.Core/Exceptions/KeyError.cs View File

@@ -1,6 +1,4 @@
using System;

namespace Tensorflow
namespace Tensorflow
{
public class KeyError : TensorflowException
{


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save