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.4
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.4.tar.gz | 3.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyzapo-1.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.1 kB
Release files / pyzapo-1.0.4.tar.gz
| Download URL | pyzapo-1.0.4.tar.gz |
|---|---|
| Size | 3.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cfd3b82118084feec0eec9c551a8dac6b5f02c21020181830b4392c2a98a65f2
|
|
BLAKE2b-256 checksum How to use checksums |
0c86f17ae5719f098ea4fa3582f679c444537707c2cc7752e6185b04a2a5120f
|
| 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.4-py3-none-any.whl
| Download URL | pyzapo-1.0.4-py3-none-any.whl |
|---|---|
| Size | 4.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d1bc66b289e305538a3c9a1913faee9ba26e3853ae07c5518c80342ca8dc5cc9
|
|
BLAKE2b-256 checksum How to use checksums |
1296e1665f98d19923dcc62305f1a029e68bc3a828a916abce8e6a18a2d80a8f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|