{"id":14958674,"url":"https://github.com/itzalver/basenet-api","last_synced_at":"2026-06-04T13:00:29.689Z","repository":{"id":62116886,"uuid":"556673531","full_name":"iTzAlver/BaseNet-API","owner":"iTzAlver","description":"A simple way to build ML models with Keras and Tensorflow as base frameworks.","archived":false,"fork":false,"pushed_at":"2023-02-07T08:24:47.000Z","size":81937,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-27T17:26:42.327Z","etag":null,"topics":["api","deep-learning","keras","machine-learning","python","ray","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iTzAlver.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-10-24T09:43:27.000Z","updated_at":"2024-03-13T19:06:43.000Z","dependencies_parsed_at":"2023-02-17T23:31:22.273Z","dependency_job_id":null,"html_url":"https://github.com/iTzAlver/BaseNet-API","commit_stats":null,"previous_names":["itzalver/basenet_api"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/iTzAlver/BaseNet-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iTzAlver%2FBaseNet-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iTzAlver%2FBaseNet-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iTzAlver%2FBaseNet-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iTzAlver%2FBaseNet-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iTzAlver","download_url":"https://codeload.github.com/iTzAlver/BaseNet-API/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iTzAlver%2FBaseNet-API/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33905359,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","deep-learning","keras","machine-learning","python","ray","tensorflow"],"created_at":"2024-09-24T13:17:48.217Z","updated_at":"2026-06-04T13:00:29.659Z","avatar_url":"https://github.com/iTzAlver.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BaseNet: A simpler way to build AI models.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/iTzAlver/basenet_api/main/doc/multimedia/basenet_logo.png\" width=\"400px\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/iTzAlver/basenet_api/blob/main/LICENSE\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/license/iTzAlver/basenet_api?color=purple\u0026style=plastic\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/iTzAlver/basenet_api/tree/main/test\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/tests-passed-green?color=green\u0026style=plastic\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/iTzAlver/basenet_api/blob/main/requirements.txt\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/requirements-pypi-red?color=red\u0026style=plastic\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://htmlpreview.github.io/?https://github.com/iTzAlver/basenet_api/blob/main/doc/basenet.html\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/doc-available-green?color=yellow\u0026style=plastic\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/iTzAlver/BaseNet-API/releases/tag/1.5.0-release\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/release-1.5.0-white?color=white\u0026style=plastic\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://www.tensorflow.org/\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/dependencies-tensorflow-red?color=orange\u0026style=for-the-badge\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://keras.io/\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/dependencies-keras-red?color=red\u0026style=for-the-badge\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://www.ray.io/\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/dependencies-ray-red?color=blue\u0026style=for-the-badge\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# Basenet API Package - 1.9.5:  (2.0.0 Is coming!!)\n\nThis package implements an API over Keras and Tensorflow to build Deep Learning models easily without losing the\nframework flexibility. BaseNet API tries to implement almost everything from a few lines of code.\n\n\u003e **Disclaimer**: This API is under development. This means that there isn't a stable release yet.\n\u003e However, some features are stable and can be used. Check the tutorials for more info. \n\u003e Please, check the roadmap below to see the future updates.\n\n\u003e Any feature request is wellcome and appreciated; and has a high probability to be implemented.\n\n\u003e Any issue is wellcome and appreciated; and it will often be inspected.\n\n## About ##\n\n    Author: A.Palomo-Alonso (a.palomo@uah.es)\n    Universidad de Alcalá.\n    Escuela Politécnica Superior.\n    Departamento de Teoría De la Señal y Comunicaciones (TDSC).\n    ISDEFE Chair of Research.\n\n## Features\n\n#### **MACHINE LEARNING**\n* **Feature 01:** Database train, validation and test automatic and random segmentation for DeepLearning.\n* **Feature 02:** Solving optimization problems for MetaHeuristic models.\n\n#### **EFFICIENCY**\n* **Feature 03:** Real multiprocessing training process (CPU usage optimization).\n* **Feature 04:** Automatic and custom GPU usage and assignment.\n\n#### **SIMPLICITY**\n* **Feature 05:** Easy-to-use API.\n* **Feature 06:** API documentation.\n* **Feature 07:** JuPyter Notebooks tutorials included.\n* **Feature 08:** Python Packaging and PyPi indexing.\n\n#### **MONITORIZATION**\n* **Feature 09:** Real-time logging.\n* **Feature 10:** Dashboards included.\n* **Feature 11:** Model printing and easy debugging.\n\n#### **CONNECTIVITY**\n* **Feature 12:** Model merging and multiple model inputs.\n* **Feature 13:** Computational cluster linking.\n* **Feature 14:** The different parts of the API are designed to interact.\n* **Feature 15:** It allows to create dynamic databases for data ingestion and math problems that require synthetic data.\n\n#### **RELIABILITY**\n* **Feature 16:** Depends on huge and reliable frameworks: KERAS, TENSORFLOW, RAY.\n* **Feature 17:** Code updating and active support.\n\n\n### Cons:\n#### **FLEXIBILITY**\n* An API must look for a balance between simplicity and flexibility. In this case, we bet on simplicity; but the API\nis still highly flexible.\n* The API is designed for high level research and design. But it is not optimal for low-level research.\n\n#### **DEPENDENCE**\n* This API is built over highly reliable frameworks, however, the API depends on those frameworks to run the models.\n\n#### **DEPLOYMENT**\n* The API can not deploy models by itself yet in this current version. But I am planning!\n\n\n### Roadmap:\n#### Discipline coverage:\n- [x] Database building.\n- [x] Supervised learning.\n- [x] MetaHeuristic optimization.\n- [ ] Unsupervised learning. (Planning in 3.0 release)\n- [ ] Reinforcement learning. (Planning in 4.0 release)\n- [ ] Computer Vision. (Planning in 5.0 release)\n- [ ] Natural Language Processing. (Will be in development from 3.0 to 6.0)\n\n#### Feature roadmap:\n\n- [x] Feeder databases.\n- [x] Computational clustering.\n- [x] Monitoring.\n\n\n- [ ] BaseNetDeployment: \n  - Deploy your model in your infrastructure with high connectivity and scalability. \n  - With preprocess, model, postprocess and front-end sector.\n  - Automatic workload balance (probably with ``Ray`` or ``Spark`` clusters).\n  - Dynamic training after deployment. The model will still be learning from input data if desired.\n\n\n- [ ] Reinforcement learning:\n  - This will be hard to add in deployment.\n  - Custom environments.\n  - Connectivity with BaseNetCompiler: It will work with RL policy and DL!\n  - State-of-the-art RL.\n\n\n- [ ] Computer Vision:\n  - It is already possible to be implemented in DeepLearning API; but can be improved.\n  - Database visualization.\n  - Database size optimization.\n  - Computer vision utils.\n\n\n- [ ] Natural Language Processing:\n  - Hard to tell here, this discipline is very ad-hoc, and it is hard to pack it in an API.\n  - Transformers, LSTM and Word Vectorization will be included.\n  - Preprocessing will be a must.\n  - Probably will use ``HuggingFace`` package.\n  - Will be in constant development.\n\n\n## What's new?\n\n### \u003c 0.1.0\n1. BaseNetModel included.\n2. BaseNetDatabase included.\n3. BaseNetCompiler included.\n4. Inheritance from CorNetAPI project.\n5. Multi-processing fitting.\n6. Tensorboard launching.\n\n### 0.2.0\n1. BaseNetResults included (working).\n2. Now the model is callable.\n3. Switched print to logging.\n4. Project documentation.\n\n\n### 1.0.0 - 1.0.3\n1. Python packaging\n3. 1.0.x: Upload bug solving.\n\n### 1.1.0\n1. Functional package.\n2. PyPi indexing.\n\n### 1.2.0:\n1. Loss results included in the BaseNetResults while multiprocessing.\n2. GPU auto set up to avoid TensorFlow memory errors.\n3. Method ``BaseNetCompiler.set_up_devices()`` configures the GPUs according to the free RAM to be used in the API.\n\n### 1.3.0\n1. Included WindowDiff to the project scope.\n\n### 1.4.0\n1. Solved python packaging problems.\n2. Included force stop callback in the ```BaseNetModel.fit_stop()``` method.\n\n### 1.5.0\n1. BaseNetDatabase now has the attributes ``BaseNetDatabase.size`` and ``BaseNetDatabase.distribution``.\n2. Solved forced stopping bugs with multiprocessing in the method ``BaseNetDatabase.fit_stop()``.\n3. ```BaseNetModel._threshold()``` private method now takes a set of outputs instead only one. \nThis was only for optimization.\n4. Solved wrong ```BaseNetModel.recover()```.\n5. **Auto recover implemented**, now ```BaseNetModel.recover()``` is a private method: ```BaseNetModel._recover()```.\nNow the used does not need to recover it. *The model recovers by itself. -- Hans Niemann 2022.* \n**NOTE**: RECOVER IS NECESARY WHEN THE MODEL IS EARLY STOPPED; CONSIDER RECOVERING ALWAYS THE MODEL.\n\n### 1.5.1 - 1.5.3\n1. Solved a bug where ``BaseNetDatabase`` modified the incoming list of instances in the database; avoiding checkpoints\nfor large database generators.\n2. Exception handler for ``nvml`` library if NVIDIA Drivers are not installed`in the machine.\n\n### 1.5.4\n1. Added some ``BaseNetDatabase`` utils: merge and split databases.\n2. Added ``BaseNetDatabase`` equality check.\n3. Added a ``BaseNetDatabase._reversion()``, ``BaseNetCompiler._reversion()`` and ``BaseNetModel.__version__``. Which\nrebuilds the Classes to the current version of the API.\n\n### 1.6.0\n1. Start to develop the second branch of the API: ``BaseNetHeuristic``\n2. Start to create JuPyter Notebook tutorials of the API.\n3. Included ``BaseNetDatabase`` binarization and normalization of databases.\n4. Included in ``BaseNetDatabase`` to read ``TensorFlow`` and ``Pandas`` databases.\n5. Some rework was done for bug-fixing and providing more logging information.\n\n### 1.7.0 - 1.9.1\n1. Reworked ``BaseNetDatabase`` for minor bug fixing. (1.7.0)\n2. Added the ``BaseNetFeeder`` Class to generate dynamic ``BaseNetDatabase``s. (1.7.0)\n3. Jupyter tutorials. (1.8.0)\n4. Added the ``BaseNetDeployment`` Class to deploy scalable Machine Learning models (in alpha, do not use until 3.0).\n(1.9.0)\n5. Added ``BaseNetHeuristic`` algorithms that implements MetaHeuristic methods such as PSO. (1.8.0)\n\n### 1.9.2\n1. Added ``BaseNetLMSE``, solving linear problems with matrix multiplication.\n\n### 1.9.3 - 1.9.5\n1. Added ``CassandraDatabase``.\n2. Added ``categorical`` entry to ``compile_options`` in the ``BaseNetCompiler``. \nThis allows the user to build a classifier in the DeepLearning module. By default, it is a regression model.\n3. Added a minimum of 1 GPU in ``BaseNetCompiler.set_up_devices()``\n4. Added the output mapping function to the ``BaseNetDatabase`` as ``.define_map()`` and the mapping method ``map()``.\n5. Added the attribute ``shape`` to the ``BaseNetDatabase`` telling the input-output data shapes.\n6. Added Fuzzy-Logic feature in ``BaseNetDatabase`` for Fuzzy-Logic mapping.\n7. Added `BaseNetCVVisualizer` and ``basenet_cv_gui`` for computer vision dataset and results visualization.\n8. Added `BaseNetStackRoom`, which is a Database manager for big databases.\n\n### 1.9.6\n1. Added multi-block to ``BaseNetCompiler`` so it can be built from several YAML files.\n\n\n## Basic and fast usage\n\nThere are Jupyter Notebooks with usage tutorials! Refer to them \n[HERE](https://github.com/iTzAlver/BaseNet-API/tree/main/jupyter). You should run your notebook creating a \nvirtual environment in this README path.\n\n### Cite as\n\nPlease, cite this library as:\n\n\n    @misc{basenetapi,\n      title={BaseNet: A simpler way to build AI models.},\n      author={A. Palomo-Alonso},\n      booktitle={PhD in TIC: Machine Learning and NLP.},\n      year={2022}\n    }\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitzalver%2Fbasenet-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitzalver%2Fbasenet-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitzalver%2Fbasenet-api/lists"}