Saving And Restoring Features for Algorithm

Introduction

We rely on configuration options to save and restore features associated with an algorithm. The features are saved in pickle files as dictionary with the following keys features_dict and logit_dict.

Config Options For Saving Features

Attention

Along with the config options provided below, the configuration saving features also require the directory where features would be saved in protocol.smqtk.config.feature_dir. This can be provided in the configuration file or supplied to the cli.

Default Option For Saving Features

By default, the protocol does not save feature. This option can be used to disable saving features in a config

defaults:
   - protocol/save_features@protocol.smqtk.config: none

Saving Features Elementwise

In elementwise option, features_dict and logit_dict would use image/video ids as keys with features as values. This option is used for feature extraction in activity recognition where video features can be reused across multiple tests

defaults:
   - protocol/save_features@protocol.smqtk.config: elementwise

Saving Features Testwise

In testwise option, the pickle file would be saved for every test that was present in the session. This option is used for replicating an experiment with pre-computed features.

defaults:
   - protocol/save_features@protocol.smqtk.config: testwise

Note

When testwise is used, the protocol would assume that the features are saved in <test_id>_<agent_name>`_features.pkl.

Config Options For Using Features

Attention

Along with the config options provided below, the configuration using features also require the directory where features are present in protocol.smqtk.config.feature_dir. This can be provided in the configuration file or supplied to the cli.

Default Option For Using Features

By default, the protocol does not use saved feature. This option can be used to disable using features specified in a config

defaults:
   - protocol/use_features@protocol.smqtk.config: none

Using Consolidated Features

In consolidated option, features_dict and logit_dict would use image/video ids as keys with features as values. This option is the complement of elementwise option in the previous section and is used to re-use features to save time during evaluation.

defaults:
   - protocol/use_features@protocol.smqtk.config: consolidated

Note

When consolidated is used, the protocol would assume that the features are present in <agent_name>`_features.pkl.

Using Non Consolidated Features

In non consolidated option, features_dict and logit_dict are assumed to be coming from a single test. This option is used for replicating an experiment with pre-computed features.

defaults:
   - protocol/use_features@protocol.smqtk.config: non_consolidated

Note

When non_consolidated is used, the protocol would assume that the features are present in <test_id>_<agent_name>`_features.pkl.