Sign inSign up

irfanuruchi/cnn-edge-classifier

By irfanuruchi

Updated 3 months ago

Image
0

1.1K

irfanuruchi/cnn-edge-classifier repository overview

CNN Edge Classifier

cnn-edge-classifier is a lightweight computer vision inference workload for the Intelligent Fog Orchestration System.

It runs a pretrained MobileNetV2 convolutional neural network inside a Docker container and provides both a drag-and-drop web UI and a REST prediction API. The workload is designed to run as an edge/fog service and can be deployed by an IoT Smart Node through the same desired-state orchestration mechanism used for the other workloads in the system.

Image

irfanuruchi/cnn-edge-classifier:latest

Supported Platforms

linux/amd64
linux/arm64

The image is published as a multi-architecture Docker image, so it can run on both x86 machines and ARM-based devices.

Run

docker run --rm \
  --name cnn-edge-classifier \
  -p 8600:8600 \
  irfanuruchi/cnn-edge-classifier:latest

Open the web UI:

http://localhost:8600/ui

Health endpoint:

http://localhost:8600/health

Root endpoint:

http://localhost:8600/

Prediction API

Send an image to the /predict endpoint:

curl -X POST "http://localhost:8600/predict" \
  -F "[email protected]"

Example response:

{
  "service": "cnn-edge-classifier",
  "model": "MobileNetV2",
  "task": "image-classification",
  "predicted_class": "golden retriever",
  "confidence": 0.4218,
  "top_5": [
    {
      "class": "golden retriever",
      "confidence": 0.4218
    },
    {
      "class": "Labrador retriever",
      "confidence": 0.1844
    }
  ],
  "inference_time_ms": 125.73
}

Web UI

The service includes a simple browser interface at /ui.

The UI supports drag-and-drop image upload and displays the predicted class, confidence score, top-5 predictions, model name, task type, and inference time.

Model

The workload uses:

MobileNetV2
ImageNet pretrained weights
CPU inference

MobileNetV2 was selected because it is lightweight, portable, and suitable for edge inference scenarios. The model weights are preloaded into the Docker image so the container does not need to download them during startup.

Role in the Intelligent Fog Orchestration System

This image is used as a CNN/DCNN edge inference workload inside the Intelligent Fog Orchestration System.

In the full project, the workload can be assigned through the Fog Controller desired state:

node-2:
  - integral-calculator
  - cnn-edge-classifier

The IoT Smart Node pulls and runs this container, exposes the UI/API on port 8600, monitors its runtime state, and reconciles it if the actual Docker state does not match the expected workload state.

Ports

8600/tcp

Endpoints

GET  /
GET  /health
GET  /ui
POST /predict

Example Use Case

The workload demonstrates how a fog orchestration platform can deploy computer vision inference services at the edge. It runs alongside other heterogeneous workloads such as Prolog reasoning, CFD simulation, and symbolic computation services.

Author

Irfan Uruçi South East European University Intelligent Systems Course Project Academic Year 2026

Tag summary

Content type

Image

Digest

sha256:353453153

Size

344.7 MB

Last updated

3 months ago

docker pull irfanuruchi/cnn-edge-classifier