diff --git a/mmaction/visualization/action_visualizer.py b/mmaction/visualization/action_visualizer.py index 6fc5ae2123..5924669c83 100644 --- a/mmaction/visualization/action_visualizer.py +++ b/mmaction/visualization/action_visualizer.py @@ -56,7 +56,7 @@ class ActionVisualizer(Visualizer): >>> import torch >>> import decord >>> from pathlib import Path - >>> from mmaction.core import ActionDataSample, ActionVisualizer + >>> from mmaction.structures import ActionDataSample, ActionVisualizer >>> from mmengine.structures import LabelData >>> # Example frame >>> video = decord.VideoReader('./demo/demo.mp4') diff --git a/tools/analysis_tools/report_map.py b/tools/analysis_tools/report_map.py index 2aa46a1c50..26d1bc0f9f 100644 --- a/tools/analysis_tools/report_map.py +++ b/tools/analysis_tools/report_map.py @@ -3,10 +3,10 @@ import os import os.path as osp -import mmcv +import mmengine import numpy as np -from mmaction.core import ActivityNetLocalization +from mmaction.evaluation import ActivityNetLocalization args = None @@ -17,9 +17,9 @@ def cuhk17_top1(): if not osp.exists('cuhk_anet17_pred.json'): os.system('wget https://download.openmmlab.com/' 'mmaction/localization/cuhk_anet17_pred.json') - proposal = mmcv.load(args.proposal) + proposal = mmengine.load(args.proposal) results = proposal['results'] - cuhk_pred = mmcv.load('cuhk_anet17_pred.json')['results'] + cuhk_pred = mmengine.load('cuhk_anet17_pred.json')['results'] def get_topk(preds, k): preds.sort(key=lambda x: x['score']) @@ -36,7 +36,7 @@ def get_topk(preds, k): new_value.append(x) results[k] = new_value proposal['results'] = results - mmcv.dump(proposal, args.det_output) + mmengine.dump(proposal, args.det_output) cls_funcs = {'cuhk17_top1': cuhk17_top1} diff --git a/tools/data/activitynet/convert_proposal_format.py b/tools/data/activitynet/convert_proposal_format.py index f2f8613eb4..6f5992c75a 100644 --- a/tools/data/activitynet/convert_proposal_format.py +++ b/tools/data/activitynet/convert_proposal_format.py @@ -4,16 +4,16 @@ P-GCN, not including TSN, I3D etc.).""" import argparse -import mmcv +import mmengine import numpy as np -from mmaction.core import pairwise_temporal_iou +from mmaction.evaluation import pairwise_temporal_iou def load_annotations(ann_file): """Load the annotation according to ann_file into video_infos.""" video_infos = [] - anno_database = mmcv.load(ann_file) + anno_database = mmengine.load(ann_file) for video_name in anno_database: video_info = anno_database[video_name] video_info['video_name'] = video_name @@ -143,7 +143,7 @@ def parse_args(): video_infos = load_annotations(args.ann_file) ground_truth = import_ground_truth(video_infos, activity_index) proposal, num_proposals = import_proposals( - mmcv.load(args.proposal_file)['results']) + mmengine.load(args.proposal_file)['results']) video_idx = 0 for video_info in video_infos: diff --git a/tools/data/activitynet/download.py b/tools/data/activitynet/download.py index 1d1bf41a2d..4e614e83b7 100644 --- a/tools/data/activitynet/download.py +++ b/tools/data/activitynet/download.py @@ -7,7 +7,7 @@ import ssl import subprocess -import mmcv +import mmengine from joblib import Parallel, delayed ssl._create_default_https_context = ssl._create_unverified_context @@ -101,7 +101,7 @@ def parse_activitynet_annotations(input_csv, is_bsn_case=False): # YoutubeIDs do not have prefix `v_` youtube_ids = [x.split(',')[0][2:] for x in lines] else: - data = mmcv.load(anno_file)['database'] + data = mmengine.load(anno_file)['database'] youtube_ids = list(data.keys()) return youtube_ids @@ -125,15 +125,15 @@ def main(input_csv, output_dir, anno_file, num_jobs=24, is_bsn_case=False): for index in youtube_ids) # Save download report. - mmcv.dump(status_list, 'download_report.json') - annotation = mmcv.load(anno_file) + mmengine.dump(status_list, 'download_report.json') + annotation = mmengine.load(anno_file) downloaded = {status[0]: status[1] for status in status_list} annotation = {k: v for k, v in annotation.items() if downloaded[k]} if is_bsn_case: anno_file_bak = anno_file.replace('.json', '_bak.json') os.rename(anno_file, anno_file_bak) - mmcv.dump(annotation, anno_file) + mmengine.dump(annotation, anno_file) if __name__ == '__main__': diff --git a/tools/data/ava/download_videos_parallel.py b/tools/data/ava/download_videos_parallel.py index 7be4b1b883..524cf37d2e 100644 --- a/tools/data/ava/download_videos_parallel.py +++ b/tools/data/ava/download_videos_parallel.py @@ -3,7 +3,7 @@ import os.path as osp import subprocess -import mmcv +import mmengine from joblib import Parallel, delayed URL_PREFIX = 'https://s3.amazonaws.com/ava-dataset/trainval/' @@ -36,7 +36,7 @@ def download_video(video_url, output_dir, num_attempts=5): def main(source_file, output_dir, num_jobs=24, num_attempts=5): - mmcv.mkdir_or_exist(output_dir) + mmengine.mkdir_or_exist(output_dir) video_list = open(source_file).read().strip().split('\n') video_list = [osp.join(URL_PREFIX, video) for video in video_list] @@ -49,7 +49,7 @@ def main(source_file, output_dir, num_jobs=24, num_attempts=5): delayed(download_video)(video, output_dir, num_attempts) for video in video_list) - mmcv.dump(status_list, 'download_report.json') + mmengine.dump(status_list, 'download_report.json') if __name__ == '__main__': diff --git a/tools/data/hvu/download.py b/tools/data/hvu/download.py index 2ab18e8434..29fcd5c3b2 100644 --- a/tools/data/hvu/download.py +++ b/tools/data/hvu/download.py @@ -11,7 +11,7 @@ import subprocess import uuid -import mmcv +import mmengine from joblib import Parallel, delayed ssl._create_default_https_context = ssl._create_unverified_context @@ -173,7 +173,7 @@ def main(input_csv, # Clean tmp dir. shutil.rmtree(tmp_dir) # Save download report. - mmcv.dump(status_lst, 'download_report.json') + mmengine.dump(status_lst, 'download_report.json') if __name__ == '__main__': diff --git a/tools/data/hvu/generate_file_list.py b/tools/data/hvu/generate_file_list.py index 83e99b1482..ecc4063ffa 100644 --- a/tools/data/hvu/generate_file_list.py +++ b/tools/data/hvu/generate_file_list.py @@ -5,7 +5,7 @@ import os import os.path as osp -import mmcv +import mmengine annotation_root = '../../data/hvu/annotations' tag_file = 'hvu_tags.json' @@ -109,7 +109,7 @@ def parse_args(): if __name__ == '__main__': args = parse_args() - tag_cates = mmcv.load(tag_file) + tag_cates = mmengine.load(tag_file) tag2category = {} for k in tag_cates: for tag in tag_cates[k]: @@ -149,4 +149,4 @@ def parse_line(line): ] elif args.mode == 'videos': result = [dict(filename=k[0] + '.mp4', label=k[1]) for k in data_list] - mmcv.dump(result, args.output) + mmengine.dump(result, args.output) diff --git a/tools/data/hvu/generate_sub_file_list.py b/tools/data/hvu/generate_sub_file_list.py index 8313a9b3c9..ee14b82f6b 100644 --- a/tools/data/hvu/generate_sub_file_list.py +++ b/tools/data/hvu/generate_sub_file_list.py @@ -2,7 +2,7 @@ import argparse import os.path as osp -import mmcv +import mmengine def main(annotation_file, category): @@ -10,7 +10,7 @@ def main(annotation_file, category): 'action', 'attribute', 'concept', 'event', 'object', 'scene' ] - data = mmcv.load(annotation_file) + data = mmengine.load(annotation_file) basename = osp.basename(annotation_file) dirname = osp.dirname(annotation_file) basename = basename.replace('hvu', f'hvu_{category}') @@ -24,7 +24,7 @@ def main(annotation_file, category): item['label'] = label[category] result.append(item) - mmcv.dump(data, target_file) + mmengine.dump(data, target_file) if __name__ == '__main__': diff --git a/tools/data/hvu/parse_tag_list.py b/tools/data/hvu/parse_tag_list.py index 0871491ef8..b4d0d699bf 100644 --- a/tools/data/hvu/parse_tag_list.py +++ b/tools/data/hvu/parse_tag_list.py @@ -1,5 +1,5 @@ # Copyright (c) OpenMMLab. All rights reserved. -import mmcv +import mmengine tag_list = '../../../data/hvu/annotations/hvu_categories.csv' @@ -13,4 +13,4 @@ for k in tag_categories: tag_categories[k].sort() -mmcv.dump(tag_categories, 'hvu_tags.json') +mmengine.dump(tag_categories, 'hvu_tags.json') diff --git a/tools/data/omnisource/trim_raw_video.py b/tools/data/omnisource/trim_raw_video.py index 81aef77140..6f31103755 100644 --- a/tools/data/omnisource/trim_raw_video.py +++ b/tools/data/omnisource/trim_raw_video.py @@ -4,7 +4,7 @@ import sys from subprocess import check_output -import mmcv +import mmengine def get_duration(vid_name): @@ -28,7 +28,7 @@ def trim(vid_name): # We output 10-second clips into the folder `name` dest = name - mmcv.mkdir_or_exist(dest) + mmengine.mkdir_or_exist(dest) command_tmpl = ('ffmpeg -y loglevel error -i {} -ss {} -t {} -crf 18 ' '-c:v libx264 {}/part_{}.mp4')