Example script to run the HARDy Package

This page shows the description for running the HARDy package using minimal settings

Import the package

import hardy.run_hardy as run

Provide the path to the configurations:

Note: the configuration path shown are the default path. These can be modified if the configuration files used are stored ina different folder

  • The raw .csv data

raw_data_path = 'path/to/raw/data/'

  • The configuration file containing the transformations

tform_config_path = './hardy/arbitrage/tform_config.yaml'

  • The configuration file for the classifier

classifier_config_path = './hardy/recognition/'

Execute the hardy_main function to run the code

run.hardy_main(raw_data_path, tform_config_path, classifier_config_path, batch_size=64, scale=0.2, num_test_files_class=750, target_size=(500, 500), iterator_mode='arrays', classifier='tuner', n_threads=1, classes=['class_1', 'class_2', 'class_3'], project_name='my_project_name')

Following arguments are acceptable in the hardy_main function:

  • raw_data_path: data_path for the .csv files or images
  • tform_config_path: path for transformation configuration files (.yaml)
  • classifier_config_path: path for hyperparameter search (.yaml)
  • batch_size: batch size for splitting of training and testing of data in machine learning model
  • scale: the scale to which plots are reduce
  • num_test_files_class: The number of test files per class. These files would be reserved for final testing of machine learning model
  • target_size: number of data points in the csv files or dimension of images
  • iterator_mode: if “arrays”, the data is fed into machine learning model in array structure. For other values, images files are saved first in .png format and then fed into machine learning model through directory iterators.
  • classifier: tuner or cnn model. Tuner means hyperparameter search while other options execute pre-defined convolutional neural network.
  • n_thread: number of threads used for parallel transformation of data
  • classes: labels or categories in data. If .csv files are used, the label must be present in the filename. If images are used, the images must be contained in respective folders
  • project_name: name for the project. Folder with same name will be created in the raw_data_path containing all the results for the run
  • plot_format: format of the plot to be used for training and testing of data. RGBrgb corresponds to usage of RGB images while any other argument will use cartesian coordinate system.
  • skiprows: Used to skip the metadata contained in the csv files. It must be of same length for all classes.
  • split: The fraction of data used for training and testing of machine learning model. This is different from num_test_files_class since the later one is never fed into machine learning model until the best hyperparameter search is done.
  • seed: the seed used for random-selection of num_test_files_class
  • k_fold: Boolean value indicating whether k-fold validation need to be performed or not
  • k: value indicating how many k-folds need to be performed