コード例 #1
0
        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;
        }