Skip to content

Commit 2cc6295

Browse files
committed
Change TensorDataset construct.
1 parent 02ce65b commit 2cc6295

File tree

4 files changed

+15
-19
lines changed

4 files changed

+15
-19
lines changed

src/TensorFlowNET.Core/Data/DatasetManager.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,7 @@ public IDatasetV2 from_generator<T>(IEnumerable<T> generator, TF_DataType[] outp
1717
public IDatasetV2 from_tensor(NDArray tensors)
1818
=> new TensorDataset(tensors);
1919

20-
public IDatasetV2 from_tensor(Tensor features, Tensor labels)
21-
=> new TensorDataset(features, labels);
22-
23-
public IDatasetV2 from_tensor(Tensor tensors)
20+
public IDatasetV2 from_tensor(Tensors tensors)
2421
=> new TensorDataset(tensors);
2522

2623
public IDatasetV2 from_tensor_slices(Tensor features, Tensor labels)

src/TensorFlowNET.Core/Data/TensorDataset.cs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,9 @@ namespace Tensorflow
99
/// </summary>
1010
public class TensorDataset : DatasetSource
1111
{
12-
public TensorDataset(Tensor feature, Tensor label)
12+
public TensorDataset(Tensors elements)
1313
{
14-
_tensors = new[] { feature, label };
15-
structure = _tensors.Select(x => x.ToTensorSpec()).ToArray();
16-
17-
variant_tensor = ops.tensor_dataset(_tensors, output_shapes);
18-
}
19-
public TensorDataset(Tensor element)
20-
{
21-
_tensors = new[] { element };
14+
_tensors = elements;
2215
var batched_spec = _tensors.Select(x => x.ToTensorSpec()).ToArray();
2316
structure = batched_spec.Select(x => x._unbatch()).ToArray();
2417

src/TensorFlowNET.Keras/Engine/DataAdapters/TensorLikeDataAdapter.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,15 @@ public TensorLikeDataAdapter(DataAdapterArgs args)
2626
var _partial_batch_size = num_samples % batch_size;
2727

2828
var indices_dataset = tf.data.Dataset.range(1);
29-
indices_dataset = indices_dataset.repeat();
29+
indices_dataset = indices_dataset.repeat(args.Epochs);
3030
indices_dataset = indices_dataset.map(permutation).prefetch(1);
3131
indices_dataset = indices_dataset.flat_map(slice_batch_indices);
32-
dataset = slice_inputs(indices_dataset, args.X, args.Y);
32+
var elements = new Tensors();
33+
if (args.X != null)
34+
elements.Add(args.X);
35+
if (args.Y != null)
36+
elements.Add(args.Y);
37+
dataset = slice_inputs(indices_dataset, elements);
3338
}
3439

3540
Tensor permutation(Tensor tensor)
@@ -54,9 +59,9 @@ IDatasetV2 slice_batch_indices(Tensor indices)
5459
return flat_dataset;
5560
}
5661

57-
IDatasetV2 slice_inputs(IDatasetV2 indices_dataset, Tensor x, Tensor y)
62+
IDatasetV2 slice_inputs(IDatasetV2 indices_dataset, Tensors elements)
5863
{
59-
var dataset2 = tf.data.Dataset.from_tensor(x, y).repeat();
64+
var dataset2 = tf.data.Dataset.from_tensor(elements).repeat();
6065
var dataset = tf.data.Dataset.zip(indices_dataset, dataset2);
6166

6267
dataset = dataset.map((batch, data) =>

src/TensorFlowNET.Keras/Engine/Model.Predict.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System;
1+
using NumSharp;
2+
using System;
23
using Tensorflow.Keras.ArgsDefinition;
34
using Tensorflow.Keras.Engine.DataAdapters;
45

@@ -21,7 +22,7 @@ public partial class Model
2122
/// <param name="use_multiprocessing"></param>
2223
/// <returns></returns>
2324
public Tensor predict(Tensor x,
24-
int batch_size = 32,
25+
int batch_size = -1,
2526
int verbose = 0,
2627
int steps = -1,
2728
int max_queue_size = 10,

0 commit comments

Comments
 (0)