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.
irfanuruchi/cnn-edge-classifier:latest
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.
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/
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
}
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.
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.
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.
8600/tcp
GET /
GET /health
GET /ui
POST /predict
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.
Irfan Uruçi South East European University Intelligent Systems Course Project Academic Year 2026
Content type
Image
Digest
sha256:353453153…
Size
344.7 MB
Last updated
3 months ago
docker pull irfanuruchi/cnn-edge-classifier