v0.1.0
π¦ Release: v0.1.0 β Initial Working Version
This is the first official release of PyCNN β a lightweight and educational CNN built using only NumPy, SciPy, and Pillow, with zero reliance on machine learning frameworks.
π Key Features
- β Fully functional CNN implementation from scratch
- π§ Manual convolution, max pooling, and ReLU activations
- π Forward and backward propagation with mini-batch gradient descent
- π· Multi-class classification via softmax and cross-entropy loss
- πΎ Model save/load using
pickle - πΌ RGB image preprocessing with customizable filters
- π Predict function to classify new unseen images
π Installation
π¦ install directly from GitHub:
pip install git+https://github.com/77AXEL/PyCNN.git@v0.1.0π§ͺ How to Use
π Train the model:
from cnnfs.model import CNN
model = CNN()
model.init(
image_size=32,
batch_size=32,
h1=128,
h2=64,
learning_rate=0.01,
epochs=10,
dataset_path="data",
max_image=200
)
model.load_dataset()
model.train_model()
model.save_model()π Predict an image:
model.load_model("model.bin")
result = model.predict("path/to/image.png")
print("Prediction:", result)π Included Filters
PyCNN uses a set of basic filters for feature extraction:
- Sharpen
- Vertical edges
- Laplacian (high-pass)
π§Ύ Changelog
Initial versionwith full training and prediction pipeline- Manual convolution + pooling + ReLU
- Batch softmax + cross-entropy loss
- Two hidden layers and output layer
- Save/load model capability
- Example dataset folder included
- Beginner-friendly structure for learning how CNNs work
π¬ Feedback & Contributions
We welcome issues, suggestions, and contributions!
Join the conversation in the [Discussions tab](https://github.com/77AXEL/PyCNN/discussions) or check the [CONTRIBUTING.md](./CONTRIBUTING.md) guide.
π‘ Security
Found a security issue? Please report it privately to:
π§ a.x.e.l777444000@gmail.com
π License
Released under the MIT License