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

  • Computer Vision & CNN Support (New in 1.2.0): Introduces a native Conv2D layer built completely from scratch using pure NumPy vector operations. Supports customizable input/output channels, kernel sizes, strides, and padding along with integrated backpropagation.
  • Advanced Activations: Fully supports LeakyReLU with configurable alpha parameters to effectively prevent the "dying ReLU" problem and stabilize deep neural architectures (like GANs).
  • Custom Autograd & Tensor Engine: 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: Layers come 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.2.0 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()}')

Metadata

Release files for pyzapo 1.2.7

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.2.7
File Size Uploaded
pyzapo-1.2.7.tar.gz 8.1 kB Details

Built distribution (wheel)

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

Total release size: 15.1 kB

Release files / pyzapo-1.2.7.tar.gz

Download URL pyzapo-1.2.7.tar.gz
Size 8.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ad0f06678fc3b61383caf94e79c8d8e280b158c1d24e6aa9742f07b20180b545
BLAKE2b-256 checksum
How to use checksums
f643800e719c4b3ff86dc3a475833841570a26bb11e24db8b678ab3a5b9b93bd
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.2.7-py3-none-any.whl

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

Release history Release notifications | RSS feed

1.2.8

2 release files

This release

1.2.7 This release

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

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