# Trainer

## Artifacts and meta

### exp folder

1. ckpts folder
2.

## Responsibility

### Env
- save and load ckpt

### Scheduler
- train epoch
- train step
- eval epoch

* epoch
    * batch: step

## loss_fn

### return

* loss

* predict

* minitor on terminal

* output_dict


## Limitation

* The trainer only deal with one model, one loss, and one optimizer.
* Do we need to consider a clean trainer env?
