This repository contains development projects for developing a deep learning model that can recognize physical changes in a car by analyzing a real-time 3D web interface.
Starting from build datasets, train classifier model, fine-tune vision language model, develop backend application, and develop single page applications.
https://github.com/user-attachments/assets/ae2c1058-c624-48d6-b58e-bf7ef2d734a7
https://github.com/user-attachments/assets/7b39bd58-ef40-4d5e-9a5a-1e7fb069d74f
Clone repository.
git clone [email protected]:noczero/car-state-components-multi-labels-classification.git
cd car-state-components-multi-labels-classification
Install dependencies
Backend
pip install -r requirements.txt
Classifier App and Explainer App
cd www/apps/classifier
npm install
cd www/apps/explainer
npm install
Setup environment variables.
Create a .env
file in the project root directory from .env.example
cp .env.example .env
Run all services using script.
./scripts/start_services.sh
Open Apps using browser.
Classifier App on localhost:8080
Explainer App on localhost:8082
OpenAPI documentation for backend service on localhost:8081/docs
This guide helps resolve common issues encountered during the setup and operation of the Car Components Multi-Labels Classification project.
Problem: git clone
fails.
git
installed on your system. You can check by running git --version
. If not installed, download and install it from git-scm.com.https://github.com/noczero/car-state-components-multi-labels-classification.git
is correct and accessible.Problem: Python version mismatch or pip
command not found.
python --version
or python3 --version
. This project requires Python 3.12.venv
, conda
).# Example for creating and activating a venv
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip
is installed and upgraded for your Python 3.12 installation: python3 -m ensurepip --upgrade
and python3 -m pip install --upgrade pip
.Problem: pip install -r requirements.txt
fails.
pip
needs to download packages.requirements.txt
: Ensure the requirements.txt
file is not corrupted and is in the correct format.build-essential
, python3-dev
.pip install <package-name>
.pip
or setuptools
: Try upgrading them:pip install --upgrade pip setuptools wheel
Problem: Node.js version mismatch or npm
command not found.
node -v
. This project requires Node.js v20.17.0.nvm
to install and switch to the required version.# Example using nvm
nvm install 20.17.0
nvm use 20.17.0
npm
(which comes with Node.js) is in your system's PATH.Problem: npm install
fails in www/apps/classifier
or www/apps/explainer
.
www/apps/classifier
or www/apps/explainer
) before running npm install
.npm
needs to download packages from the npm registry.pip
, you might encounter permission issues if not using nvm
or if installing globally.npm cache clean --force
rm -rf node_modules package-lock.json # or del node_modules package-lock.json on Windows
npm install
Problem: .env
file not found or not working.
.env.example
to .env
in the project root directory:cp .env.example .env
.env
file contains all necessary environment variables as defined in .env.example
and that their values are correctly set..env
file (e.g., using a library like python-dotenv
for the backend)..env
file.Problem: Application behaves unexpectedly due to incorrect environment variable values.
.env
file for typos or incorrect paths/ports/credentials..env
files.Problem: ./scripts/start_services.sh
script fails or services do not start.
chmod +x ./scripts/start_services.sh
#!/bin/bash
). Ensure this interpreter is installed and available in your PATH.python app.py
or uvicorn main:app
) and how the frontend apps are started (e.g., npm start
or npm run dev
from their respective directories).netstat
or lsof
to check for port usage:# On Linux/macOS
sudo lsof -i :8080
sudo netstat -tulnp | grep 8080
# On Windows
netstat -ano | findstr "8080"
.env
file and documentation if necessary).Problem: Cannot open Classifier App (localhost:8080) or Explainer App (localhost:8082) in the browser.
./scripts/start_services.sh
script or by running them manually. Check your terminal output for confirmation messages like "Compiled successfully" or "Server running on port...".http://
and the correct port.Problem: OpenAPI documentation (localhost:8081/docs) is not accessible or shows errors.
http://localhost:8081/docs
.Problem: The 3D web interface is not loading or displaying correctly.
Problem: Model predictions are incorrect or the application crashes during model inference.
.env
file or application configuration.requirements.txt
.Problem: "Physical changes in a car" are not being recognized correctly.
If you encounter an issue not covered here, please consider opening an issue on the GitHub repository with detailed information, including: