# Input Encoder

The input encoder generates a sample with index `idx` from the [PreprocessResponse](https://docs.tensorleap.ai/tensorleap-integration/python-api/code_loader/datasetclasses/preprocessresponse)  object. This sample will later be fetched as input by the network. The function is called for every evaluated sample. There should be a separate encoder for each input.

The [tensorleap\_input\_encoder](https://docs.tensorleap.ai/tensorleap-integration/python-api/code_loader/decorators/tensorleap_input_encoder "mention") decorator registers each input encoder into the Tensorleap integration.

```python
from code_loader.contract.datasetclasses import PreprocessResponse
from code_loader.inner_leap_binder.leapbinder_decorators import tensorleap_input_encoder

@tensorleap_input_encoder(name='image', channel_dim=-1)
def input_encoder(idx: int, preprocess: PreprocessResponse) -> np.ndarray:
    return preprocess.data.iloc[idx]['samples'].astype('float32')
```

Usage within the full script can be found at the [**Dataset Script**](https://docs.tensorleap.ai/tensorleap-integration/writing-integration-code/..#dataset-script).
