///FUNCTION_NAME: load_dataset
        ///<summary>
        ///        Load training and val dataset.
        ///
        ///</summary>
        ///<return name="dataset_train"> train dataset, type = `tf.data.Dataset` </return>
        public override (Tensors, Tensors) load_dataset()
        {
            var dm           = new TrainDataManager(this.args, prepare_type: "all");
            var agents_train = (List <TrainAgentManager>)dm.train_info["train_data"];
            var agents_test  = (List <TrainAgentManager>)dm.train_info["test_data"];
            var train_number = dm.train_info["train_number"];
            var sample_time  = dm.train_info["sample_time"];

            (Tensors train_model_inputs, Tensor train_labels) = this.get_inputs_from_agents(agents_train);
            (Tensors test_model_inputs, Tensor test_labels)   = this.get_inputs_from_agents(agents_test);

            train_model_inputs.Add(train_labels);
            test_model_inputs.Add(test_labels);

            return(train_model_inputs, test_model_inputs);
        }