Model Trainer
tensoris.backend.trainers.trainer ¶
Standard PyTorch Deep Learning Model Trainer.
Classes¶
ModelTrainer ¶
Standard Deep Learning Model Trainer managing forward passes, backpropagation, and evaluation.
Execution Workflow Flowchart:
graph TD
A["DataLoader Batch (inputs, targets)"] --> B["Transfer Tensors to Device (CUDA / MPS / CPU)"]
B --> C["Optimizer.zero_grad()"]
C --> D["Model Forward Pass: outputs = model(inputs)"]
D --> E["Loss Calculation: loss = criterion(outputs, targets)"]
E --> F["Backpropagation: loss.backward()"]
F --> G["Optimizer Step: optimizer.step()"]
G --> H["Accumulate & Return Epoch Mean Loss"]
Source code in src/tensoris/backend/trainers/trainer.py
Methods:¶
__init__ ¶
Initialize Model Trainer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
model
|
Module
|
PyTorch neural network model instance. |
required |
optimizer
|
Optimizer
|
PyTorch optimizer instance. |
required |
criterion
|
Module
|
PyTorch loss function instance. |
required |
device
|
str | device
|
Compute device ('cuda', 'mps', or 'cpu'). |
'cpu'
|
Source code in src/tensoris/backend/trainers/trainer.py
evaluate ¶
Execute evaluation loop without gradient computation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dataloader
|
DataLoader
|
PyTorch DataLoader supplying evaluation batches. |
required |
Returns:
| Type | Description |
|---|---|
float
|
Mean evaluation loss across all batches. |
Source code in src/tensoris/backend/trainers/trainer.py
train_epoch ¶
Execute a single training epoch optimization loop.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dataloader
|
DataLoader
|
PyTorch DataLoader supplying training batches. |
required |
Returns:
| Type | Description |
|---|---|
float
|
Mean training loss across all batches. |