Skip to main content

A convolutional neural network library built from scratch using NumPy — Conv1d, Conv2d, pooling, transposed convolution, activations, and loss functions with hand-derived forward and backward passes.

Project description

custom-cnn: Convolutional Neural Network Library from Scratch

A lightweight convolutional neural network library built entirely in NumPy and SciPy. This project implements forward and backward passes for all standard CNN components — convolution, pooling, transposed convolution, resampling, and more — without the use of high-level frameworks like PyTorch or TensorFlow.

Installation

pip install custom-cnn

Quick Start

import numpy as np
from mytorch.nn.Conv1d import Conv1d
from mytorch.nn.activation import ReLU
from mytorch.nn.loss import CrossEntropyLoss
from mytorch.flatten import Flatten
from mytorch.nn.linear import Linear

# Build a simple 1D CNN
conv = Conv1d(in_channels=3, out_channels=8, kernel_size=5, stride=1)
relu = ReLU()
flatten = Flatten()
fc = Linear(in_features=8 * 28, out_features=10)
criterion = CrossEntropyLoss()

# Forward pass
x = np.random.randn(4, 3, 32)  # (batch=4, channels=3, width=32)
z = conv.forward(x)
z = relu.forward(z)
z = flatten.forward(z)
z = fc.forward(z)

# Compute loss and backprop
labels = np.eye(10)[np.array([0, 1, 2, 3])]  # one-hot
loss = criterion.forward(z, labels)
grad = criterion.backward()
grad = fc.backward(grad)
grad = flatten.backward(grad)
grad = relu.backward(grad)
grad = conv.backward(grad)

Or use the pre-built CNN model:

from models.cnn import CNN
from mytorch.nn.activation import ReLU
from mytorch.nn.loss import CrossEntropyLoss

model = CNN(
    input_width=32,
    num_input_channels=3,
    num_channels=[8, 16, 32],
    kernel_sizes=[5, 3, 3],
    strides=[1, 1, 1],
    num_linear_neurons=10,
    activations=[ReLU(), ReLU(), ReLU()],
    conv_weight_init_fn=None,
    bias_init_fn=None,
    linear_weight_init_fn=None,
    criterion=CrossEntropyLoss(),
    lr=0.01,
)

# Single training step
output = model.forward(x)
model.backward(labels)
model.step()

Key Features

  • Convolution Layers: Conv1d and Conv2d with arbitrary stride, implemented as stride-1 convolution followed by downsampling. Full cross-correlation forward and flipped-kernel backward passes.
  • Transposed Convolution: ConvTranspose1d and ConvTranspose2d for learnable upsampling, implemented as upsample-then-convolve — the mathematical transpose of strided convolution.
  • Pooling: MaxPool2d and MeanPool2d with both stride-1 and arbitrary-stride variants. Max pooling routes gradients to argmax positions; mean pooling distributes gradients uniformly.
  • Resampling: Upsample1d/2d (zero-insertion) and Downsample1d/2d (strided selection), with transpose-pair backward passes.
  • Activations: Seven activation functions — Identity, Sigmoid, Tanh, ReLU, GELU, Swish (with learnable beta), and Softmax — each with hand-derived derivatives.
  • Loss Functions: MSELoss and CrossEntropyLoss with numerically stable Softmax integration using the max-subtraction method to prevent floating-point overflow.
  • Pre-built Architectures: Configurable CNN classifier, MLP, and scanning MLP models (simple and distributed weight-sharing) demonstrating the convolution-as-scanning equivalence.

Technical Highlights

1. Vectorized Backpropagation

Every layer implements its own forward() and backward() pass. Gradients are calculated using vectorized matrix operations, with no autograd or computation graph. This makes the math behind backpropagation explicit and inspectable.

2. Strided Convolution via Decomposition

Strided convolution is decomposed into stride-1 convolution + downsampling. This simplifies the backward pass: upsample the gradient, then apply the stride-1 backward. The same principle applies to transposed convolution (upsample + convolve).

3. Numerical Stability

The CrossEntropyLoss implementation subtracts the row-wise maximum before exponentiation, preventing floating-point overflow in the softmax computation. The combined softmax + cross-entropy gradient simplifies to (softmax - labels) / N.

4. Cython-Compiled Distribution

Published on PyPI as pre-compiled binary wheels (.so/.pyd) using Cython. No Python source code is included in the distributed package. Wheels are built for Python 3.9–3.13 on Linux, macOS, and Windows via GitHub Actions and cibuildwheel.

Layers

Convolution

Class Description
Conv1d_stride1 1D convolution with stride 1
Conv1d 1D convolution with arbitrary stride
Conv2d_stride1 2D convolution with stride 1
Conv2d 2D convolution with arbitrary stride
ConvTranspose1d 1D transposed (deconv) with upsampling
ConvTranspose2d 2D transposed (deconv) with upsampling

Pooling

Class Description
MaxPool2d_stride1 2D max pooling with stride 1
MaxPool2d 2D max pooling with arbitrary stride
MeanPool2d_stride1 2D mean pooling with stride 1
MeanPool2d 2D mean pooling with arbitrary stride

Resampling

Class Description
Upsample1d 1D upsampling (zero-insert)
Downsample1d 1D downsampling (strided select)
Upsample2d 2D upsampling
Downsample2d 2D downsampling

Core

Class Description
Linear Fully-connected layer
Flatten Reshape (batch, C, W) to (batch, C*W)

Activations

Class Description
Identity Pass-through (no-op)
Sigmoid Logistic sigmoid
Tanh Hyperbolic tangent
ReLU Rectified linear unit
GELU Gaussian error linear unit
Swish Swish/SiLU with learnable beta
Softmax Softmax normalization

Loss Functions

Class Description
MSELoss Mean squared error
CrossEntropyLoss Softmax + cross-entropy

Models

Class Description
CNN Configurable Conv1d network with linear head
MLP Multi-layer perceptron with ReLU activations
CNN_SimpleScanningMLP Conv1d network equivalent to a scanning MLP
CNN_DistributedScanningMLP Conv1d network with weight-shared scanning

Project Structure

custom-cnn/
├── mytorch/
│   ├── nn/
│   │   ├── Conv1d.py        # 1D convolution (stride-1 and strided)
│   │   ├── Conv2d.py        # 2D convolution (stride-1 and strided)
│   │   ├── ConvTranspose.py # Transposed convolution (1D & 2D)
│   │   ├── pool.py          # Max & mean pooling (2D)
│   │   ├── resampling.py    # Up/downsampling (1D & 2D)
│   │   ├── linear.py        # Fully-connected layer
│   │   ├── activation.py    # 7 activation functions
│   │   └── loss.py          # MSE & cross-entropy loss
│   └── flatten.py           # Flatten layer
├── models/
│   ├── cnn.py               # CNN classifier
│   ├── mlp.py               # Multi-layer perceptron
│   └── mlp_scan.py          # Scanning MLP (simple & distributed)
├── sandbox/                  # Example/test scripts for each layer
├── pyproject.toml            # Package metadata & build config
└── setup.py                  # Cython compilation setup

Requirements

  • Python >= 3.9
  • NumPy >= 2.2.6
  • SciPy >= 1.15.3

License

All rights reserved.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

custom_cnn-0.1.1-cp313-cp313-win_amd64.whl (461.1 kB view details)

Uploaded CPython 3.13Windows x86-64

custom_cnn-0.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

custom_cnn-0.1.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

custom_cnn-0.1.1-cp313-cp313-macosx_11_0_arm64.whl (489.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

custom_cnn-0.1.1-cp313-cp313-macosx_10_13_x86_64.whl (488.0 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

custom_cnn-0.1.1-cp312-cp312-win_amd64.whl (470.6 kB view details)

Uploaded CPython 3.12Windows x86-64

custom_cnn-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

custom_cnn-0.1.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

custom_cnn-0.1.1-cp312-cp312-macosx_11_0_arm64.whl (498.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

custom_cnn-0.1.1-cp312-cp312-macosx_10_13_x86_64.whl (497.4 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

custom_cnn-0.1.1-cp311-cp311-win_amd64.whl (473.4 kB view details)

Uploaded CPython 3.11Windows x86-64

custom_cnn-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

custom_cnn-0.1.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

custom_cnn-0.1.1-cp311-cp311-macosx_11_0_arm64.whl (494.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

custom_cnn-0.1.1-cp311-cp311-macosx_10_9_x86_64.whl (498.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

custom_cnn-0.1.1-cp310-cp310-win_amd64.whl (473.3 kB view details)

Uploaded CPython 3.10Windows x86-64

custom_cnn-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

custom_cnn-0.1.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

custom_cnn-0.1.1-cp310-cp310-macosx_11_0_arm64.whl (498.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

custom_cnn-0.1.1-cp310-cp310-macosx_10_9_x86_64.whl (502.3 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

custom_cnn-0.1.1-cp39-cp39-win_amd64.whl (475.0 kB view details)

Uploaded CPython 3.9Windows x86-64

custom_cnn-0.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

custom_cnn-0.1.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

custom_cnn-0.1.1-cp39-cp39-macosx_11_0_arm64.whl (500.4 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

custom_cnn-0.1.1-cp39-cp39-macosx_10_9_x86_64.whl (504.5 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file custom_cnn-0.1.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: custom_cnn-0.1.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 461.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for custom_cnn-0.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 456425d4d2c033577da4765abf72ff4df8e2fad2d657f86c234469d37cc8b412
MD5 6ee6f7b85bcf79e5fa2bd16cc7214ced
BLAKE2b-256 e96d1aa7afa45a33ad065451cec77ddb880346253cd395ebe7c4a3936430b5bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp313-cp313-win_amd64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 172c3919e004b67d3e3ba9936b7ab882ec6285a6fb7eff06b56765b55845c56c
MD5 6307661c9f68a396ac4323907afcf778
BLAKE2b-256 ee602a2b2e7a14c5d54dad50c5c40acdafc8f023088096d55b9e30e72dbc1b44

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fd3cbeb08afeeeace2643176fb9aebf7304ea4fc537fd0ffbe89d78649f410b9
MD5 87977dc2f1d1b684e26271f78e9f72c0
BLAKE2b-256 ab8dc2d647896d85be1b567dd5fefcd78d164d945877e052eba652186f6442f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1114400d56c8ab8b693f2ed6bf283673953d70408e1d00086727d5bd8e8a44b5
MD5 79a6f680d6956103ca08c33aacfc0544
BLAKE2b-256 0586d71e718afac111c3e5386ae69b608eb83b6e824a6cad671b89c0dfd8433a

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9606f266892b8949dae77be0ac230031d8697c2e4fcf31fd7d379ae69e8c3c2a
MD5 a4ab5b60a5b6dc974957a3b4c996b0a4
BLAKE2b-256 8b8ecdfa10682788fc67bbfc8e1aeb087e8c082257137c48b3df41b7deb7cde1

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: custom_cnn-0.1.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 470.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for custom_cnn-0.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 06fa1022112c565727a71fbabffeb8c2bdef07eba86255f26ef4a0318fc52ba8
MD5 e9bfb0b3af1130030eee24f276637076
BLAKE2b-256 5c57c44910c24e3529ce3638ab2be91ac3d5a830b596a7080e848b34909595be

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp312-cp312-win_amd64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6aec1b604da38d74138aeb654ff40ade848c9d100246dc7b1c6ec1a365ede87d
MD5 a335b29058592f42b62e18b0bfb6d9ac
BLAKE2b-256 c33abf993fd45bfa296b8566378fddd58beee07b1ebe3230cfe2a4ad628162f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 82601c455da350f6aab34210f12baad52036af4dd8934d9784b8d6121c5e37fd
MD5 42925be47b50bf5541df4445546121dd
BLAKE2b-256 5c3630ad3fa2cf2f7c6fd6d54beb9c50a841cb18a68e77fba712ded6e1929e55

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ca215b190e08d9d3730ab0329a602e6f76971651e522420696170c05bdf184df
MD5 7a99e6310f1e8f47d915c0da2d16834a
BLAKE2b-256 3fbc0257e6062479ea6f440d322d15066db9c1d869ee9db237c38f02a54eb9ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0c433257463f1add254e8d30bb172173fa53a0af632fedf10c4f995ee1129fd6
MD5 785330aad5f350b5b5cd0ad716efae3a
BLAKE2b-256 123a07861905f70fb2e68a33cb5bf027baac1163be6b29a751451063d6f8cdca

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: custom_cnn-0.1.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 473.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for custom_cnn-0.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 74320eaa14e61a21db55f7e2a018ba64520c5a090eb1bb1eff8512f94382cc14
MD5 4e6db02ad73ae3e6d20d47bd4ca6a53e
BLAKE2b-256 2489b90f1f423e4a2f5889d7d4ce51aed8c985cf73d15bff5777cf43a8bff480

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp311-cp311-win_amd64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d40acd7e675d08293e9fd381fa2c7ad23a93c0fac117bb0bc51e15bda66e8f8a
MD5 4094d0a960c14de073f87b51e65d4da8
BLAKE2b-256 ba9cf270c6724a03040cfc7ce0a7406f8df4a55c34e6dfa38cce5f5c2462e060

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 819db41140a24878ec51e3b25bcbb49de1d7f6fa413c2c90be14b4f7aa03b02a
MD5 cc89b70e883ee2443e81aaada7898012
BLAKE2b-256 c38ae8beebb41537d79fd35e6c46cb4ed9b0fcc255b45b20dd747444cf5ef5cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 34ac6146b30019c98b09c75d2ac1b760c636da506019635380a7396d4cdffd60
MD5 892395c70fa51baeaf7a1cfd6d584865
BLAKE2b-256 64e65093dfe7679a7c2d188f36f1de1889e33267c4490998d4f7e5391c4d4886

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 04404526ebc29e2a1ef308835fd7f861d0ec17363683c25fa93d80909951da55
MD5 a6e9bf5225742ba1b8e24b36e074d84c
BLAKE2b-256 7c384bfcef12bd15be2b24396b5359688a5d511cc4652b1a0e34afdf53fb0828

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: custom_cnn-0.1.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 473.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for custom_cnn-0.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 482fdb9acb29d231b43d8781f626a703aa6f41dba673800a247208d6a043979e
MD5 fcb44ee68f90c02011969b2bfe396c26
BLAKE2b-256 76e8010ed323efcb535196528335a8d818c94dce58eef297a152032e7eefe637

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp310-cp310-win_amd64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 73cf491c176f1dd091d63550ab0864b5c19a0579a7858000d7518d4fdc1ac415
MD5 189d9d7ba6139baa3b58c88eba38ef4b
BLAKE2b-256 9df5c33f9acd07f0ce0c31891968773ca5ca77b0844701bef3aeab852e413795

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e0a1f5b75ec3dbfedfb8d980937deab026a41133df89f3d6d40a87b09f9a9ed8
MD5 f3fb0e5f21b929022067b1a9c66fb9db
BLAKE2b-256 0eb54415296d0ad09cc43048fd33efb7555c4ba4659ab2d3868b63ca49d2fd26

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0be5de55f9866a879f30e03529622257b255957afb8bd8bb06d33a83c2afb132
MD5 465f2d50205eae0e165a5b9614aa5a37
BLAKE2b-256 977fd216f279a06c865c174b7249a3db1fc65d04d54bc2205ad9e7096953419e

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 06a307588230f894b16eb58a8ceefd2cf820e3fce7993f4ad5eaab67da338b7e
MD5 08d8805e0285be0627c6f22ac9891366
BLAKE2b-256 288d72cf7a4e0e20a833aef055d89f2b47a3bfc5a75777557c6f44644d01a4ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: custom_cnn-0.1.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 475.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for custom_cnn-0.1.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b0723fb531e57c6c2695c0bae236f3264f1ee6f01b179c3bad76650d8d710277
MD5 7b7ac89d44f66efbd8481d4c56dbd9d5
BLAKE2b-256 91c528fd4976eb4164e39e717b8011fb7eddee90f831fbe13f3ccbd4029d920b

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp39-cp39-win_amd64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 aab7d3114eb28f5528e9c174822df36e83b1ef7a0c570e0a029dfe7d806b6263
MD5 b6b37a876656456d50842eac54e0b723
BLAKE2b-256 3f4f3f73544b638d7491cadffc1cde095fba5196dee53ca31bb7513c29137942

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5e4afa9a9fbe8dca7827bc562645c453db3659e3c8fcce5a57d1a0e623f37cfa
MD5 14b1a193a6e64c7cffdfc5b16e7a879f
BLAKE2b-256 58270d95cdd42251574b5f6758a1e641e6001461170f83d03c37247098371166

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4abfe30a4a8a5da49f9739345e27f26f8fab7dc784a4562b9d7fa7b8ffb15e78
MD5 c129f556a8e4cdfe95847a936a7698b7
BLAKE2b-256 9f35af4fa34db6b82d385545420c1d8aad77509bef9d37e7c9f28bab00751826

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file custom_cnn-0.1.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for custom_cnn-0.1.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 073b2071afe534fb081857e6b45061ebd0399bc2bbeba634ae3b85d78d3e2ea3
MD5 faa014074b5c7cc193587218f4986f79
BLAKE2b-256 abbc8b9716d83d203865936c64e71a8a2fda1361ea3bb4dcf876091ce9f2c24e

See more details on using hashes here.

Provenance

The following attestation bundles were made for custom_cnn-0.1.1-cp39-cp39-macosx_10_9_x86_64.whl:

Publisher: release.yml on kkipngenokoech/CNN

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page