Skip to content

Unable to run evaluation and inference after custom model training of mediapipe OD #6145

@deepikadubey2608

Description

@deepikadubey2608

Have I written custom code (as opposed to using a stock example script provided in MediaPipe)

None

OS Platform and Distribution

Ubuntu 22.04.5 LTS

Python Version

3.10.12

MediaPipe Model Maker version

No response

Task name (e.g. Image classification, Gesture recognition etc.)

Custom model training for Object Detection

Describe the actual behavior

I run my python script for custom model training for OD, so my script train the custom model successfully but when it comes to evaluate it , it was killed due to memory loss as I used batch size = 16 which is too much , so I started running it again by reducing batch size from 16 to 8 while evaluating but instead of running only evaluation , this started running from scratch that is started model training again but I only want to run evaluation and inference.

Describe the expected behaviour

I only want to run evaluation and inference of custom model trained for Object Detection , instead of running training from scratch.

Standalone code/steps you may have used to try to get what you need

import os import tensorflow as tf assert tf.version.startswith('2') from mediapipe_model_maker import object_detector train_dataset_path = "path/to/my/train_dataset" validation_dataset_path = "path/to/my/validation_dataset" # Load dataset train_data = object_detector.Dataset.from_coco_folder(train_dataset_path, cache_dir=train_dataset_path) validation_data = object_detector.Dataset.from_coco_folder(validation_dataset_path, cache_dir=validation_dataset_path) print("train_data size:", train_data.size) print("validation_data size:", validation_data.size) # Model settings spec = object_detector.SupportedModels.MOBILENET_MULTI_AVG hparams = object_detector.HParams( export_dir='exported_model', batch_size=16, # ✅ Best for RTX 5060 (8GB) learning_rate=0.0005, epochs=30 # ✅ Enough for 1.5 lakh images ) options = object_detector.ObjectDetectorOptions( supported_model=spec, hparams=hparams ) model = object_detector.ObjectDetector.create( train_data=train_data, validation_data=validation_data, options=options ) loss, coco_metrics = model.evaluate(validation_data, batch_size=8) print(f"Validation loss: {loss}") print(f"Validation coco metrics: {coco_metrics}")

Other info / Complete Logs

Metadata

Metadata

Assignees

Labels

os:linux-non-armIssues on linux distributions which run on x86-64 architecture. DOES NOT include ARM devices.platform:pythonMediaPipe Python issuestask:object detectionIssues related to Object detection: Track and label objects in images and video.type:modelmakerIssues related to creation of custom on-device ML solutionstype:supportGeneral questions

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions