Metadata-Version: 2.4
Name: aek-img-trainer
Version: 0.3.1
Summary: Image classification trainer using OpenCV and timm
Author: Alp Emre Karaahmet
Author-email: alpemrekaraahmet@gmail.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: torch
Requires-Dist: opencv-python
Requires-Dist: numpy
Requires-Dist: timm
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Installation
```bash
pip install aek-img-trainer
```
For more secure way after doing that you can upgrade via:
```bash
pip install --upgrade aek-img-trainer
```
# Usage

## Create object


Now you can just use Trainer class methods example usage is shown below.
```python
from aek_img_trainer import Trainer, Preprocessor

model = Trainer(train_root="root/trainset",
                val_root="root/valset",
                num_classes=16,
                img_size=224,
                batch_size=4,
                val_reach=0.9999,
                num_epochs=150,
                learning_rate=1e-3,
                checkpoint_path="efficientnet_b0_best_model.pth",
                model_name="efficientnet_b0",
                device=None,
                augment=True,
                scheduler=None,
                scheduler_params=None,
                pretrained=True)
```
Those hyperparameters without train and val dataset path are default if you want to use default parameters you can just give your train and val datasets' path.
```python
model = Trainer(train_root="root/trainset",val_root="root/valset")
```

# Training


You can train your model with parameter that created earlier.
```python
model.train()
```

# Information


You can see your model's parameters and architecture.
```python
model.print_model_info()
```

# Help function for Trainer class


You can use help() function for get more information about functions that inside the Trainer class.
```python
model.help()
```
# Timm models


You can get models that inside the timm library you can use with their name in string format inside the Trainer() 'model_name' paramaters.
ATTENTION: You can just use the models whose head layers are 'fc', 'head' and 'classifier'
```python
model.list_all_timm_models()
```
 
