Metadata-Version: 2.2
Name: airontools
Version: 0.1.56
Summary: Machine learning tools to complement the AIronSuit package.
Home-page: https://github.com/AtrejuArtax/airontools
Author: Claudi Ruiz Camps
Author-email: claudi_ruiz@hotmail.com
License: BSD
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: absl-py==2.1.0; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: astunparse==1.6.3; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: certifi==2025.1.31; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: charset-normalizer==3.4.1; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: flatbuffers==25.2.10; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: gast==0.6.0; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: google-pasta==0.2.0; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: grpcio==1.71.0; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: h5py==3.13.0; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: idna==3.10; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: joblib==1.4.2; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: keras==3.9.0; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: libclang==18.1.1; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: markdown-it-py==3.0.0; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: markdown==3.7; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: markupsafe==3.0.2; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: mdurl==0.1.2; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: ml-dtypes==0.4.1; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: namex==0.0.8; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: numpy==2.0.2; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: opt-einsum==3.4.0; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: optree==0.14.1; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: packaging==24.2; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: protobuf==5.29.3; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: pygments==2.19.1; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: requests==2.32.3; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: rich==13.9.4; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: scikit-learn==1.6.1; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: scipy==1.15.2; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: setuptools==76.0.0; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: six==1.17.0; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: tensorboard-data-server==0.7.2; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: tensorboard==2.18.0; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: tensorflow-io-gcs-filesystem==0.37.1; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: tensorflow==2.18.0; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: termcolor==2.5.0; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: threadpoolctl==3.6.0; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: typing-extensions==4.12.2; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: urllib3==2.3.0; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: werkzeug==3.1.3; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: wheel==0.45.1; python_full_version >= "3.10.12" and python_version < "3.11"
Requires-Dist: wrapt==1.17.2; python_full_version >= "3.10.12" and python_version < "3.11"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: requires-dist
Dynamic: summary

# AIronTools

AIronTools (Beta) is a Python library that provides the user with higher level state-of-the-art deep learning tools built to work with 
[tensorflow](https://github.com/tensorflow/tensorflow) as a backend. The main goal of this repository is to enable fast model
design for both POCs and production.

Key features:

1. Out-of-the-box models ready to be used.
2. Block constructor to build customised blocks/models.
3. Layer constructor to build customised layers such as sequential, convolutional, self-attention or dense, and combinations of them.
4. Preprocessing tools.
5. On the fly non-topological hyper-parameter optimization. For now only the dropout regularization is compatible with this feature, in the future others such as l1 and l2 regularization will be compatible too.
6. Latent representations for visualization purposes.
   
### Installation

`pip install airontools`

### Custom Keras subclass to build a variational autoencoder (VAE) with airontools and compatible with [aironsuit](https://github.com/AtrejuArtax/aironsuit/)

``` python
import numpy as np
import tensorflow as tf
from airontools.constructors.models.unsupervised.vae import VAE
from numpy.random import normal

tabular_data = np.concatenate(
    [
        normal(loc=0.5, scale=1, size=(100, 10)),
        normal(loc=-0.5, scale=1, size=(100, 10)),
    ]
)
model = VAE(
    input_shape=tabular_data.shape[1:],
    latent_dim=3,
)
model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.001))
model.fit(
    tabular_data,
    epochs=10,
)
print(f"VAE evaluation: {model.evaluate(tabular_data)['loss']:.4f}")

```

### More examples

see usage examples in [aironsuit/examples](https://github.com/AtrejuArtax/aironsuit/tree/master/examples)
