Parallelized rotation and flipping INvariant Kohonen maps
Project description
Parallelized rotation and flipping INvariant Kohonen maps (PINK)
Requirements
- C++ with ISO 14 standard (GCC 6.1 and above)
- CMake >= 3.0
- CUDA >= 9.1 (highly recommended because of the speed-up)
- conan.io (optional for C++ dependencies) or
- PyBind11 (optional for Python interface)
- google-test 1.8.1 (optional for unit tests)
- doxygen 1.8.13 (optional for developer documentation)
Conan.io will install automatically the C++ dependencies (PyBind11 and google-test). Otherwise you can also install these libraries yourself.
Installation
We provide deb- and rpm-packages at https://github.com/HITS-AIN/PINK/releases
or you can install PINK from the sources:
cmake -DCMAKE_INSTALL_PREFIX=<INSTALL_PATH> .
make install
Usage
To train a the self-organizing map (SOM) please execute
Pink --train <image-file> <result-file>
where image-file
is the input file of images for the training and result-file
is the output file for the trained SOM. All files are in binary mode described here.
To map an image to the trained SOM please execute
Pink --map <image-file> <result-file> <SOM-file>
where image-file
is the input file of images for the mapping, SOM-file
is the input file for the trained SOM, and result-file
is the output file for the resulting heatmap.
Please use also the command Pink -h
to get more informations about the usage and the options.
Python scripts
For conversion and visualization of images and SOM some python scripts are available.
- convert_data_binary_file.py Convert binary data file from PINK version 1 to 2
- show_heatmap.py: Visualize the mapping result
- show_images.py: Visualize binary images file format
- show_som.py: Visualize binary SOM file format
- train.py: SOM training using the PINK Python interface
Benchmarks
The input data for the SOM training are radio-synthesis images of Radio Galaxy Zoo containing 176750 images of the dimension 124x124. The SOM layout is hexagonal of the dimension 21x21 which has 331 neurons (see image above). The size of the neurons is 64x64. The accuracy for the rotational invariance is 1 degree and the flip invariance is used.
PINK 1 | Pink 2 | |
---|---|---|
CPU-1 | 35373 | |
CPU-1 + NVIDIA Tesla P40 | 3069 | 909 |
CPU-1 + 2x NVIDIA Tesla P40 | 2069 | 636 |
CPU-1 + 4x NVIDIA Tesla P40 | 1891 | 858 |
CPU-2 + NVIDIA RTX 2080 | 673 | |
CPU-3 + NVIDIA GTX 750 Ti | 7185 |
All times are in seconds.
- CPU-1: Intel Gold 5118 (2 sockets, 12 physical cores per socket)
- CPU-2: Intel Core i7-8700K (1 socket, 6 physical cores per socket)
- CPU-3: Intel Core i7-4790K (1 socket, 4 physical cores per socket)
Publication
Kai Lars Polsterer, Fabian Gieseke, Christian Igel, Bernd Doser, and Nikos Gianniotis. Parallelized rotation and flipping INvariant Kohonen maps (PINK) on GPUs. 24th European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning (ESANN), pp. 405-410, 2016. pdf
License
Distributed under the GNU GPLv3 License. See accompanying file LICENSE or copy at http://www.gnu.org/licenses/gpl-3.0.html.
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 Distributions
Hashes for astro_pink-2.4-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11755880cb6a3ccf65ec7d6337a871b7be4a16e2159326b1e7bc440ac5cc30c3 |
|
MD5 | f8faf8c0ada12272fc8acd99d609eaa2 |
|
BLAKE2b-256 | f3523428e1950af4bf97d2e561aa653eb144614a38c85d910286af89bd061fdb |
Hashes for astro_pink-2.4-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e24e127c1c85ada44e4c37333ed1a95818c05bce538cc9a84014c1f43032f19 |
|
MD5 | 0fa70cf25218b376fe8cbbd78360adc2 |
|
BLAKE2b-256 | 65ea9a6a14b80b952789e5f92f9ad384b30604aeba2a3dd6ed21fc50f57f84c2 |
Hashes for astro_pink-2.4-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d893eb03abf911f34c0a91048cd0762800a848b6145e5ff91ae898ba004cf44 |
|
MD5 | 1656a346dc7732181842938326031bb1 |
|
BLAKE2b-256 | 93db974507ec36ce8c85b0aab86f7bdb90055de1609fd9ab02337310955508e5 |