public DataHandler(DataHandlerArgs args) { this.args = args; if (args.StepsPerExecution == null) { _steps_per_execution = tf.Variable(1); _steps_per_execution_value = 1; } else { _steps_per_execution = args.StepsPerExecution; _steps_per_execution_value = args.StepsPerExecution.numpy(); } _adapter = new TensorLikeDataAdapter(new TensorLikeDataAdapterArgs { X = args.X, Y = args.Y, BatchSize = args.BatchSize, Steps = args.StepsPerEpoch, Epochs = args.Epochs - args.InitialEpoch, Shuffle = args.Shuffle, MaxQueueSize = args.MaxQueueSize, Worker = args.Workers, UseMultiprocessing = args.UseMultiprocessing, Model = args.Model }); _dataset = _adapter.GetDataset(); _inferred_steps = _infer_steps(args.StepsPerEpoch, _dataset); _current_step = 0; _step_increment = args.StepsPerExecution.numpy() - 1; _insufficient_data = false; }