Skip to main content

No project description provided

Project description

TensorNeko

Tensor Neural Engine Kompanion. An util library based on PyTorch and PyTorch Lightning.

Install

The tensorneko requires pytorch and pytorch-lightning (optional), and you can install it with below command.

pip install tensorneko  # for PyTorch only
pip install tensorneko[lightning]  # for PyTorch and Lightning

To use the library without PyTorch and PyTorch Lightning, you can install the util library (support Python 3.7 ~ 3.12 with limited features) with following command.

pip install tensorneko_util

Some cpu bound functions are implemented by rust-based pyo3, and you can install the optimized version with below command.

pip install tensorneko_lib

Some CLI tools are provided in the tensorneko_tool package, and you can install it with below command.

pipx install tensorneko_tool  # or `pip install tensorneko_tool`

Then you can use the CLI tools tensorneko in the terminal.

Neko Layers, Modules and Architectures

Build an MLP with linear layers. The activation and normalization will be placed in the hidden layers.

784 -> 1024 -> 512 -> 10

import tensorneko as neko
import torch.nn

mlp = neko.module.MLP(
    neurons=[784, 1024, 512, 10],
    build_activation=torch.nn.ReLU,
    build_normalization=[
        lambda: torch.nn.BatchNorm1d(1024),
        lambda: torch.nn.BatchNorm1d(512)
    ],
    dropout_rate=0.5
)

Build a Conv2d with activation and normalization.

import tensorneko as neko
import torch.nn

conv2d = neko.layer.Conv2d(
    in_channels=256,
    out_channels=1024,
    kernel_size=(3, 3),
    padding=(1, 1),
    build_activation=torch.nn.ReLU,
    build_normalization=lambda: torch.nn.BatchNorm2d(256),
    normalization_after_activation=False
)

All architectures, modules and layers

Layers:

  • Aggregation
  • Concatenate
  • Conv, Conv1d, Conv2d, Conv3d
  • GaussianNoise
  • ImageAttention, SeqAttention
  • MaskedConv2d, MaskedConv2dA, MaskedConv2dB
  • Linear
  • Log
  • PatchEmbedding2d
  • PositionalEmbedding
  • Reshape
  • Stack
  • VectorQuantizer

Modules:

  • DenseBlock
  • InceptionModule
  • MLP
  • ResidualBlock and ResidualModule
  • AttentionModule, TransformerEncoderBlock and TransformerEncoder
  • GatedConv

Architectures:

  • AutoEncoder
  • GAN
  • WGAN
  • VQVAE

Neko modules

All tensorneko.layer and tensorneko.module are NekoModule. They can be used in fn.py pipe operation.

from tensorneko.layer import Linear
from torch.nn import ReLU
import torch

linear0 = Linear(16, 128, build_activation=ReLU)
linear1 = Linear(128, 1)

f = linear0 >> linear1
print(f(torch.rand(16)).shape)
# torch.Size([1])

Neko IO

Easily load and save different modal data.

import tensorneko as neko
from tensorneko.io import json_data
from typing import List

# read video (Temporal, Channel, Height, Width)
video_tensor, audio_tensor, video_info = neko.io.read.video("path/to/video.mp4")
# write video
neko.io.write.video("path/to/video.mp4", 
    video_tensor, video_info.video_fps,
    audio_tensor, video_info.audio_fps
)

# read audio (Channel, Temporal)
audio_tensor, sample_rate = neko.io.read.audio("path/to/audio.wav")
# write audio
neko.io.write.audio("path/to/audio.wav", audio_tensor, sample_rate)

# read image (Channel, Height, Width) with float value in range [0, 1]
image_tensor = neko.io.read.image("path/to/image.png")
# write image
neko.io.write.image("path/to/image.png", image_tensor)
neko.io.write.image("path/to/image.jpg", image_tensor)

# read plain text
text_string = neko.io.read.text("path/to/text.txt")
# write plain text
neko.io.write.text("path/to/text.txt", text_string)

# read json as python dict or list
json_dict = neko.io.read.json("path/to/json.json")
# read json as an object
@json_data
class JsonData:
    x: int
    y: int

json_obj: List[JsonData] = neko.io.read.json("path/to/json.json", cls=List[JsonData])
# write json from python dict/list or json_data decorated object
neko.io.write.json("path/to/json.json", json_dict)
neko.io.write.json("path/to/json.json", json_obj)

Besides, the read/write for mat and pickle files is also supported.

Neko preprocessing

import tensorneko as neko

# A video tensor with (120, 3, 720, 1280)
video = neko.io.read.video("example/video.mp4").video
# Get a resized tensor with (120, 3, 256, 256)
resized_video = neko.preprocess.resize_video(video, (256, 256))

All preprocessing utils

  • resize_video
  • resize_image
  • padding_video
  • padding_audio
  • crop_with_padding
  • frames2video

if ffmpeg is available, you can use below ffmpeg wrappers.

  • video2frames
  • merge_video_audio
  • resample_video_fps
  • mp32wav

Neko Visualization

Variable Web Watcher

Start a web server to watch the variable status when the program (e.g. training, inference, data preprocessing) is running.

import time
from tensorneko.visualization.watcher import *
data_list = ... # a list of data
def preprocessing(d): ...

# initialize the components
pb = ProgressBar("Processing", total=len(data_list))
logger = Logger("Log message")
var = Variable("Some Value", 0)
line_chart = LineChart("Line Chart", x_label="x", y_label="y")
view = View("Data preprocessing").add_all()

t0 = time.time()
# open server when the code block in running.
with Server(view, port=8000):
    for i, data in enumerate(data_list):
        preprocessing(data) # do some processing here
        
        x = time.time() - t0  # time since the start of the program
        y = i # processed number of data
        line_chart.add(x, y)  # add to the line chart
        logger.log("Some messages")  # log messages to the server
        var.value = ...  # keep tracking a variable
        pb.add(1)  # update the progress bar by add 1

When the script is running, go to 127.0.0.1:8000 to keep tracking the status.

Tensorboard Server

Simply run tensorboard server in Python script.

import tensorneko as neko

with neko.visualization.tensorboard.Server(port=6006):
    trainer.fit(model, dm)

Matplotlib wrappers

Display an image of (C, H, W) shape by plt.imshow wrapper.

import tensorneko as neko
import matplotlib.pyplot as plt

image_tensor = ...  # an image tensor with shape (C, H, W)
neko.visualization.matplotlib.imshow(image_tensor)
plt.show()

Predefined colors

Several aesthetic colors are predefined.

import tensorneko as neko
import matplotlib.pyplot as plt

# use with matplotlib
plt.plot(..., color=neko.visualization.Colors.RED)

# the palette for seaborn is also available
from tensorneko_util.visualization.seaborn import palette
import seaborn as sns
sns.set_palette(palette)

Neko Model

Build and train a simple model for classifying MNIST with MLP.

from typing import Optional, Union, Sequence, Dict, List

import torch.nn
from torch import Tensor
from torch.optim import Adam
from torchmetrics import Accuracy
from lightning.pytorch.callbacks import ModelCheckpoint

import tensorneko as neko
from tensorneko.util import get_activation, get_loss


class MnistClassifier(neko.NekoModel):

    def __init__(self, name: str, mlp_neurons: List[int], activation: str, dropout_rate: float, loss: str,
        learning_rate: float, weight_decay: float
    ):
        super().__init__(name)
        self.weight_decay = weight_decay
        self.learning_rate = learning_rate

        self.flatten = torch.nn.Flatten()
        self.mlp = neko.module.MLP(
            neurons=mlp_neurons,
            build_activation=get_activation(activation),
            dropout_rate=dropout_rate
        )
        self.loss_func = get_loss(loss)()
        self.acc_func = Accuracy()

    def forward(self, x):
        # (batch, 28, 28)
        x = self.flatten(x)
        # (batch, 768)
        x = self.mlp(x)
        # (batch, 10)
        return x

    def training_step(self, batch: Optional[Union[Tensor, Sequence[Tensor]]] = None, batch_idx: Optional[int] = None,
        optimizer_idx: Optional[int] = None, hiddens: Optional[Tensor] = None
    ) -> Dict[str, Tensor]:
        x, y = batch
        logit = self(x)
        prob = logit.sigmoid()
        loss = self.loss_func(logit, y)
        acc = self.acc_func(prob.max(dim=1)[1], y)
        return {"loss": loss, "acc": acc}

    def validation_step(self, batch: Optional[Union[Tensor, Sequence[Tensor]]] = None, batch_idx: Optional[int] = None,
        dataloader_idx: Optional[int] = None
    ) -> Dict[str, Tensor]:
        x, y = batch
        logit = self(x)
        prob = logit.sigmoid()
        loss = self.loss_func(logit, y)
        acc = self.acc_func(prob.max(dim=1)[1], y)
        return {"loss": loss, "acc": acc}

    def configure_optimizers(self):
        optimizer = Adam(self.parameters(), lr=self.learning_rate, betas=(0.5, 0.9), weight_decay=self.weight_decay)
        return {
            "optimizer": optimizer
        }


model = MnistClassifier("mnist_mlp_classifier", [784, 1024, 512, 10], "ReLU", 0.5, "CrossEntropyLoss", 1e-4, 1e-4)

dm = ...  # The MNIST datamodule from PyTorch Lightning

trainer = neko.NekoTrainer(log_every_n_steps=100, gpus=1, logger=model.name, precision=32,
    callbacks=[ModelCheckpoint(dirpath="./ckpt",
        save_last=True, filename=model.name + "-{epoch}-{val_acc:.3f}", monitor="val_acc", mode="max"
    )])

trainer.fit(model, dm)

Neko Callbacks

Some simple but useful pytorch-lightning callbacks are provided.

  • DisplayMetricsCallback
  • EarlyStoppingLR: Early stop training when learning rate reaches threshold.

Neko Notebook Helpers

Here are some helper functions to better interact with Jupyter Notebook.

import tensorneko as neko
# display a video
neko.notebook.display.video("path/to/video.mp4")
# display an audio
neko.notebook.display.audio("path/to/audio.wav")
# display a code file
neko.notebook.display.code("path/to/code.java")

Neko Debug Tools

Get the default values from ArgumentParser args. It's convenient to use this in the notebook.

from argparse import ArgumentParser
from tensorneko.debug import get_parser_default_args

parser = ArgumentParser()
parser.add_argument("integers", type=int, nargs="+", default=[1, 2, 3])
parser.add_argument("--sum", dest="accumulate", action="store_const", const=sum, default=max)
args = get_parser_default_args(parser)

print(args.integers)  # [1, 2, 3]
print(args.accumulate)  # <function sum at ...>

Neko Evaluation

Some metrics function for evaluation are provided.

  • iou_1d
  • iou_2d
  • psnr_video
  • psnr_image
  • ssim_video
  • ssim_image

Neko Utilities

Misc functions

__: The arguments to pipe operator. (Inspired from fn.py)

from tensorneko.util import __, _
result = __(20) >> (_ + 1) >> (_ * 2) >> __.get
print(result)
# 42

Seq and Stream: A collection wrapper for method chaining with concurrent supporting.

from tensorneko.util import Seq, Stream, _
from tensorneko_util.backend.parallel import ParallelType
# using method chaining
seq = Seq.of(1, 2, 3).map(_ + 1).filter(_ % 2 == 0).map(_ * 2).take(2).to_list()
# return [4, 8]

# using bit shift operator to chain the sequence
seq = Seq.of(1, 2, 3) << Seq.of(2, 3, 4) << [3, 4, 5]
# return Seq(1, 2, 3, 2, 3, 4, 3, 4, 5)

# run concurrent with `for_each` for Stream
if __name__ == '__main__':
    Stream.of(1, 2, 3, 4).for_each(print, progress_bar=True, parallel_type=ParallelType.PROCESS)

Option: A monad for dealing with data.

from tensorneko.util import return_option

@return_option
def get_data():
    if some_condition:
        return 1
    else:
        return None

def process_data(n: int):
    if condition(n):
        return n
    else:
        return None
    

data = get_data()
data = data.map(process_data).get_or_else(-1)  # if the response is None, return -1

Eval: A monad for lazy evaluation.

from tensorneko.util import Eval

@Eval.always
def call_by_name_var():
    return 42

@Eval.later
def call_by_need_var():
    return 43

@Eval.now
def call_by_value_var():
    return 44


print(call_by_name_var.value)  # 42

Reactive

This library provides event bus based reactive tools. The API integrates the Python type annotation syntax.

# useful decorators for default event bus
from tensorneko.util import subscribe
# Event base type
from tensorneko.util import Event, EventBus

class LogEvent(Event):
    def __init__(self, message: str):
        self.message = message

# the event argument should be annotated correctly
@subscribe # run in the main thread
def log_information(event: LogEvent):
    print(event.message)


@subscribe.thread # run in a new thread
def log_information_thread(event: LogEvent):
    print(event.message, "in another thread")


@subscribe.coro # run with async
async def log_information_async(event: LogEvent):
    print(event.message, "async")


@subscribe.process # run in a new process
def log_information_process(event: LogEvent):
    print(event.message, "in a new process")

if __name__ == '__main__':
    # emit an event, and then the event handler will be invoked
    # The sequential order is not guaranteed
    LogEvent("Hello world!")
    EventBus.default.wait()  # it's not blocking, need to call wait manually before exit.
    # one possible output:
    # Hello world! in another thread
    # Hello world! async
    # Hello world!
    # Hello world! in a new process

Multiple Dispatch

dispatch: Multi-dispatch implementation for Python.

To my knowledge, 3 popular multi-dispatch libraries still have critical limitations. plum doesn't support static methods, mutipledispatch doesn't support Python type annotation syntax and multimethod doesn't support default argument. TensorNeko can do it all.

from tensorneko.util import dispatch

class DispatchExample:

    @staticmethod
    @dispatch
    def go() -> None:
        print("Go0")

    @staticmethod
    @dispatch
    def go(x: int) -> None:
        print("Go1")

    @staticmethod
    @dispatch
    def go(x: float, y: float = 1.0) -> None:
        print("Go2")

@dispatch
def come(x: int) -> str:
    return "Come1"

@dispatch.of(str)
def come(x) -> str:
    return "Come2"

Miscellaneous

StringGetter: Get PyTorch class from string.

import tensorneko as neko
activation = neko.util.get_activation("leakyRelu")()

Seed: The universal seed for numpy, torch and Python random.

from tensorneko.util import Seed
from torch.utils.data import DataLoader

# set seed to 42 for all numpy, torch and python random
Seed.set(42)

# Apply seed to parallel workers of DataLoader
DataLoader(
    train_dataset,
    batch_size=batch_size,
    num_workers=num_workers,
    worker_init_fn=Seed.get_loader_worker_init(),
    generator=Seed.get_torch_generator()
)

Timer: A timer for measuring the time.

from tensorneko.util import Timer
import time

# use as a context manager with single time
with Timer():
    time.sleep(1)

# use as a context manager with multiple segments
with Timer() as t:
    time.sleep(1)
    t.time("sleep A")
    time.sleep(1)
    t.time("sleep B")
    time.sleep(1)

# use as a decorator
@Timer()
def f():
    time.sleep(1)
    print("f")

Singleton: A decorator to make a class as a singleton. Inspired from Scala/Kotlin.

from tensorneko.util import Singleton

@Singleton
class MyObject:
    def __init__(self):
        self.value = 0

    def add(self, value):
        self.value += value
        return self.value


print(MyObject.value)  # 0
MyObject.add(1)
print(MyObject.value)  # 1

Besides, many miscellaneous functions are also provided.

Functions list (in tensorneko_util):

  • generate_inf_seq
  • compose
  • listdir
  • with_printed
  • ifelse
  • dict_add
  • as_list
  • identity
  • list_to_dict
  • get_tensorneko_util_path

Functions list (in tensorneko):

  • reduce_dict_by
  • summarize_dict_by
  • with_printed_shape
  • is_bad_num
  • count_parameters

TensorNeko Tools

Some CLI tools are provided in the tensorneko_tool package.

The gotify can send a message to the Gotify server, with the environment variables GOTIFY_URL and GOTIFY_TOKEN set.

tensorneko gotify "Script finished!"

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

tensorneko_lib-0.3.20.tar.gz (799.3 kB view details)

Uploaded Source

Built Distributions

tensorneko_lib-0.3.20-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (479.4 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

tensorneko_lib-0.3.20-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (529.2 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ s390x

tensorneko_lib-0.3.20-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (526.8 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

tensorneko_lib-0.3.20-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (443.6 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

tensorneko_lib-0.3.20-pp39-pypy39_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (807.7 kB view details)

Uploaded PyPy macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64

tensorneko_lib-0.3.20-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (479.2 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

tensorneko_lib-0.3.20-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (529.4 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ s390x

tensorneko_lib-0.3.20-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (527.1 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

tensorneko_lib-0.3.20-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (443.6 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

tensorneko_lib-0.3.20-pp38-pypy38_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (807.7 kB view details)

Uploaded PyPy macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64

tensorneko_lib-0.3.20-cp311-none-win_amd64.whl (305.5 kB view details)

Uploaded CPython 3.11 Windows x86-64

tensorneko_lib-0.3.20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (479.4 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tensorneko_lib-0.3.20-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (528.8 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

tensorneko_lib-0.3.20-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (526.8 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

tensorneko_lib-0.3.20-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (443.6 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

tensorneko_lib-0.3.20-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (439.4 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

tensorneko_lib-0.3.20-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (808.0 kB view details)

Uploaded CPython 3.11 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64

tensorneko_lib-0.3.20-cp310-none-win_amd64.whl (305.5 kB view details)

Uploaded CPython 3.10 Windows x86-64

tensorneko_lib-0.3.20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (479.5 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tensorneko_lib-0.3.20-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (528.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

tensorneko_lib-0.3.20-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (526.7 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

tensorneko_lib-0.3.20-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (443.6 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

tensorneko_lib-0.3.20-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (439.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

tensorneko_lib-0.3.20-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (808.1 kB view details)

Uploaded CPython 3.10 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64

tensorneko_lib-0.3.20-cp39-none-win_amd64.whl (305.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

tensorneko_lib-0.3.20-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (479.6 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tensorneko_lib-0.3.20-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (528.9 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

tensorneko_lib-0.3.20-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (526.6 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

tensorneko_lib-0.3.20-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (443.5 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

tensorneko_lib-0.3.20-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (439.4 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

tensorneko_lib-0.3.20-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (807.9 kB view details)

Uploaded CPython 3.9 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64

tensorneko_lib-0.3.20-cp38-none-win_amd64.whl (305.4 kB view details)

Uploaded CPython 3.8 Windows x86-64

tensorneko_lib-0.3.20-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (479.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

tensorneko_lib-0.3.20-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (528.8 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

tensorneko_lib-0.3.20-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (526.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

tensorneko_lib-0.3.20-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (443.2 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARMv7l

tensorneko_lib-0.3.20-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (439.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

tensorneko_lib-0.3.20-cp38-cp38-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (807.5 kB view details)

Uploaded CPython 3.8 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64

tensorneko_lib-0.3.20-cp37-none-win_amd64.whl (305.3 kB view details)

Uploaded CPython 3.7 Windows x86-64

tensorneko_lib-0.3.20-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (479.4 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

tensorneko_lib-0.3.20-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl (528.7 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ s390x

tensorneko_lib-0.3.20-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (526.3 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ppc64le

tensorneko_lib-0.3.20-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (443.3 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARMv7l

tensorneko_lib-0.3.20-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (439.2 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

tensorneko_lib-0.3.20-cp37-cp37m-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (807.5 kB view details)

Uploaded CPython 3.7m macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64

File details

Details for the file tensorneko_lib-0.3.20.tar.gz.

File metadata

  • Download URL: tensorneko_lib-0.3.20.tar.gz
  • Upload date:
  • Size: 799.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.7.4

File hashes

Hashes for tensorneko_lib-0.3.20.tar.gz
Algorithm Hash digest
SHA256 01abd96517f7dfc499c948f2dc985219a13222ba6bc96ed87c5e42a7bb0ee40e
MD5 15fc461a85f26e4f16edebe89d982dbb
BLAKE2b-256 392646bd9b4f47075cbdaa14822c94386eb2b445df92b6bd8e1a57c6ef98baa1

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39e62a5a85601a02310150ec502cc9c81a4266f5191ff233e6efbd42239e7a15
MD5 eefdc2ec11f9a5fd548627bb9a1f81fb
BLAKE2b-256 2f73209c8efc2010cfdbd4f1f07c2636d21e276b6699ca5a49697ec28c527630

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 788e3830c3492a84f0889ee39e0914cfb37987b120fcbd2553f8de929a773a85
MD5 a65f6b8fe567fe42fd2eec8424b2b023
BLAKE2b-256 6839a6a66e2e18759654a970384eb70376a05ff0c5496ddde1296e327a8bc179

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 275e0840de300c7587d418829d7ef9d5165d051a2d1999ecaf8794c034aa92cd
MD5 cbaa97a399a075be77d7c8e76c070232
BLAKE2b-256 09208a9a2a4f4c50b0882b6d7f926d6b8a77ea18bc970780606423996a7b3301

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 158afd7deb030ca315cd4f1bcab8195fc10ee7395e73cf16b707beee265205d2
MD5 18d2f27051c721ea18e1e037a282c6df
BLAKE2b-256 508ee0da884fed7ec09ec8248b658083324ae1c3593834b739df87fbba9979b5

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4fdc473322a22d133f456652eab9a129a493c735a779c8658b98516565c2fab2
MD5 8b6338f081b62d3b10765e2c4607d68c
BLAKE2b-256 f5714e82e59fe3616b316e9ee8eacdd75baf956799910063f6c419deabd657f0

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-pp39-pypy39_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-pp39-pypy39_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 bc61e1f7b0539df8585b5d6e91ece65c1bdc99ee86a30eec694bd60c1a0a5953
MD5 71ef42536fd2cd046ed330e0b568097a
BLAKE2b-256 590888c30a062cb2aa52a224eaec96084a3a3309ad080385681fca3681adc8c3

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5dbfc4b9a8204ad67b6627f23790a52d78c4d3b1de388b490500f029171bfd78
MD5 177fdf793b5c59719f2b8c755e69dc2c
BLAKE2b-256 c499500220eb4e7572504195cbe65700b3fe1992030861563f8ca9546ef4aca6

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 92eadf6f956cdb41ad6cbd053119781c7afe5db577bfe52c79b12353b89b9e9d
MD5 a7bd6d0cb250f219b98f61bcd44affe1
BLAKE2b-256 2f9525a441da91c872f90b7b53e5a02557a622768fe3a5501d5ff04c914a2ce2

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1d9cf1de81578ff08db471b58cc980d8a17693d9eef8ca7731ffc2169ea26334
MD5 ca53bc8f584d8dc4422ed474a4a25175
BLAKE2b-256 213931929a61141936a40fea37b560b38b7914fa04fcdbef7eec06bbe71ba264

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 e2713f76a4040165fb8d03f197119136ddbac6937177125392b807cf25b2c10f
MD5 c4290a7971e43eb0ef075e71aea677d7
BLAKE2b-256 00733f321e1194ff4d90902d9e8e3746d2343fc5d5b81deb06d404f7ef1247cf

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2f53e4a42fc41c881ba51fe171a9c46031573af4ca2811b9836a6cf48ae26322
MD5 48b5521172eecf4004cab06e1cce6600
BLAKE2b-256 0b65bf5a978148587611304cd95b629de006ab6ddaea2b68d80ce2b43b273ec7

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-pp38-pypy38_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-pp38-pypy38_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 6eb551b640d8fa476a749bf79a72b8a04f601b718b828f71160331676c7ee73e
MD5 5bfc071567d28bd994b762a3881e0515
BLAKE2b-256 1cf77139ca849a034a72010a282b6c9085236b58b79418f58336131e370596d2

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp311-none-win_amd64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 1c9896aa5afffe7753eca72222221c2846e7d9ad91685aac2218a580b4a177ea
MD5 11bde491e096893420bc250fb9d87ff9
BLAKE2b-256 292f2ebc065ce49a1dfa31cacd6c73542a0f1a0babe1ee83f36572b19bdac43c

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 04d34c716d6683d18b6dae575466be7e2806f5e8e762f6a20cad8ebcdab68c1d
MD5 c0da42255a6bcf118b04ab40c329a35a
BLAKE2b-256 04ed4bfe3c182df564d387fcbe76f845c7ac4c529cf6b7aa99de470fc62dff45

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 eb624e37a963631a30c5f63bab11547a2da7871bff4d33c0a0522e5209dea32e
MD5 4ffd801437c6180312e7b79019fdf473
BLAKE2b-256 6b4d16f1a88b4043c66ed347d9e8154f4396d369b6420cbb3edbcb704456b2c6

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 7a3a96b5367d4df954dd2ac719633de39448a94112f9d63657cf0f09eb8de656
MD5 3c2943fe01c6f4710e6d7cca12b6e390
BLAKE2b-256 c661540b12ee2014b2f0b92898996a70621a00b6141a87e1d36440aca605f08a

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 17c1b40bb32efea9b4a5ef587f236f8fd1942dedd3a3eea66b877290c0dcf89b
MD5 188af87587eb29f345b69ccfb7b7f945
BLAKE2b-256 17222b1059b4e1c77d80fcae22fa2c5b8214994c3d50e102b9d3c5f1a8d00d9a

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4dda8c470eddb47fcdec5a5908d162ff4192dc2e0385aed49849d14b660fa308
MD5 35dd53672bff90d706b7ec587bd13c6f
BLAKE2b-256 9ef9f3d1a511e462e9363c2fee62657dfd798e5a3819d86222aa4f3ccb7a54f6

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 b60702af08e675127b6beb3b25fa6fde4d272cbb16af785fbcadc7fb0f7e81a6
MD5 dfbea9dd9e053ec976353f2159af316f
BLAKE2b-256 748ef976e10110335dbbedb8ba629a6f10b8a3992bb1c3f2eec6ac071c82ab2e

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 8fbf08dedae3c68be379fc9d30dc77d3cbedff9d5857648240c8c81630932349
MD5 8a406792055a5c147ca8e5b717e7fd9c
BLAKE2b-256 a179f6a11878ebf15e975c5f225609924288aa49844c64fc4dae22e991367edc

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 947e26da4567967570b17783b508bf16001b8daa1b3378be9765ddfe0ed077f9
MD5 d077e6381cc1115b9b7454b4493f7a93
BLAKE2b-256 6252ca66f0583277dd4c159f23985cca906575c7879937157991c445597a9a45

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 26384c5e9d4efb3bb9e02fe0b7e76edaa4d446a3270ab98d9a529e5083732c41
MD5 9c3d8e90d2b33b8e9386469904e63d1c
BLAKE2b-256 847f483f70d63dba23d608012762480a5490358ee5068b4a36175391753374d2

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 15f89ccd021d6fe62ec5bd0993adeafb0885811b6256d2a81b4ca1cc9cf42ee7
MD5 e99a29b0ba50a6e70b506cc2af2910b2
BLAKE2b-256 6a29a0efa6bb6ad42fe34fe932055ad6176fbbd690428acd6574166b7a98619e

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 9ca1fb112802e18467a54460a6eb4cb7bc7b75cd78d97bffc92e9dc05e20db0a
MD5 aa05e803bc9bb79b1f79f90a0a5969f0
BLAKE2b-256 f63ce2d4509f4597e14b7470fe229c30d4e6d583c5274197bab03972d8dc8622

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 747587079d3bfd39cefa2eef61c8b53ffd53bf24caf322657025f1a360ccfc9a
MD5 e13216bd78df62233fff6ae06049862e
BLAKE2b-256 666b5f0c6ae7117b23a1ba41f5488a2fb77f276a931c681971a52124f4bd9b81

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 e0b7dfc0b741b9ef40b680e8797be209c35d8233bf5ed9aa84ee8ccd711b57e2
MD5 2119c7a83fe3dddeb05ac29cc21c0ec3
BLAKE2b-256 6e00fea88830f89d9ddfc53bafbf8c73f850374572ab21d18e1080c847eac98d

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp39-none-win_amd64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 81ae034829a73f97e322a022d63a5b59d289038f4426a2d645ff50c51c76ff13
MD5 e74ffb8e42a977babc059155ed43feeb
BLAKE2b-256 d79ad8c68b264767e7883baba2168843f71ab72cccab4f1c41cc100ce0890931

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 178dc4538171c9c32e0d9a29ecf17991edf186ff993279ffe428cc0f6e359a76
MD5 3bdf87999d22199ea95344b5eba17650
BLAKE2b-256 c9a198932ebadf28939cf7d5993357cfd2c97abe9f3cf6a8e573c4e95a46a94f

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 df3db6b6b1d1d838ba9703ffbc4788264b0a9607bbb0d399dc75317f97171f76
MD5 5d46c8bbfde542d626b32573864c6505
BLAKE2b-256 543f57a30c880f88684c0cfc1b69d4959020aa49451baeb026e822b86023c175

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d34a2386c77866fc5b3fa87ff425b6e644cbd9aaae9ec2d24f99b28c1a707ab6
MD5 825bc6b94c3529ed58e3a5732494b4b9
BLAKE2b-256 a2177cffa6366fd129b604630b4c97b552ad98c30b49d9bc830a266d29ce6f7c

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 74b57139aa8d2471ee19c7c1ef0eae99fcaa3bfc2a3a6b2c47ad008dcd7bafd8
MD5 870fcc6acce19a6266d4d74cfdbcdd88
BLAKE2b-256 49eaf4b379c8e6080cc2bad27b87d7a00e8fec518f68c8c37d06d5fab5e6730f

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f106f3448790663c647c0d6d8624f97b543b8daaa963ddb427ff101b119a10f1
MD5 ea83d74fd132914dc3f307c9d0164ec0
BLAKE2b-256 b2c7f854b4db3e41f39e535d880c151df79ea8647fb18b802777567c833f7e0e

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 0df2400d83d16db8d19765992b931a8088f9d01d71d5913ebcd949e433627c3b
MD5 a3fdae876bd3581e2bb4d3673dea5119
BLAKE2b-256 6489eac50c9dd2fa89e2b0a592c70f264b867842d2abc9c80486028c8ad73308

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp38-none-win_amd64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 4147ee37eda1709aa50d20727b02cd484313c326f26c2b108eb650ea4be3ef97
MD5 d2abe9e6a01a3431306cc3a1414eefd8
BLAKE2b-256 96b153ec73473e08ae5734ded52ef72bddabcf3e0f02447d6024860f4b8d6278

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee630fcf8993c90c143aaac51be272cee43fa7eb9fb57f6ef97e4139bd9fae80
MD5 6e393420171469bfe927a00f59534daf
BLAKE2b-256 edf73ed79d3ead0f9641c2ad0f1af1d2bc34922fddbe5153151dcc00ef6a33be

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 0a901dd6d94aec9d4dc683fe98428d39fb83955e24eb38e3f8a22efc10c57fa5
MD5 dad01fbfe85030b2c2260b713b68b82b
BLAKE2b-256 6d9915983e0f69c07b44d6b7c63a4a3f7d7b8d82287a059679127fa70e8c9875

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 0863398bfcd56a45a6b78352b1188882545b999ca3ef992a21f2aa7eaad91b37
MD5 14addeea0916848fe3f6ae4b526ee530
BLAKE2b-256 573d7fcb1797cbed21133cb8e5aa354a17ba3e1f589dea0d1630b9a12a5994a4

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 561abb7cf071d1601bc3671d3153c19bca948c5626e77ce1360c8d65ef2b1e01
MD5 944d0f06f964d2aac195d3314d03db5c
BLAKE2b-256 badccf24b89361bb9f6001d7cbe26cf02c4d69185f4716aa6039fb3222434b2e

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 17f73e740897a200ec434cc665a429d3dea55a84b47d5b7497d9d864ef459388
MD5 845082f1f7518d286f15c230a63390f0
BLAKE2b-256 325a526b3ae5cc6af6ad427f6978606bef57d2928a9326b5660822177d518faf

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp38-cp38-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp38-cp38-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 b16110ca4b419276ae015c7abb6c467a836fd4c82ad873afd378341d60679e57
MD5 86d3ac043c871403a21a2fbec0d321bb
BLAKE2b-256 9ff893c0685fa4f74409b81e7e4bb0e7c8e2f333beccf737e57c3069a7179f22

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp37-none-win_amd64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 deae0a5ab0303a814845e4b4c766165ea0f8736177f84a052393560c3f831994
MD5 f1c32193ff867c6a65793bd56c633593
BLAKE2b-256 a12d41a9a678155259babc1c6efb7ee0eb8487c74e5ab7a64cbd3e87e126ba3a

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2999e9db3b8b9c59b6c75dd5b400d598d8d20400b45757cdb8c94f9f2c840104
MD5 83a778b583c9aa912b5306cbfbee674a
BLAKE2b-256 5d6cfcd9fabe06aed146ecc67b7121df0d7856b41269e914b02ec41523c5afeb

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 bf01d84d9331cd3da1e7080b9b275c06ac6197832cff210761c1ec85a0522529
MD5 f769e8cb45f04102c5ef51c1d7644b25
BLAKE2b-256 8f40a6ada65f464d804d843387eec5ff7540d81bd3b36fc6e8d007d20d076005

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 01122bab3ecf0ff572cc6f8eb93f350d5dacf9ee3796c8de51c76ae64d7e421f
MD5 3ee01c93ead4396a9106b8d2164ffac4
BLAKE2b-256 206bedc58dd7c6577505747d8fa6e052d96df32a28f8f0b709afb832c56e5991

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 2e67ac1641613c55559376e3c436d1078b960529bb893bc9594211a13483b5e3
MD5 c79e4fbfef98980876277776f50db685
BLAKE2b-256 58b1b0e0f8d98a75ab8050f7e887052a7af0bf83fed01975bf8fd6948dc80da0

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 33f321e3e365719ca42e0da6f033b583f36ab2d9866ed7c559d0d6df0c98b1bf
MD5 6c19e811a2972ab03793305c73c88a52
BLAKE2b-256 399b0fa4a81fbd065cd5d1759a6103e6c43f6f9fc2227e19677b2e915ff94c5d

See more details on using hashes here.

File details

Details for the file tensorneko_lib-0.3.20-cp37-cp37m-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for tensorneko_lib-0.3.20-cp37-cp37m-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 75d6b9cde7ebefd4abc5ecd7e8da3a3600b52ff2ac4e1fec3a693f5548427153
MD5 4e548bd6097683c137097f54d13e28bb
BLAKE2b-256 1e6a8ab12055f0e4d774e29661ff552832f718ddeb92ec1d4049113f3148e302

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