Skip to main content

KrikNN is a library that includes various components for neural network operations and tensor manipulations. This README provides an overview of the `Tensor` class and its functionality, as well as instructions for running the tests.

Project description

KrikNN

KrikNN is a library that includes various components for neural network operations and tensor manipulations. This README provides an overview of the Tensor class and its functionality, as well as instructions for running the tests.

PyPI - Version PyPI - Status GitHub Actions Workflow Status GitHub Actions Workflow Status PyPI - License GitHub code size in bytes

Tensor Class

The Tensor class is a fundamental component of the KrikNN library, allowing you to perform various operations on multidimensional arrays.

Features

  • Initialization: Create tensors from data with support for different data types.
  • Matrix Multiplication: Use the @ operator to perform matrix multiplication.
  • Addition/Subtract: Use the + or the - operator to perform element-wise addition and subtraction.
  • Shape: Retrieve the shape of the tensor.

Usage

Here’s a brief guide on how to use the Tensor class:

import numpy as np
from kriknn.engine.tensor import Tensor

# Create tensors
tensor1 = Tensor([[1.0, 2.0], [3.0, 4.0]])
tensor2 = Tensor([[2.0, 0.0], [1.0, 2.0]])

# Matrix multiplication
result = tensor1 @ tensor2
print(result.data)  # Output: [[4.0, 4.0], [10.0, 8.0]]

# Addition
tensor3 = Tensor([[5.0, 6.0], [7.0, 8.0]])
result_add = tensor1 + tensor3
print(result_add.data)  # Output: [[6.0, 8.0], [10.0, 12.0]]

# Subtraction
tensor4 = Tensor([[5.0, 6.0], [7.0, 8.0]])
result_sub = tensor4 - tensor1
print(result_sub.data)  # Output: [[4.0, 4.0], [4.0, 4.0]]

Running Tests

The KrikNN library includes tests for the Tensor class to ensure its functionality. The tests are written using unittest and can be run using the following command:

python -m tests/run.py

Test Cases

  1. Initialization Tests: Verify that tensors are initialized correctly with various data types.
  2. Shape Tests: Ensure that the shape property returns the correct dimensions.
  3. Matrix Multiplication Tests: Check that matrix multiplication is performed correctly.
  4. Addition/Subtraction Tests: Validate that tensor addition and subtraction is working as expected.
  5. Error Handling Tests: Ensure that appropriate errors are raised for invalid operations.

Examples

The KrikNN library provides several examples to help you get started with tensor operations:

  • Basic Tensor Operations: Demonstrates basic tensor operations like matrix multiplication and addition/subtraction.
python examples/basic_tensor_operations.py

Contribution

Contributions to the KrikNN library are welcome. Please fork the repository, make your changes, and submit a pull request. Ensure that your changes are covered by tests and adhere to the existing code style.

License

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


Project details


Download files

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

Source Distribution

kriknn-0.1.2.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

kriknn-0.1.2-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file kriknn-0.1.2.tar.gz.

File metadata

  • Download URL: kriknn-0.1.2.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for kriknn-0.1.2.tar.gz
Algorithm Hash digest
SHA256 8e367f61f25095595c4683dc33d536080ccf1ee54327ee36899fc0a1a6542e1d
MD5 f748e3798f78a2fee7c4c7b9ae5c4dd7
BLAKE2b-256 a2f4cfcf688a197c4a7f03dca4df3ade71ad8d60a3c35a3aefe484a1a3961079

See more details on using hashes here.

File details

Details for the file kriknn-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: kriknn-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for kriknn-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ee8d1d187491f519f07d248bcfb3ec5b2c6b613691be1ab6e565cf620b425699
MD5 45287fa994b7c493ca4f9b274d48a88b
BLAKE2b-256 581a1ef5aa66205cbdb0178b25c7ac88d516ee3a2ff2749691ff807c49fe442d

See more details on using hashes here.

Supported by

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