get_handcrafted_dims

behavenet.models.ae_model_architecture_generator.get_handcrafted_dims(arch, symmetric=True)[source]

Compute input/output dims as well as necessary padding for handcrafted architectures.

If symmetric=True, calculate decoding block based on encoding block. arch needs to have padding_type, ae_encoding_n_channels, ae_encoding_kernel_size, ae_encoding_stride_size, ae_encoding_layer type, ae_batch_norm, ae_n_latents, ae_decoding_last_FF_layer, ae_input_dim

If symmetric=False, arch also needs to have ae_decoding_n_channels, ae_decoding_kernel_size, ae_decoding_stride_size, ae_decoding_layer_type, ae_decoding_starting_dim

Assumes output padding is 0.

Parameters:
  • arch (dict) – specifies model architecture; see above for required keys

  • symmetric (bool, optional) – determines whether or not to create symmetric architecture

Returns:

updated architecture dict fully specifying encoder and decoder hyperparameters

Return type:

dict