PyZapo 🚀
PyZapo is a lightweight, object-oriented Deep Learning framework written completely from scratch using pure NumPy (without PyTorch) [ML / AI Engineering: PyTorch].
It features an in-built adaptive Adam optimizer right inside the layers, making neural network training fast, clean, and highly efficient without any extra boilerplate code [ML / AI Engineering: PyTorch].
Features ✨
- PyTorch-Style Syntax: Built-in
__call__allows you to invoke models and layers like functions (model(X)) [ML / AI Engineering: PyTorch]. - OOP Architecture: Inherit from
Moduleto build complex custom neural networks [ML / AI Engineering: PyTorch]. - Built-in Adam Optimizer: Adaptive learning rate for each weight out of the box.
- Modern Activations: High-performance
ReLUandSigmoidlayers. - Loss Functions:
MSELossand binary cross-entropy (BCELoss) with clipping safety. - Weights Management: Save and load your trained models instantly with
.npzbinary files.
Installation 📦
pip install pyzapo
Quick Start 💻
import numpy as np
import pyzapo as pz
# 1. Define your custom architecture
class MyCoolAi(pz.Module):
def __init__(self):
super().__init__()
self.fc1 = pz.Linear(2, 8)
self.relu = pz.ReLU()
self.fc2 = pz.Linear(8, 1)
self.sigmoid = pz.Sigmoid()
def forward(self, x):
out = self.fc1(x)
out = self.relu(out)
out = self.fc2(out)
out = self.sigmoid(out)
return out
def backward(self, loss_gradient):
delta = self.sigmoid.backward(loss_gradient)
delta = self.fc2.backward(delta)
delta = self.relu.backward(delta)
delta = self.fc1.backward(delta)
return delta
# 2. Train and Save
X = np.array([[5.0, 1.0], [1.0, 50.0]])
y = np.array([[1.0], [0.0]])
model = MyCoolAi()
criterion = pz.BCELoss()
for epoch in range(1000):
pred = model(X)
loss = criterion(pred, y)
loss_grad = criterion.backward()
model.backward(loss_grad)
model.step(lr=0.01)
model.save_weights("my_model.npz")
Release files for pyzapo 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyzapo-1.0.1.tar.gz | 3.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyzapo-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.1 kB
Release files / pyzapo-1.0.1.tar.gz
| Download URL | pyzapo-1.0.1.tar.gz |
|---|---|
| Size | 3.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
da5c96f9995464fafd6791ba1d70d8ad568ee62ddb0a4a33252b9dd9378ef25e
|
|
BLAKE2b-256 checksum How to use checksums |
22c02eb8a0d6bd582bfa7b11495f48f585619d33db5fba170170ed21a9c65981
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|
Release files / pyzapo-1.0.1-py3-none-any.whl
| Download URL | pyzapo-1.0.1-py3-none-any.whl |
|---|---|
| Size | 4.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
59d8d72d6316bf1ac553616801f439c48e6700d1a74fd242fd847eac040cdad6
|
|
BLAKE2b-256 checksum How to use checksums |
e29b4fb3d97311346973fd23027dd5e2dc80b6ed84a0061ad17329b92adb4843
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|