clamsproject / mmif

MultiMedia Interchange Format
Apache License 2.0
5 stars 1 forks source link

add optional view metadata fields to record runtime environment #232

Open keighrim opened 4 months ago

keighrim commented 4 months ago

New Feature Summary

This is a backport of https://github.com/clamsproject/clams-python/pull/237. In the implementation in that PR, I used view.metadata.runtime object to iterate hardware and time consumption at the runtime, but I thought it might be helpful to have a more formal specification for the in the MMIF spec/schema.

Instead of a single nested object, I'm thinking of multiple fields with appRunningXxx prefix. For example;

  "views": [                                                                                                                                 
    {
      "id": "v_0",
      "metadata": {
        "timestamp": "2024-07-05T21:00:07.408801",
        "app": "http://apps.clams.ai/swt-detection/v5.1-9-g6b12498",
        "contains": {
          "http://mmif.clams.ai/vocabulary/TimePoint/v4": {
            ...
          },
          "http://mmif.clams.ai/vocabulary/TimeFrame/v5": {
            ...
          },
          "http://mmif.clams.ai/vocabulary/Annotation/v5": {
            ...
          }
        },
        "parameters": {
          "pretty": "",
          "stopAt": "120000",
          "hwFetch": "",
          "runningTime": ""
        },
        "appConfiguration": {
          ...
        },
        "appRunningTime": "0:00:05.466913",    # runningTime=True
        "appRunningHardware": {                # hwFetch=True
          "architecture": "x86_64",
          "cuda": [
            "NVIDIA RTX A6000 (49140 MiB)",
            "NVIDIA RTX A6000 (49140 MiB)",
            "NVIDIA RTX A6000 (49140 MiB)",
            "NVIDIA RTX A6000 (49140 MiB)"
          ]
        },
      }
    }
  ]

Of course the names and structure is open discussion. Any input is welcome 🙏

Related

No response

Alternatives

No response

Additional context

No response