A small python image classification package
Project description
Chokkhu
Chokkhu is a deep learning image dataset EDA and preprocessing toolkit designed to prepare train-ready image data for TensorFlow / Keras–based image classification. It helps users analyze datasets, preprocess images, handle class imbalance, and train deep learning models using a clean and reproducible pipeline. The package follows industry-grade Python packaging standards, supports CI/CD pipelines, and works seamlessly in Google Colab and Jupyter Notebook environments.
INSTALLATION (IMPORTANT – FIRST STEP)
pip install chokkhu <<<
TensorFlow is installed automatically as a runtime dependency.
Chokkhu’s main responsibility is data preparation. It performs image exploratory data analysis (EDA), class-wise distribution visualization, image size, aspect ratio, RGB intensity and blur analysis, standard preprocessing (resize to 224×224 and normalization), stratified train/validation/test splitting, and automatic class balancing using data augmentation. After this step, the dataset is fully ready to be used for training any deep learning model.
Complete usage example showing the full workflow in one place:
from Chokkhu.DeepLearningModel.eda.image_eda import ImageEDA
from Chokkhu.DeepLearningModel.preprocessing.image_preprocess import ImagePreProcessor
# Dataset EDA
eda = ImageEDA(dataset_path="your_dataset_path")
# Dataset preprocessing
processor = ImagePreProcessor(datapath="your_dataset_path")
(train_X, train_y), (val_X, val_y), (test_X, test_y) = processor.get_data()
Now you can train your model like this
import tensorflow as tf
# Example 1: Custom CNN (from scratch)
custom_model = tf.keras.Sequential([
tf.keras.layers.Conv2D(32, 3, activation="relu", input_shape=(224,224,3)),
tf.keras.layers.MaxPooling2D(),
tf.keras.layers.Conv2D(64, 3, activation="relu"),
tf.keras.layers.MaxPooling2D(),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation="relu"),
tf.keras.layers.Dense(num_classes, activation="softmax")
])
custom_model.compile(
optimizer="adam",
loss="sparse_categorical_crossentropy",
metrics=["accuracy"]
)
custom_model.fit(
train_X,
train_y,
validation_data=(val_X, val_y),
epochs=10
)
# Example 2: Transfer Learning with ConvNeXt-Tiny (frozen backbone)
import tensorflow as tf
base_model = tf.keras.applications.ConvNeXtTiny(
weights="imagenet",
include_top=False,
input_shape=(224,224,3)
)
base_model.trainable = False
transfer_model = tf.keras.Sequential([
base_model,
tf.keras.layers.GlobalAveragePooling2D(),
tf.keras.layers.Dense(256, activation="relu"),
tf.keras.layers.Dense(num_classes, activation="softmax")
])
transfer_model.compile(
optimizer="adam",
loss="sparse_categorical_crossentropy",
metrics=["accuracy"]
)
transfer_model.fit(
train_X,
train_y,
validation_data=(val_X, val_y),
epochs=5
)
# Example 3: Fine-tuning ConvNeXt-Tiny (unfrozen backbone)
import tensorflow as tf
base_model.trainable = True
transfer_model.compile(
optimizer=tf.keras.optimizers.Adam(1e-5),
loss="sparse_categorical_crossentropy",
metrics=["accuracy"]
)
transfer_model.fit(
train_X,
train_y,
validation_data=(val_X, val_y),
epochs=5
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chokkhu-0.1.0.tar.gz.
File metadata
- Download URL: chokkhu-0.1.0.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
378874fd6118f95157c217b364b33ec6b2df9f8e32abea565a6aa214da42dfdc
|
|
| MD5 |
2b72eb96f8d6ad43931f5ff6673602d6
|
|
| BLAKE2b-256 |
a4db71cbf386428f0be92829a7c7bb0a41791d5e06680295767e002e04faa53e
|
File details
Details for the file chokkhu-0.1.0-py3-none-any.whl.
File metadata
- Download URL: chokkhu-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aee10d0f7ca56ac696e2c0740d4addca726f8387cb45ce2ebd9feb08082d5694
|
|
| MD5 |
387c1a6ad390a0b4d2d930d290fbca33
|
|
| BLAKE2b-256 |
3b07484b37fc664d8f988003c0adc0778a755c889aee9fad4559af8b3d7737c0
|