Collection of deep learning modules and functionality for the TensorFlow-Keras framework
MIT License
.. raw:: html
<div align="center">
<img src="docs/source/_static/logo.png"><br><br>
</div>
.. image:: https://img.shields.io/badge/python-3.6+-blue.svg :alt: Supported Python versions
.. image:: https://img.shields.io/badge/tensorflow-2.7.2+-orange.svg :alt: Supported TensorFlow versions
.. image:: https://codecov.io/gh/eliorc/tavolo/branch/master/graph/badge.svg :target: https://codecov.io/gh/eliorc/tavolo :alt: Code test coverage
| tavolo
_ aims to package together valuable modules and functionality written for TensorFlow
_ high-level Keras API for ease of use.
| You see, the deep learning world is moving fast, and new ideas keep on coming.
| tavolo gathers implementations of these useful ideas from the community (by contribution, from Kaggle
_ etc.)
and makes them accessible in a single PyPI hosted package that compliments the tf.keras
_ module.
| Tavolo documentation
_
.. _Tavolo documentation
: https://tavolo.readthedocs.io/
| tavolo's API is straightforward and adopting its modules is as easy as it gets.
| In tavolo, you'll find implementations for basic like PositionalEncoding
_ and non-layer implementations that
can ease development, like the LearningRateFinder
_.
| For example, if we wanted to add head a Yang-style attention mechanism into our model and look for the optimal
learning rate, it would look something like:
.. code-block:: python3
import tensorflow as tf
import tavolo as tvl
model = tf.keras.Sequential([
tf.keras.layers.Embedding(input_dim=vocab_size, output_dim=embedding_size, input_length=max_len),
tvl.seq2vec.YangAttention(n_units=64), # <--- Add Yang style attention
tf.keras.layers.Dense(n_hidden_units, activation='relu'),
tf.keras.layers.Dense(1, activation='sigmoid')])
model.compile(optimizer=tf.keras.optimizers.SGD(), loss=tf.keras.losses.BinaryCrossentropy())
# Run learning rate range test
lr_finder = tvl.learning.LearningRateFinder(model=model)
learning_rates, losses = lr_finder.scan(train_data, train_labels, min_lr=0.0001, max_lr=1.0, batch_size=128)
### Plot the results to choose your learning rate
.. _tavolo
: https://github.com/eliorc/tavolo
.. _TensorFlow
: https://www.tensorflow.org/
.. _Kaggle
: https://www.kaggle.com
.. _tf.keras
: https://www.tensorflow.org/guide/keras
.. _PositionalEncoding
: https://tavolo.readthedocs.io/en/latest/embeddings.html#module-embeddings.PositionalEncoding
.. _MultiHeadedAttention
: https://tavolo.readthedocs.io/en/latest/seq2seq.html#multi-headed-self-attention
.. _LearningRateFinder
: https://tavolo.readthedocs.io/en/latest/learning.html#learning-rate-finder
| Want to contribute? Please read our Contributing guide
_.
.. _Contributing guide
: https://tavolo.readthedocs.io/en/latest/contributing.html