hyrax.models#
Submodules#
Classes#
This autoencoder is designed to work with datasets that are prepared with Hyrax's HSC Data Set class. |
|
This autoencoder is designed to work with datasets that are prepared with Hyrax's HSC Data Set class. |
|
This is an autoencoder with skipconnections that should work with |
|
This autoencoder is designed to work with a wide range of image datasets to allow testing. |
|
This is tweaked version of HyraxAutoencoder and is designed to work with a wide range of imaging datasets. |
|
This CNN is designed to work with datasets that are prepared with Hyrax's HSC Data Set class. |
|
Simple model for testing which returns its own input |
|
SimCLR model. Implementation based on Chen, 2020 |
Functions#
|
Decorator to register a model with the model registry, and to add common interface functions |
Package Contents#
- class HSCAutoencoder(config, data_sample=None)[source]#
Bases:
torch.nn.ModuleThis autoencoder is designed to work with datasets that are prepared with Hyrax’s HSC Data Set class.
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- encoder#
- decoder#
- config#
- train_batch(batch)[source]#
This function contains the logic for a single training step. i.e. the contents of the inner loop of a ML training process.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- validate_batch(batch)[source]#
This function contains the logic for a single validation step that will process a single batch of data. i.e. the contents of the inner loop of a ML validation process.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- test_batch(batch)[source]#
This function contains the logic for a single testing step that will process a single batch of data. i.e. the contents of the inner loop of a ML testing process. In this case, it is identical to validate_batch.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- infer_batch(batch)[source]#
This function contains the logic for a single inference step that will process a single batch of data. i.e. the contents of the inner loop of a ML inference process.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Reconstructed outputs – The reconstructed outputs from the autoencoder.
- Return type:
torch.Tensor
- class HSCDCAE(config, data_sample=None)[source]#
Bases:
torch.nn.ModuleThis autoencoder is designed to work with datasets that are prepared with Hyrax’s HSC Data Set class.
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- encoder1#
- encoder2#
- encoder3#
- encoder4#
- pool#
- decoder4#
- decoder3#
- decoder2#
- decoder1#
- activation#
- config#
- train_batch(batch)[source]#
This function contains the logic for a single training step. i.e. the contents of the inner loop of a ML training process.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- validate_batch(batch)[source]#
This function contains the logic for a single validation step that will process a single batch of data. i.e. the contents of the inner loop of a ML validation process.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- test_batch(batch)[source]#
This function contains the logic for a single testing step that will process a single batch of data. i.e. the contents of the inner loop of a ML testing process. In this case, it is identical to validate_batch.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- infer_batch(batch)[source]#
This function contains the logic for a single inference step that will process a single batch of data. i.e. the contents of the inner loop of a ML inference process.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Reconstructed outputs – The reconstructed outputs from the autoencoder.
- Return type:
torch.Tensor
- class ImageDCAE(config, data_sample=None)[source]#
Bases:
torch.nn.ModuleThis is an autoencoder with skipconnections that should work with arbitarily sized images with arbitrary number of channels.
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- input_shape#
- config#
- latent_dim#
- base_channel_size#
- conv_output_size#
- encoder1#
- encoder2#
- encoder3#
- encoder4#
- pool#
- latent_encoder#
- latent_decoder#
- decoder4#
- decoder3#
- decoder2#
- decoder1#
- activation#
- _calculate_conv_output_size()[source]#
Calculate the output size after all convolutional layers for the linear bottleneck.
- decode(latent, skip_connections, encoded_shape)[source]#
Decode from latent space to image with skip connections.
- train_batch(batch)[source]#
This function contains the logic for a single training step.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- validate_batch(batch)[source]#
This function contains the logic for a single validation step that will process a single batch of data.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- test_batch(batch)[source]#
This function contains the logic for a single testing step that will process a single batch of data. In this case, it is identical to validate_batch.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- infer_batch(batch)[source]#
This function contains the logic for a single inference step.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Reconstructed images – Tensor containing the reconstructed images for the current batch.
- Return type:
torch.Tensor
- class HyraxAutoencoder(config, data_sample=None)[source]#
Bases:
torch.nn.ModuleThis autoencoder is designed to work with a wide range of image datasets to allow testing.
This example model is taken from this autoenocoder tutorial
The train function has been converted into train_batch for use with pytorch-ignite.
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- config#
- c_hid#
- latent_dim#
- conv_end_w#
- conv_end_h#
- train_batch(batch)[source]#
This function contains the logic for a single training step. i.e. the contents of the inner loop of a ML training process.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- validate_batch(batch)[source]#
This function contains the logic for a single validation step that will process a single batch of data. i.e. the contents of the inner loop of a ML validation process.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- test_batch(batch)[source]#
This function contains the logic for a single testing step that will process a single batch of data. i.e. the contents of the inner loop of a ML testing process. In this case, it is identical to validate_batch.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- infer_batch(batch)[source]#
This function contains the logic for a single inference step. i.e. the contents of the inner loop of a ML inference process.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Reconstructed inputs – The reconstructed inputs from the autoencoder.
- Return type:
torch.Tensor
- class HyraxAutoencoderV2(config, data_sample=None)[source]#
Bases:
torch.nn.ModuleThis is tweaked version of HyraxAutoencoder and is designed to work with a wide range of imaging datasets.
V2 improvements: - Configurable final layer activation - Uses criterion and optimizer from config variables
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- config#
- c_hid#
- latent_dim#
- conv_end_w#
- conv_end_h#
- band_reduction#
- train_batch(batch)[source]#
This function contains the logic for a single training step. i.e. the contents of the inner loop of a ML training process.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- validate_batch(batch)[source]#
This function contains the logic for a single validation step that will process a single batch of data. i.e. the contents of the inner loop of a ML validation process.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- test_batch(batch)[source]#
This function contains the logic for a single testing step that will process a single batch of data. i.e. the contents of the inner loop of a ML testing process. In this case, it is identical to validate_batch.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- infer_batch(batch)[source]#
This function contains the logic for a single inference step. i.e. the contents of the inner loop of a ML inference process.
- Parameters:
batch (tuple) – A tuple containing the input data for the current batch, possibly with labels that are ignored.
- Returns:
Reconstructed outputs – The reconstructed outputs from the autoencoder.
- Return type:
torch.Tensor
- class HyraxCNN(config, data_sample=None)[source]#
Bases:
torch.nn.ModuleThis CNN is designed to work with datasets that are prepared with Hyrax’s HSC Data Set class.
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- config#
- conv1#
- pool#
- conv2#
- fc1#
- fc2#
- fc3#
- train_batch(batch)[source]#
This function contains the logic for a single training step that will process a single batch of data. i.e. the contents of the inner loop of a ML training process.
- Parameters:
batch (tuple) – A tuple containing the inputs and labels for the current batch.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- validate_batch(batch)[source]#
This function contains the logic for a single validation step that will process a single batch of data. i.e. the contents of the inner loop of a ML validation process. In this case it is identical to test_batch.
- Parameters:
batch (tuple) – A tuple containing the inputs and labels for the current batch.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- test_batch(batch)[source]#
This function contains the logic for a single testing step that will process a single batch of data. i.e. the contents of the inner loop of a ML testing process. In this case, it is identical to validate_batch.
- Parameters:
batch (tuple) – A tuple containing the inputs and labels for the current batch.
- Returns:
Current loss value – Dictionary containing the loss value for the current batch.
- Return type:
dict
- infer_batch(batch)[source]#
This function contains the logic for a single inference step that will process a single batch of data. i.e. the contents of the inner loop of a ML inference process.
- Parameters:
batch (tuple) – A tuple containing the inputs and labels for the current batch.
- Returns:
Model outputs – Tensor containing the model outputs for the current batch.
- Return type:
Tensor
- class HyraxLoopback(config, data_sample=None)[source]#
Bases:
torch.nn.ModuleSimple model for testing which returns its own input
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- unused_module#
- config#
- load#
- hyrax_model(cls)[source]#
Decorator to register a model with the model registry, and to add common interface functions
- Returns:
The class with additional interface functions.
- Return type:
type