public TensorLikeDataAdapter(TensorLikeDataAdapterArgs 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 + 0f)));
            num_full_batches = num_samples / batch_size;
            var _partial_batch_size = num_samples % batch_size;

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

            indices_dataset = indices_dataset.repeat();
            indices_dataset = indices_dataset.map(permutation).prefetch(1);
            indices_dataset = indices_dataset.flat_map(slice_batch_indices);
            _dataset        = slice_inputs(indices_dataset, args.X, args.Y);
        }
 public TensorLikeDataAdapter(TensorLikeDataAdapterArgs args)
 {
     tf.data.Dataset.range(5);
 }