NILodio / Artist-Recognition-Noobs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🐍 Artistic Recognition

[GitHub release (latest by date)](

MIT License Code style: black pre-commit

Linux macOS Windows

πŸ—‚οΈ Directory Structure


.
β”œβ”€β”€ config/                  <- πŸ“‚ Configuration files [.ini, .json, .yaml]
β”œβ”€β”€ data/                    <- πŸ“‚ Images, numpy data objects, text files
β”œβ”€β”€ docs/                    <- πŸ“‚ Store .md files. Used by Mkdocs for Project Documentation
β”œβ”€β”€ logs/                    <- πŸ“‚ Log files generated by the project during execution
β”œβ”€β”€ models/                  <- πŸ“‚ Model files [.h5, .pkl, .pt] - pre-trained weight files, snapshots, checkpoints
β”œβ”€β”€ notebooks/               <- πŸ“‚ Jupyter Notebooks
β”œβ”€β”€ references/              <- πŸ“‚ Data dictionaries, manuals, and all other explanatory materials
β”œβ”€β”€ scripts/                 <- πŸ“‚ Utility scripts for various project-related tasks
β”œβ”€β”€ src/                     <- πŸ“‚ Source code (.py files)
β”œβ”€β”€ tests/                   <- πŸ“‚ Unit tests for the project
β”œβ”€β”€ workspaces/              <- πŸ“‚ Multi-user workspace that can be used in the case of a single machine
β”œβ”€β”€ .env-template            <- πŸ”§ Template for the .env file
β”œβ”€β”€ .gitattributes           <- πŸ”§ Standard .gitattributes file
β”œβ”€β”€ .gitignore               <- πŸ“› Standard .gitignore file
β”œβ”€β”€ .pre-commit-config.yaml  <- πŸ”§ Config file for Git Hooks
β”œβ”€β”€ LICENSE                  <- πŸͺ§ License file [choose your appropriate license from GitHub]
β”œβ”€β”€ mkdocs.yml               <- πŸ—žοΈ Base config file required for Mkdocs
β”œβ”€β”€ Pipfile		              <- πŸ—ƒοΈ Most commonly used python packages
β”œβ”€β”€ README.md                <- πŸ“ Project readme
β”œβ”€β”€ setup.py                 <- πŸ“¦οΈ For installing & packaging the project
└── tox.ini                  <- πŸ”§ General-purpose package configuration manager

πŸ“¦ Dev-Packages

All the packages to be installed are included in the Pipfile. For installing additional packages

Base Packages

* numpy           <- for numerical computing and scientific computing
* scipy           <- mathematical algorithms and convenience functions built on the NumPy
* pandas          <- for data manipulation and analysis
* matplotlib      <- plotting library
* seaborn         <- data visualization library for drawing informative statistical graphics.
* scikit-learn    <- machine learning library 
* jupyter         <- web-based interactive computing platform
* jupyter-server  <- backend for Jupyter notebooks. Required when running notebooks in VS Code
* ipykernel       <- interactive Python shell. Required when running notebooks in VS Code
* ipython         <- provides a powerful interactive shell and a kernel for Jupyter

Development Packages

* isort                        <- sorts imports in a python file
* python-decouple              <- Reads configuration/settings from .env, system environment variables 
* flake8                       <- Code linter (format checker)
* flake8-tabs                  <- Tab (and Spaces) Style Checker for flake8
* black                        <- Code formatter
* mypy                         <- Static type checker
* pre-commit                   <- A framework for managing and maintaining multi-language pre-commit hooks.
* pdoc3                        <- Generate API documentation for Python projects
* mkdocs                       <- Generate Project documentation for Python projects

πŸ‘· Kaggle

Due to the complexity of the problems, the models were trained using Kaggle, as it provides a more robust hardware processing environment. However, the notebooks related to these models can be found in the "notebooks" folder.

  • 😎 Fast-App PCO

  • 🀩 Streamlit App

πŸš€ Features

  • 😎 Fast-App PCO

  • 🀩 Streamlit App

πŸ‘½οΈ POC

πŸ§‘β€πŸ’» Steps:

Open your terminal and navigate to the project directory.

Setting dolowload models

🚨 To run the application, download the required model files from this Google Drive link and place them in the models/ directory.

.
β”œβ”€β”€ models/ <- πŸ“‚ Model files [.h5, .pkl, .pt] - pre-trained weight files, snapshots, checkpoints
   β”œβ”€β”€ vgg19_001/                  <- πŸ“‚ Model [.h5]
      β”œβ”€β”€ labels.json              <-  File [.json]
      β”œβ”€β”€ model.h5                 <-  File [.h5]

🐳 Docker

 * Docker is required to run the application. Follow these steps: 
 * Install Docker if it's not already installed on your system.
 * Navigate to the /app directory in the terminal.

Option 1 - 🐳 Docker build local

   docker-compose up --build

🚨 If you encounter issues building the image, it likely indicates that you are missing some essential system packages for building.

Option 2 - 🐳 Pull Image from Docker

   docker pull ddiazva312/object_classification
   docker-compose up

Fast-Api

http://localhost:8080/docs

Sheet

Streamlit

http://localhost:5000/

Sheet

About

License:MIT License


Languages

Language:Jupyter Notebook 99.5%Language:Python 0.5%Language:Dockerfile 0.1%