selene icon indicating copy to clipboard operation
selene copied to clipboard

Support multi-inputs

Open arlapin opened this issue 4 years ago • 1 comments

  • Add SamplesBatch class
  • Utilize SamplesBatch class

Reference Issues/PRs

Resolves #161

What does this implement/fix? Explain your changes.

I've added a SamplesBatch class, which holds multiple inputs and single target.

Inputs are stored as a dict(str, np.ndarray). Sequence is stored at inputs_batch['sequence_batch'].

If only sequence is provided as an input, then inputs() getter will return just a sequence.

It also has a function to convert inputs and targets to torch.Tensors. The sequence's tensor is transposed to [batch_size, channels_size, sequnece_length], so we don't need to do transpose it everywhere in the code.

What testing did you do to verify the changes in this PR?

I added unit tests for the SamplesBatch class.

I also ran case2/1_train_with_online_sampler.yml with a validation on every other step. So intervals_sampler, train, and validate do work.

Please let me know if this is sufficient, or may be you have a list of commands you run to check that everything works.

arlapin avatar Mar 02 '21 17:03 arlapin

PTAL @jzthree @kathyxchen

arlapin avatar Mar 02 '21 17:03 arlapin