Skip to content

oeg-upm/TINTOlib-Crash_Course

Repository files navigation

Crash Course on TINTOlib: Convert Tabular Data into Synthetic Images for Vision-Based Deep Neural Networks

License Python Version Documentation Status Open In Colab - TensorFlow CNN Open In Colab - TensorFlow CNN + MLP Open In Colab - TensorFlow ViT Open In Colab - TensorFlow ViT + MLP Ask DeepWiki PyPI Downloads

TINTO Logo

🎉 New Free Course on Udemy! (Espanish) 🎉

We’ve just launched a 100% free course on Udemy about using TINTOlib and developing Hybrid Neural Networks.

Learn how to turn tabular data into synthetic images and apply CNNs, ViTs, and hybrid architectures like a pro.

Access the Course on Udemy


📺 VideoTutorial Course (English/Spanish)

🎥 Prefer not to register on Udemy or looking for the English version of the course? No worries — you can follow the full course directly on GitHub!

This hands-on tutorial includes bilingual videos (English/Spanish) and practical notebooks to help you learn how to use TINTOlib with deep learning models like CNNs, ViTs, and hybrid architectures.

Access the Course on GitHub


🧠 Description

This repository provides a comprehensive crash course on using TINTOlib, a Python library designed to transform tabular data into synthetic images for machine learning tasks. It includes videotutorials, slides and Jupyter notebooks that demonstrate how to apply state-of-the-art vision models like Vision Transformers (ViTs) and Convolutional Neural Networks (CNNs) to problems such as regression and classification, using TINTOlib for data transformation.

The repository also features Hybrid Neural Networks (HyNNs), where one branch is an MLP designed to process tabular data, while another branch—either CNN or ViT—handles the synthetic images. This architecture leverages the strengths of both data formats for enhanced performance on complex machine learning tasks. Ideal for those looking to integrate image-based deep learning techniques into tabular data problems.

🎬 TINTOlib — Overview Video (English)

TINTOlib-video-En.mp4

🔎 Explore TINTOlib with DeepWiki

TINTOlib has a dedicated space on DeepWiki, where you can explore semantic documentation, relevant links, bibliography, and answers to frequently asked questions about its use and application.

Ask DeepWiki


📚 Materials

This TINTOlib crash course is organized into the following main folders:

Folder Description
0_Complete course Contains full course materials, including PDF presentations on ML, deep learning, CNNs, Transformers, and synthetic images. Inside, the Jupyters Notebooks folder provides step-by-step tutorials and practical exercises.
1_Notebooks Practical notebooks for various tasks and frameworks.
Challenge · Lazypredict · Pytorch · Tensorflow
2_Data Datasets for binary/multiclass classification or regression tasks.
Binary Classification · Multiclass · Regression
3_Images Images and diagrams used throughout the documentation and notebooks.
4_ECAI2024_Slide Slides for the ECAI 2024 tutorial session.
5_TINTOlib Videotutorial course English/Spanish video course with theory, slides, and practical notebooks on CNNs, ViTs, and hybrid architectures.

🔧 Features

  • Input formats: CSV or Pandas DataFrame
  • Designed for tidy data (target column last)
  • Output: grayscale images from reduction and transformation methods
  • Compatible with Linux, Windows, macOS
  • Requires Python 3.7+

🚀 Vision-based Neural Network Architectures

Using synthetic images, experiment with either vision models like CNNs or ViTs, and explore hybrid models. Below are the architectures that will be presented, and the ones you will modify and use during the session:

  • Synthetic images using CNN
    Tabular-to-Image CNN

  • Synthetic images using Hybrid Neural Network with ViT (HyViT)
    Tabular-to-Image HyNNViT


🧪 Methods for Tabular-to-Image Transformation

All the methods presented can be called using the TINTOlib library. The methods presented include:

Models Class Hyperparameters
TINTO TINTO() problem normalize verbose pixels algorithm blur submatrix amplification distance steps option times train_m zoom random_seed
IGTD IGTD() problem normalize verbose scale fea_dist_method image_dist_method error max_step val_step switch_t min_gain zoom random_seed
REFINED REFINED() problem normalize verbose hcIterations n_processors zoom random_seed
BarGraph BarGraph() problem normalize verbose pixel_width gap zoom
DistanceMatrix DistanceMatrix() problem normalize verbose zoom
Combination Combination() problem normalize verbose zoom
SuperTML SuperTML() problem normalize verbose pixels feature_importance font_size random_seed
FeatureWrap FeatureWrap() problem normalize verbose size bins zoom
BIE BIE() problem normalize verbose precision zoom

💬 More information


🧪 Citing TINTO:

If you used TINTOlib with Hybrid Neural Networks in your work, please cite the **IEEE Journal of Selected Topics in Signal Processing:

@ARTICLE{10946146,
    author={Castillo-Cara, Manuel and Martínez-Gómez, Jesus and Ballesteros-Jerez, Javier and García-Varea, Ismael and García-Castro, Raúl and Orozco-Barbosa, Luis},
    journal={IEEE Journal of Selected Topics in Signal Processing}, 
    title={MIMO-Based Indoor Localisation with Hybrid Neural Networks: Leveraging Synthetic Images from Tidy Data for Enhanced Deep Learning}, 
    year={2025},
    volume={},
    number={},
    pages={1-13},
    keywords={Location awareness;Accuracy;Neural networks;Measurement;Deep learning;Complexity theory;Antennas;Antenna measurements;Base stations;Signal processing algorithms;Massive MIMO;Deep Learning;Hybrid Neural Network;Synthetic Images;Positioning;Indoor Localisation},
    doi={10.1109/JSTSP.2025.3555067}}

If you used TINTO in your work, please cite the SoftwareX:

@article{softwarex_TINTO,
    title = {TINTO: Converting Tidy Data into Image for Classification with 2-Dimensional Convolutional Neural Networks},
    journal = {SoftwareX},
    author = {Manuel Castillo-Cara and Reewos Talla-Chumpitaz and Raúl García-Castro and Luis Orozco-Barbosa},
    volume={22},
    pages={101391},
    year = {2023},
    issn = {2352-7110},
    doi = {https://doi.org/10.1016/j.softx.2023.101391}
}

And use-case developed in INFFUS Paper

@article{inffus_TINTO,
    title = {A novel deep learning approach using blurring image techniques for Bluetooth-based indoor localisation},
    journal = {Information Fusion},
    author = {Reewos Talla-Chumpitaz and Manuel Castillo-Cara and Luis Orozco-Barbosa and Raúl García-Castro},
    volume = {91},
    pages = {173-186},
    year = {2023},
    issn = {1566-2535},
    doi = {https://doi.org/10.1016/j.inffus.2022.10.011}
}

👥 Authors


🏛️ Institutions

Ontology Engineering Group Universidad Politécnica de Madrid Universidad Nacional de Educación a Distancia Universidad de Castilla-La Mancha

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •