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.3
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.3.tar.gz | 3.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyzapo-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.0 kB
Release files / pyzapo-1.0.3.tar.gz
| Download URL | pyzapo-1.0.3.tar.gz |
|---|---|
| Size | 3.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
25c0e6e49e398e4dda0d4c6d904f14a30007b1eff2f8c443d5067fe83ecf36a5
|
|
BLAKE2b-256 checksum How to use checksums |
c448da1aa1bf79d1c445d31d40bf1828d5b6f88899aeea365b47e6fe55d0c72e
|
| 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.3-py3-none-any.whl
| Download URL | pyzapo-1.0.3-py3-none-any.whl |
|---|---|
| Size | 4.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
addb480f87930a9092afa520dfbe6e763181c995f1785c5d067199293ea1fd81
|
|
BLAKE2b-256 checksum How to use checksums |
f208732bec2d37232234b22640a24f683183d06a05f8046bd6155218a0a5672a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|