TensorCRO: A Tensorflow-based implementation of the Coral Reef Optimization algorithm.
Project description
TensorCRO: A Tensorflow-based implementation of the Coral Reef Optimization algorithm.
Table of contents
About
Implementation author: A.Palomo-Alonso (alberto.palomo@uah.es)
Original Algorithm author: S.Salcedo-Sanz (sancho.salcedo@uah.es)
Universidad de Alcalá (Madrid - Spain). Escuela Politécnica Superior
Signal Processing and Communications Department (TDSC)
This is a Tensorflow-based implementation of the Coral Reef Optimization algorithm. The algorithm is implemented as a Tensorflow graph, which allows to run it in GPU and TPU. The algorithm is implemented as a set of substrate layers that can be combined with other algorithms such as Differential Evolution, Harmony Search and Random Search. The framework also allows to implement crossover operators as blxalpha, gaussian, uniform, masked and multipoint.
The framework also includes a Jupyter Notebook with an example of use of the algorithm.
What's new?
1.0.0
- First release.
- CRO-SL: Coral Reef Optimization algorithm with substrate layers.
- GPU runnable: The algorithm can be run in GPU and TPU as a graph, with +``x2` speed-up over the conventional implementations.
- Substrate crossovers: The framework allows to implement crossover operators as blxalpha, gaussian, uniform, masked and multipoint.
- Algorithms: The framework allows to implement algorithms as substrate layers such as Differential Evolution, Harmony Search and Random Search.
- Watch Replay: The algorithm also allows to watch the replay of the solutions found in the training process, with an interactive GUI.
- Jupyter Notebook: The framework includes a Jupyter Notebook with example of use for the Max-Ones-From-Zeros problem.
1.2.0
- Progress bar: The framework now also includes a progress bar to monitor the training process.
- Minor bug fixing.
- Jupyter Notebook: The framework includes a Jupyter Notebook with example of use for the Max-Ones-From-Zeros problem.
Install
To install it you must install the dependencies. Then, you can install the package with the following command using PIP:
pip install tensorcro
Or you can clone the repository and install it with the following commands using Git:
git clone https://github.com.iTzAlver/TensorCRO.git
cd TensorCRO/dist/
pip install ./tensorcro-1.2.0-py3-none-any.whl
Requirements
- Python 3.6 or higher
- Tensorflow 2.0 or higher
- Numpy 1.18.1 or higher
- Matplotlib 3.1.3 or higher
- Pandas 1.0.1 or higher
- CUDA for GPU support (optional but strongly recommended)
Usage:
We have a JuPyter Notebook with an example of use of the algorithm. You can find it in the folder /multimedia/notebooks
of the repository.
Cite:
If you use this code, please cite the following paper:
@inproceedings{palomo2022tensorcro,
title={TensorCRO: A Tensorflow-based implementation of the Coral Reef Optimization algorithm},
author={Palomo-Alonso, A and Salcedo-Sanz, S},
journal={arXiv preprint arXiv:X.Y},
year={2022}
}
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
Built Distribution
File details
Details for the file tensorcro-1.2.0.tar.gz
.
File metadata
- Download URL: tensorcro-1.2.0.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e24c8a0067e4a04e7e10c2485d088603a73a22380bb68ecbfcd6a7057f7a87d9 |
|
MD5 | 62e96a5554634dfd71ed0e257088fa5c |
|
BLAKE2b-256 | 89aac931a22b625c8ced4dd9e50c4c3ff7f8b24c05139609abe26747f56db000 |
File details
Details for the file tensorcro-1.2.0-py3-none-any.whl
.
File metadata
- Download URL: tensorcro-1.2.0-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 286f09a74bf146f97d5a0a1c9ff842b587e0e55663a0860e12dea2828ca12850 |
|
MD5 | 6a940de80814e5b4e8024db250b62f10 |
|
BLAKE2b-256 | 7e39ebe81e8077de49959b7d3166a357740cae761e3d1a81a0a9d07258f773c3 |