Metadata-Version: 2.1
Name: sony-custom-layers-dev
Version: 0.3.0.dev1
Summary: Sony Custom Layers package
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: <3.12,>=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: numpy <2
Requires-Dist: packaging
Provides-Extra: tf
Requires-Dist: tensorflow ==2.15.* ; extra == 'tf'
Provides-Extra: torch
Requires-Dist: torch ==2.4.* ; extra == 'torch'
Requires-Dist: torchvision ==0.19.* ; extra == 'torch'
Requires-Dist: onnx ==1.16.* ; extra == 'torch'
Requires-Dist: onnxruntime ==1.19.* ; extra == 'torch'
Requires-Dist: onnxruntime-extensions ==0.12.* ; extra == 'torch'

# Sony Custom Layers (SCL)

Sony Custom Layers (SCL) is an open-source project implementing detection post process NN layers not supported by the TensorFlow Keras API or Torch's torch.nn for the easy integration of those layers into pretrained models.

## Table of Contents

- [Getting Started](#getting-started)
  - [Installation](#installation)
  - [Supported Versions](#supported-versions)
- [API](#api)
  - [TensorFlow API](#tensorflow-api)
  - [PyTorch API](#pytorch-api)
- [License](#license)


## Getting Started

This section provides an installation and a quick starting guide.

### Installation

To install the latest stable release of SCL, run the following command:
```
pip install sony-custom-layers
```
By default, no framework dependencies are installed.
To install SCL including the latest tested dependencies (up to patch version) for TensorFlow:
```
pip install sony-custom-layers[tf]
```
To install SCL including the latest tested dependencies (up to patch version) for PyTorch/ONNX/OnnxRuntime:
```
pip install sony-custom-layers[torch]
```
### Supported Versions

#### TensorFlow

| **Tested FW versions** | **Tested Python version** | **Serialization** |
|------------------------|---------------------------|-------------------|
| 2.10                   | 3.8-3.10                  | .h5               |
| 2.11                   | 3.8-3.10                  | .h5               |
| 2.12                   | 3.8-3.11                  | .h5  .keras       |
| 2.13                   | 3.8-3.11                  | .keras            |
| 2.14                   | 3.9-3.11                  | .keras            |
| 2.15                   | 3.9-3.11                  | .keras            |

#### PyTorch

| **Tested FW versions**                                                                                                   | **Tested Python version** | **Serialization**              |
|--------------------------------------------------------------------------------------------------------------------------|---------------------------|--------------------------------|
| torch 2.0-2.4<br/>torchvision 0.15-0.19<br/>onnxruntime 1.15-1.19<br/>onnxruntime_extensions 0.8-0.12<br/>onnx 1.14-1.16 | 3.8-3.11                  | .onnx (via torch.onnx.export)  |

## API
For sony-custom-layers API see https://sony.github.io/custom_layers

### TensorFlow API
For TensorFlow layers see
[KerasAPI](https://sony.github.io/custom_layers/sony_custom_layers/keras.html)

To load a model with custom layers in TensorFlow, see [custom_layers_scope](https://sony.github.io/custom_layers/sony_custom_layers/keras.html#custom_layers_scope)

### PyTorch API
For PyTorch layers see
[PyTorchAPI](https://sony.github.io/custom_layers/sony_custom_layers/pytorch.html)

No special handling is required for torch.onnx.export and onnx.load.

For OnnxRuntime support see [load_custom_ops](https://sony.github.io/custom_layers/sony_custom_layers/pytorch.html#load_custom_ops) 

## License
[Apache License 2.0](LICENSE.md).


