コード例 #1
0
        public TensorLikeDataAdapter(DataAdapterArgs args)
        {
            this.args = args;
            _process_tensorlike();
            num_samples = args.X.shape[0];
            var batch_size = args.BatchSize == -1 ? 32 : args.BatchSize;

            _batch_size         = batch_size;
            _size               = Convert.ToInt32(Math.Ceiling(num_samples / (batch_size + 0.0f)));
            num_full_batches    = num_samples / batch_size;
            _partial_batch_size = num_samples % batch_size;

            var indices_dataset = tf.data.Dataset.range(1);

            indices_dataset = indices_dataset.repeat(args.Epochs);
            indices_dataset = indices_dataset.map(permutation).prefetch(1);
            indices_dataset = indices_dataset.flat_map(slice_batch_indices);
            var inputs = new Tensors();

            if (args.X != null)
            {
                inputs.Add(args.X);
            }
            if (args.Y != null)
            {
                inputs.Add(args.Y);
            }
            dataset = slice_inputs(indices_dataset, inputs);
        }
コード例 #2
0
 public DatasetAdapter(DataAdapterArgs args)
 {
     this.args = args;
     dataset   = args.Dataset;
 }