open-mmlab / mmdetection

OpenMMLab Detection Toolbox and Benchmark
https://mmdetection.readthedocs.io
Apache License 2.0
29.21k stars 9.4k forks source link

TypeError: __init__() got an unexpected keyword argument 'pretrained' #11747

Open theaftaab opened 4 months ago

theaftaab commented 4 months ago

Describe the bug i try to run the following code: from mmseg.apis import init_model, inference_model, show_result_pyplot import mmcv from mmcv import imread import mmengine from mmengine.registry import init_default_scope import numpy as np

from mmpose.apis import inference_topdown from mmpose.apis import init_model as init_pose_estimator from mmpose.evaluation.functional import nms from mmpose.registry import VISUALIZERS from mmpose.structures import merge_data_samples

try: from mmdet.apis import inference_detector, init_detector has_mmdet = True except (ImportError, ModuleNotFoundError): has_mmdet = False

local_runtime = True img = 'img.png' rear_pose_config = 'models/v1/rear_pose/res152_animalpose_256x256.py' rear_pose_checkpoint = 'models/v1/rear_pose/epoch_210.pth'

side_pose_config = 'models/v1/side_pose/res152_animalpose_256x256.py' side_pose_checkpoint = 'models/v1/side_pose/epoch_210.pth'

det_config = 'models/v1/det/faster_rcnn_r50_fpn_coco.py' det_checkpoint = 'models/v1/det/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth' device = 'cpu'

cfg_options = dict(model=dict(test_cfg=dict(output_heatmaps=True))) detector = init_detector( det_config, det_checkpoint, device=device )

side_pose_estimator = init_pose_estimator( side_pose_config, side_pose_checkpoint, device=device, cfg_options=cfg_options ) side_pose_estimator.cfg.visualizer.radius = 3 side_pose_estimator.cfg.visualizer.line_width = 1 visualizer = VISUALIZERS.build(side_pose_estimator.cfg.visualizer)

def visualize_img(img_path, detector, pose_estimator, visualizer, show_interval, out_file): """Visualize predicted keypoints (and heatmaps) of one image."""

# predict bbox
scope = detector.cfg.get('default_scope', 'mmdet')
if scope is not None:
    init_default_scope(scope)
detect_result = inference_detector(detector, img_path)
pred_instance = detect_result.pred_instances.cpu().numpy()
bboxes = np.concatenate(
    (pred_instance.bboxes, pred_instance.scores[:, None]), axis=1)
bboxes = bboxes[np.logical_and(pred_instance.labels == 0,
                               pred_instance.scores > 0.3)]
bboxes = bboxes[nms(bboxes, 0.3)][:, :4]

# predict keypoints
pose_results = inference_topdown(pose_estimator, img_path, bboxes)
data_samples = merge_data_samples(pose_results)

# show the results
img = mmcv.imread(img_path, channel_order='rgb')

visualizer.add_datasample(
    'result',
    img,
    data_sample=data_samples,
    draw_gt=False,
    draw_heatmap=True,
    draw_bbox=True,
    show=False,
    wait_time=show_interval,
    out_file=out_file,
    kpt_thr=0.3)

visualize_img( 'img.png', detector, side_pose_estimator, visualizer, show_interval=0, out_file=None)

vis_result = visualizer.get_image()

and get the following error: Traceback (most recent call last): File "/Users/aftaabhussain/Work/Implementation cattle/predict.py", line 33, in detector = init_detector( File "/Users/aftaabhussain/Work/Implementation cattle/.venv/lib/python3.9/site-packages/mmdet/apis/inference.py", line 66, in init_detector model = MODELS.build(config.model) File "/Users/aftaabhussain/Work/Implementation cattle/.venv/lib/python3.9/site-packages/mmengine/registry/registry.py", line 570, in build return self.build_func(cfg, *args, kwargs, registry=self) File "/Users/aftaabhussain/Work/Implementation cattle/.venv/lib/python3.9/site-packages/mmengine/registry/build_functions.py", line 232, in build_model_from_cfg return build_from_cfg(cfg, registry, default_args) File "/Users/aftaabhussain/Work/Implementation cattle/.venv/lib/python3.9/site-packages/mmengine/registry/build_functions.py", line 121, in build_from_cfg obj = obj_cls(args) # type: ignore TypeError: init() got an unexpected keyword argument 'pretrained'

i checked the init() file but there is no keyword argument called pretrained present over there, my environment: pytorch version - 2.3.0 cuda available = False mmseg version 1.2.2 mmpose version 1.1.0 mmdet version 3.3.0