def main(argv): # Define args args: Namespace = get_args(argv) # Initialize Relevance Pipeline and run in train/inference mode rp = ClassificationPipeline(args=args) rp.run()
def setUp( self, output_dir: str = OUTPUT_DIR, root_data_dir: str = ROOT_DATA_DIR, feature_config_fname: str = FEATURE_CONFIG_FNAME, model_config_fname: str = MODEL_CONFIG_FNAME, ): self.output_dir = output_dir self.root_data_dir = root_data_dir self.feature_config_fname = feature_config_fname self.model_config_fname = model_config_fname self.file_io = LocalIO() # Make temp output directory self.file_io.make_directory(self.output_dir, clear_dir=True) # Fix random seed values for repeatability tf.keras.backend.clear_session() np.random.seed(123) tf.random.set_seed(123) random.seed(123) # Setup arguments self.args: Namespace = get_args([]) self.args.models_dir = output_dir self.args.logs_dir = output_dir # Setting small batch size less than testing data size self.args.batch_size = 32 # Load feature config self.args.feature_config = os.path.join( self.root_data_dir, "configs", self.feature_config_fname ) self.feature_config = self.file_io.read_yaml(self.args.feature_config) # Load model_config self.args.model_config = os.path.join( self.root_data_dir, "configs", self.model_config_fname ) self.model_config = self.file_io.read_yaml(self.args.model_config) # Setup logging outfile: str = os.path.join(self.args.logs_dir, "output_log.csv") self.logger = setup_logging(reset=True, file_name=outfile, log_to_file=True) self.run_default_pipeline(data_format="csv")