using System; using System.Collections.Generic; using Tensorflow.Framework.Models; namespace Tensorflow { public interface IDatasetV2 : IEnumerable<(Tensor, Tensor)> { Tensor variant_tensor { get; set; } TensorShape[] output_shapes { get; } TF_DataType[] output_types { get; } TensorSpec[] element_spec { get; } TensorSpec[] structure { get; set; } /// /// Caches the elements in this dataset. /// /// /// IDatasetV2 cache(string filename = ""); /// /// /// /// /// IDatasetV2 repeat(int count = -1); /// /// Creates a `Dataset` that includes only 1/`num_shards` of this dataset. /// /// The number of shards operating in parallel /// The worker index /// IDatasetV2 shard(int num_shards, int index); IDatasetV2 shuffle(int buffer_size, int? seed = null, bool reshuffle_each_iteration = true); /// /// Creates a `Dataset` that skips `count` elements from this dataset. /// /// /// IDatasetV2 skip(int count); IDatasetV2 batch(int batch_size, bool drop_remainder = false); IDatasetV2 prefetch(int buffer_size = -1, int? slack_period = null); IDatasetV2 take(int count); IDatasetV2 optimize(string[] optimizations, string[] optimization_configs); IDatasetV2 map(Func map_func, bool use_inter_op_parallelism = true, bool preserve_cardinality = false, bool use_legacy_function = false); IDatasetV2 map(Func map_func, int num_parallel_calls = -1); IDatasetV2 flat_map(Func map_func); IDatasetV2 model(AutotuneAlgorithm algorithm, long cpu_budget); IDatasetV2 with_options(DatasetOptions options); /// /// Apply options, such as optimization configuration, to the dataset. /// /// IDatasetV2 apply_options(); Tensor dataset_cardinality(string name = null); } }