TensorFlow implementation of the Lorentz Boost Network (LBN). https://arxiv.org/abs/1812.09722.
Project description
Lorentz Boost Network (LBN)
TensorFlow implementation of the Lorentz Boost Network from arXiv:1812.09722 [hep-ex].
Usage example
import tensorflow as tf
from lbn import LBN
# initialize the LBN, set 10 combinations and pairwise boosting
lbn = LBN(10, boost_mode=LBN.PAIRS)
# create a feature tensor based on input four-vectors
features = lbn(four_vectors)
# use the features as input for a subsequent, application-specific network
...
Or with TensorFlow 2 and Keras:
import tensorflow as tf
from lbn import LBN, LBNLayer
# start a sequential model
model = tf.keras.models.Sequential()
# add the LBN layer
input_shape = (6, 4)
model.add(LBNLayer(input_shape, 10, boost_mode=LBN.PAIRS))
# add a dense layer
model.add(tf.keras.layers.Dense(1024))
# continue builing and training the model
...
For more examples on how to set up the LBN with TensorFlow (eager mode and autograph / tf.function
) and Keras, see this gist.
Installation and dependencies
Via pip:
pip install lbn
NumPy and TensorFlow are the only dependencies. Both TensorFlow v1 and v2 are supported.
Testing
Tests should be run for Python 2 and 3 and for TensorFlow 1 and 2. The following commands assume you are in the root directory of the LBN respository:
python -m unittest test
# or via docker
for tag in 1.15.2 1.15.2-py3 2.1.0 2.2.0; do
docker run --rm -v `pwd`:/root/lbn -w /root/lbn tensorflow/tensorflow:$tag python -m unittest test
done
Contributing
If you like to contribute, we are happy to receive pull requests. Just make sure to add new test cases and run the tests. Also, please use a coding style that is compatible with our .flake8
config.
Development
- Original source hosted on GitHub
- Report issues, questions, feature requests on GitHub Issues
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file lbn-1.2.2.tar.gz
.
File metadata
- Download URL: lbn-1.2.2.tar.gz
- Upload date:
- Size: 13.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81e91cdad14817f666c8575a7136d5e43757d182937e03b68dcce39fc5e724d3 |
|
MD5 | 9896450b85d9945687f43d5da735cc97 |
|
BLAKE2b-256 | c4ca9460f03f334fe278b4f9d3c127133a0c683bb2deceda00c702a85888e6b7 |