PyZapo
PyZapo is a lightweight, object-oriented Deep Learning framework written completely from scratch using pure NumPy (without 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.
Features
- PyTorch-Style Syntax: Built-in
__call__allows you to invoke models and layers like functions (model(X)). - OOP Architecture: Inherit from
Moduleto build complex custom neural networks. - 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.2
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.2.tar.gz | 3.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyzapo-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.0 kB
Release files / pyzapo-1.0.2.tar.gz
| Download URL | pyzapo-1.0.2.tar.gz |
|---|---|
| Size | 3.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
273562da494c92242c6ea7807febfd3eba7c64575d0fe18cca61f6c059558e88
|
|
BLAKE2b-256 checksum How to use checksums |
831fe28832bc6996e58f6b97fc34f32610d1c3a2efd8e98acfc5441cf6e3063f
|
| 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.2-py3-none-any.whl
| Download URL | pyzapo-1.0.2-py3-none-any.whl |
|---|---|
| Size | 4.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e200e5b41362aa389f4f01c484f8c5f7d1063df6412429998997d150342278c2
|
|
BLAKE2b-256 checksum How to use checksums |
1387a6401247d8b79dbd916e30b1144f21915fb36772d956c94ee1006dca52df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|