Skip to main content

Image classification trainer using OpenCV and timm

Project description

AEK Image Trainer Logo

AEK Image Trainer

AI image preprocessing library

Installation

pip install aek-img-trainer

For more secure way after doing that you can upgrade via:

pip install --upgrade aek-img-trainer

Usage

Create object

Now you can just use Trainer class methods example usage is shown below.

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.

model = Trainer(train_root="root/trainset",val_root="root/valset")

Training

You can train your model with parameter that created earlier.

model.train()

Prediction

You can use your model in test with below code.

model.predict(checkpoint_path="example_model.pth",
               test_path="root/test.png")

Or if you give the test set path this method predict all images in the dataset folder. Your dataset should be labelled like training dataset.

Example usage:

model.predict(checkpoint_path="example_model.pth",
                test_set_path="root/testset")

Save OpenVINO IR

You can save the pth model file to xml and bin files

Example usage:

model.save_openvino(
    pth_path="efnet.pth",
    output_path="efnet.xml",
    class_number=16,
    model_name="efficientnet_b0"
)

Prediction on OpenVINO IR Model

You can predict the OpenVINO IR model. Like above predict function openvino_predict function takes either test_path or test_set_path and changes the result with the given path, either predict one image or images that inside the test set. Test set should be labelled like a training dataset.

Example usage:

model.openvino_predict(
    xml_path="efnet.xml",
    bin_path="efnet.bin",
    test_path=None,
    test_set_path="root/testset"
)

Information

You can see your model's parameters and architecture.

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.

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'

model.list_all_timm_models()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aek_img_trainer-1.0.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aek_img_trainer-1.0.0-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file aek_img_trainer-1.0.0.tar.gz.

File metadata

  • Download URL: aek_img_trainer-1.0.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for aek_img_trainer-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a1d7175ee5c41d53cfee17cf53a367c63b96888d333b9039eca6936e6a01451c
MD5 ccaaab9c044ddfecc7cbd1b599944f8d
BLAKE2b-256 f72dfe2e2750ff67c268278280fbefff3c7ee0a590b8f1e4d3131b2a3fa0283e

See more details on using hashes here.

File details

Details for the file aek_img_trainer-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for aek_img_trainer-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0d3f84cdedfffd62085d84ed3ec0e87ac6b29fd2de4bd726ebfba10a436fa7a7
MD5 55d9b8bf011949ff4ff01d347fbbe2d2
BLAKE2b-256 a8a639f84dae564f90feb4d4adbcaa073dc0710cb791fb6e465cff545802cb00

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page