def get_experiment_description()

in ludwig/utils/misc_utils.py [0:0]


def get_experiment_description(model_definition,
                               data_csv=None,
                               data_hdf5=None,
                               metadata_json=None,
                               data_train_csv=None,
                               data_validation_csv=None,
                               data_test_csv=None,
                               data_train_hdf5=None,
                               data_validation_hdf5=None,
                               data_test_hdf5=None,
                               random_seed=None):
    description = OrderedDict()
    description['ludwig_version'] = ludwig.globals.LUDWIG_VERSION
    description['command'] = ' '.join(sys.argv)

    try:
        with open(os.devnull, 'w') as devnull:
            is_a_git_repo = subprocess.call(['git', 'branch'],
                                            stderr=subprocess.STDOUT,
                                            stdout=devnull) == 0
        if is_a_git_repo:
            description['commit_hash'] = \
                subprocess.check_output(['git', 'rev-parse', 'HEAD']).decode(
                    'utf-8')[:12]
    except:
        pass

    if random_seed is not None:
        description['random_seed'] = random_seed
    if data_csv is not None:
        description['input_data'] = data_csv
    elif data_hdf5 is not None and metadata_json is not None:
        description['input_data'] = data_hdf5
        description['input_metadata'] = metadata_json
    elif data_train_csv is not None:
        description['input_data_train'] = data_train_csv
        if data_validation_csv is not None:
            description['input_data_validation'] = data_validation_csv
        if data_test_csv is not None:
            description['input_data_test'] = data_test_csv
    elif data_train_hdf5 is not None and metadata_json is not None:
        description['input_data_train'] = data_train_hdf5
        if data_validation_hdf5 is not None:
            description['input_data_validation'] = data_validation_hdf5
        if data_test_hdf5 is not None:
            description['input_data_test'] = data_test_hdf5
        description['input_metadata'] = metadata_json
    description['model_definition'] = model_definition

    from tensorflow.version import VERSION as tf_version
    description['tf_version'] = tf_version

    return description