Skip to content

change config file format to leverage toml tables #345

@NickleDave

Description

@NickleDave

won't do until 0.5.0 but making a note for now

currently we do not leverage toml tables and instead basically use an INI like format with sections.
This imposes a certain flatness on the format and makes it difficult to e.g. combine with different libraries that also use a pyproject.toml file

we should change to use a poetry-ike format. I need to plan out the schema better but it will look something like this

[vak.prep]
data_dir = './tests/data_for_tests/source/audio_cbin_annot_notmat/gy6or6/032312'
output_dir = './tests/data_for_tests/generated/prep/learncurve/audio_cbin_annot_notmat'
audio_format = 'cbin'
annot_format = 'notmat'
spect_output_dir = "./tests/data_for_tests/generated/prep/learncurve/audio_cbin_annot_notmat"
labelset = 'iabcdefghjk'
train_dur = 50
val_dur = 15
test_dur = 30

[vak.prep.spect_params]
fft_size = 512
step_size = 64
freq_cutoffs = [ 500, 10000 ]
thresh = 6.25
transform_type = 'log_spect'

[vak.learncurve]
models = 'TeenyTweetyNet'
normalize_spectrograms = true
batch_size = 4
num_epochs = 2
val_step = 50
ckpt_step = 200
patience = 3
num_workers = 4
train_set_durs = [ 4, 6 ]
num_replicates = 2
device = "cuda"
root_results_dir = './tests/data_for_tests/generated/results/learncurve/audio_cbin_annot_notmat/teenytweetynet'

[vak.learncurve.dataloader]
window_size = 44

[vak.model.TeenyTweetyNet]
optimizer = {'lr' = 0.001}
network = {'hidden_size' = 16}

Metadata

Metadata

Assignees

No one assigned

    Labels

    ENH: enhancementenhancement; new feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions