register.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. import os
  15. import os.path as osp
  16. from pathlib import Path
  17. from ...base.register import register_model_info, register_suite_info
  18. from .model import VideoClsModel
  19. from .runner import VideoClsRunner
  20. from .config import VideoClsConfig
  21. REPO_ROOT_PATH = os.environ.get("PADDLE_PDX_PADDLEVIDEO_PATH")
  22. PDX_CONFIG_DIR = osp.abspath(osp.join(osp.dirname(__file__), "..", "configs"))
  23. register_suite_info(
  24. {
  25. "suite_name": "VideoCls",
  26. "model": VideoClsModel,
  27. "runner": VideoClsRunner,
  28. "config": VideoClsConfig,
  29. "runner_root_path": REPO_ROOT_PATH,
  30. }
  31. )
  32. ################ Models Using Universal Config ################
  33. register_model_info(
  34. {
  35. "model_name": "PP-TSM-R50_8frames_uniform",
  36. "suite": "VideoCls",
  37. "config_path": osp.join(PDX_CONFIG_DIR, "PP-TSM-R50_8frames_uniform.yaml"),
  38. "supported_apis": ["train", "evaluate", "predict", "export", "infer"],
  39. "infer_config": "deploy/configs/inference_cls.yaml",
  40. }
  41. )
  42. register_model_info(
  43. {
  44. "model_name": "PP-TSMv2-LCNetV2_8frames_uniform",
  45. "suite": "VideoCls",
  46. "config_path": osp.join(
  47. PDX_CONFIG_DIR, "PP-TSMv2-LCNetV2_8frames_uniform.yaml"
  48. ),
  49. "supported_apis": ["train", "evaluate", "predict", "export", "infer"],
  50. "infer_config": "deploy/configs/inference_cls.yaml",
  51. }
  52. )
  53. register_model_info(
  54. {
  55. "model_name": "PP-TSMv2-LCNetV2_16frames_uniform",
  56. "suite": "VideoCls",
  57. "config_path": osp.join(
  58. PDX_CONFIG_DIR, "PP-TSMv2-LCNetV2_16frames_uniform.yaml"
  59. ),
  60. "supported_apis": ["train", "evaluate", "predict", "export", "infer"],
  61. "infer_config": "deploy/configs/inference_cls.yaml",
  62. }
  63. )