2021-08-17 19:52:42 +08:00
|
|
|
# Copyright (c) OpenMMLab. All rights reserved.
|
2020-09-30 19:00:20 +08:00
|
|
|
from argparse import ArgumentParser
|
|
|
|
|
2022-08-26 18:03:18 +08:00
|
|
|
from mmengine.fileio import dump
|
2022-07-22 10:59:08 +08:00
|
|
|
from rich import print_json
|
2022-06-01 18:31:57 +08:00
|
|
|
|
2022-07-22 10:59:08 +08:00
|
|
|
from mmcls.apis import inference_model, init_model
|
2022-08-26 18:03:18 +08:00
|
|
|
from mmcls.utils import register_all_modules
|
2020-09-30 19:00:20 +08:00
|
|
|
|
|
|
|
|
|
|
|
def main():
|
|
|
|
parser = ArgumentParser()
|
|
|
|
parser.add_argument('img', help='Image file')
|
|
|
|
parser.add_argument('config', help='Config file')
|
|
|
|
parser.add_argument('checkpoint', help='Checkpoint file')
|
|
|
|
parser.add_argument(
|
|
|
|
'--device', default='cuda:0', help='Device used for inference')
|
|
|
|
args = parser.parse_args()
|
|
|
|
|
2022-08-26 18:03:18 +08:00
|
|
|
# register all modules and set mmcls as the default scope.
|
|
|
|
register_all_modules()
|
2020-09-30 19:00:20 +08:00
|
|
|
# build the model from a config file and a checkpoint file
|
|
|
|
model = init_model(args.config, args.checkpoint, device=args.device)
|
|
|
|
# test a single image
|
|
|
|
result = inference_model(model, args.img)
|
2020-10-10 16:33:27 +08:00
|
|
|
# show the results
|
2022-08-26 18:03:18 +08:00
|
|
|
print_json(dump(result, file_format='json', indent=4))
|
2020-09-30 19:00:20 +08:00
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
main()
|