# helia_edge.trainers.simclr

## SimCLR Trainer API

This module contains the implementation of a SimCLR trainer that can be used to train a model using the SimCLR approach.

**Classes**

| Name | Description |
| --- | --- |
| `SimCLRTrainer` | A trainer for SimCLR |

## helia_edge.trainers.simclr.SimCLRTrainer

`class` · `python`

```python
SimCLRTrainer(encoder: keras.Model, projector: keras.Model | None = None, **kwargs={})
```

Creates a SimCLRTrainer.

If no projector is provided, a default one will be created based on paper.



Base class: [ContrastiveTrainer](/helia-edge/reference/api/helia_edge/trainers/contrastive/#helia_edge.trainers.contrastive.ContrastiveTrainer).

Inherited from [ContrastiveTrainer](/helia-edge/reference/api/helia_edge/trainers/contrastive/#helia_edge.trainers.contrastive.ContrastiveTrainer): [call()](/helia-edge/reference/api/helia_edge/trainers/contrastive/#helia_edge.trainers.contrastive.ContrastiveTrainer.call), [fit()](/helia-edge/reference/api/helia_edge/trainers/contrastive/#helia_edge.trainers.contrastive.ContrastiveTrainer.fit), [linear_probe()](/helia-edge/reference/api/helia_edge/trainers/contrastive/#helia_edge.trainers.contrastive.ContrastiveTrainer.linear_probe), [run_augmenters()](/helia-edge/reference/api/helia_edge/trainers/contrastive/#helia_edge.trainers.contrastive.ContrastiveTrainer.run_augmenters), [save()](/helia-edge/reference/api/helia_edge/trainers/contrastive/#helia_edge.trainers.contrastive.ContrastiveTrainer.save), [test_step()](/helia-edge/reference/api/helia_edge/trainers/contrastive/#helia_edge.trainers.contrastive.ContrastiveTrainer.test_step), [train_step()](/helia-edge/reference/api/helia_edge/trainers/contrastive/#helia_edge.trainers.contrastive.ContrastiveTrainer.train_step).

**Parameters**

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| encoder | keras.Model | Required | The encoder model. |
| projector | keras.Model | None | The projector model. Defaults to None. |

Source: `helia_edge/trainers/simclr.py:17`

### helia_edge.trainers.simclr.SimCLRTrainer.compile

`method` · `python`

```python
compile(
    encoder_optimizer: keras.Optimizer,
    encoder_loss: keras.Loss | None = None,
    encoder_metrics: list[keras.Metric] | None = None,
    probe_optimizer: keras.Optimizer | None = None,
    probe_loss: keras.Loss | None = None,
    probe_metrics: list[keras.Metric] | None = None,
    **kwargs={},
)
```

Source: `helia_edge/trainers/simclr.py:53`
