Skip to main content

PyZapo

PyZapo is a lightweight, modular, object-oriented deep learning framework built completely from scratch using only NumPy. It mimics the intuitive style of PyTorch, making it perfect for understanding modern neural network mechanics under the hood. 

🚀 Features

  • Advanced Activations (New in 1.1.2): Introduces LeakyReLU with configurable alpha parameters to effectively prevent the "dying ReLU" problem and stabilize GAN training.
  • Custom Autograd & Tensor Engine (New in 1.1.0): Supports computational graphs with automated backward passes for seamless gradient tracking via Tensor and evaluation controls via no_grad.
  • Object-Oriented Architecture: Build clean pipelines using Sequential blocks and custom Module classes.
  • Robust Built-in Optimization: Every linear layer comes equipped with an integrated Adam optimizer right out of the box.
  • Gradient Saturation Protection: Custom math safety controls (including vector clipping) in activations like Sigmoid to prevent gradient death.
  • Advanced Loss Functions: Supports MSELoss, BCELoss (with automatic stabilization), and full multi-class CrossEntropyLoss (Fused Softmax + CE).

📦 Installation

Install the package directly from PyPI: 

bash

pip install pyzapo

Используйте код с осторожностью.

🛠️ Quick Start: Multi-Class Digit Classification (0-9)

Here is how easily you can build, train, and test a deep neural network using PyZapo 1.1.1 to classify inputs into 10 different categories (perfectly suited for datasets like MNIST): 

python

import numpy as np import pyzapo as pz

1. Generate synthetic dataset (e.g., 5 flattened 28x28 images)

X = np.random.rand(5, 784)

One-hot encoded labels for 10 distinct classes (digits 0-9)

y = np.eye(10)[:5]

2. Define deep network architecture with LeakyReLU (Clean OOP Style without .forward())

model = pz.Sequential([ pz.Linear(784, 32), pz.LeakyReLU(alpha=0.2), # Advanced activation handling negative gradients pz.Linear(32, 10) ])

criterion = pz.CrossEntropyLoss()

3. Training Loop with automated backpropagation and Adam steps

print('Training the model...') for epoch in range(1501): logits = model(X) # Clean call syntax loss = criterion(logits, y) # Fused Softmax + CrossEntropy

loss_grad = criterion.backward()
model.backward(loss_grad)
model.step(lr=0.01)

if epoch % 300 == 0:
    print(f'Epoch {epoch:4d} | Loss: {loss:.6f}')

4. Inference and Evaluation using no_grad context

with pz.no_grad(): test_logits = model(X)

shift_logits = test_logits - np.max(test_logits, axis=-1, keepdims=True) probs = np.exp(shift_logits) / np.sum(np.exp(shift_logits), axis=-1, keepdims=True)

predictions = np.argmax(probs, axis=-1) true_classes = np.argmax(y, axis=-1)

print(f'True Labels: {true_classes.tolist()}') print(f'Predictions: {predictions.tolist()}')

Используйте код с осторожностью.

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for pyzapo 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyzapo 1.1.2
File Size Uploaded Provenance
pyzapo-1.1.2.tar.gz 5.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pyzapo 1.1.2
File Interpreter ABI Platform
pyzapo-1.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 11.4 kB

Release files / pyzapo-1.1.2.tar.gz

Download URL pyzapo-1.1.2.tar.gz
Size 5.5 kB
Tags Source
SHA-256 checksum
How to use checksums
33c073158f2eb57798ed50c1de872dd874baa113138c3a6a0a73394d56040bea
BLAKE2b-256 checksum
How to use checksums
290cad5cb4eba3c9cdedb05d53394ebcf82013be2c7c8918f62a3c37544e9922
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.1.2-py3-none-any.whl

Download URL pyzapo-1.1.2-py3-none-any.whl
Size 5.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
da77f746c1b34b31c9f7726c65c8ce1128f05aaf80643a3818c01a87bb0a0b82
BLAKE2b-256 checksum
How to use checksums
7e874e379abe3518f793a58fe699ecdb749587d4a09208b3e4457724c23e89bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.5

Security for pyzapo 1.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page