Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make pip installable #1

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions hmgmetrics/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
"""
hmgmetrics
------------

Human Motion Generation Metrics
Unifyied framework for human motion generation evaluation metrics. _[1]

[1]: A. Ismail-Fawaz, M. Devanne, S. Berretti, J. Weber, and G. Forestier,
“Establishing a Unified Evaluation Framework for Human Motion Generation:
A Comparative Analysis of Metrics,” May 13, 2024, arXiv: arXiv:2405.07680.
Accessed: May 16, 2024. [Online]. Available: http://arxiv.org/abs/2405.07680


:copyright: (c) 2024 by Cognitive Systems Lab.
:license: MIT
"""
# Imports

# built-in

# local
from .__version__ import __version__ # noqa: F401

# 3rd-party
24 changes: 24 additions & 0 deletions hmgmetrics/__version__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
"""
metrics.__version__
-------------------

Version tracker.

:copyright: (c) 2024 by Cognitive Systems Lab.
:license: MIT
"""
# Imports

# built-in

# local

# 3rd-party

# CSL


__VERSION__ = (1, 0, 0)

__version__ = '.'.join(map(str, __VERSION__))
File renamed without changes.
5 changes: 5 additions & 0 deletions hmgmetrics/diversity/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from hmgmetrics.diversity._apd import APD
from hmgmetrics.diversity._acpd import ACPD
from hmgmetrics.diversity._coverage import COVERAGE
from hmgmetrics.diversity._wpd import WPD
from hmgmetrics.diversity._mms import MMS
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import numpy as np
import tensorflow as tf

from metrics.base import BaseMetricCalculator
from hmgmetrics.base import BaseMetricCalculator


class ACPD(BaseMetricCalculator):
Expand Down
2 changes: 1 addition & 1 deletion metrics/diversity/_apd.py → hmgmetrics/diversity/_apd.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import numpy as np
import tensorflow as tf

from metrics.base import BaseMetricCalculator
from hmgmetrics.base import BaseMetricCalculator


class APD(BaseMetricCalculator):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from sklearn.metrics import pairwise_distances
from sklearn.model_selection import train_test_split

from metrics.base import BaseMetricCalculator
from hmgmetrics.base import BaseMetricCalculator


class COVERAGE(BaseMetricCalculator):
Expand Down
2 changes: 1 addition & 1 deletion metrics/diversity/_mms.py → hmgmetrics/diversity/_mms.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import numpy as np
import tensorflow as tf

from metrics.base import BaseMetricCalculator
from hmgmetrics.base import BaseMetricCalculator

from sklearn.neighbors import NearestNeighbors

Expand Down
2 changes: 1 addition & 1 deletion metrics/diversity/_wpd.py → hmgmetrics/diversity/_wpd.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import tensorflow as tf

from aeon.distances import dtw_alignment_path
from metrics.base import BaseMetricCalculator
from hmgmetrics.base import BaseMetricCalculator


class WPD(BaseMetricCalculator):
Expand Down
4 changes: 2 additions & 2 deletions metric_calculator.py → hmgmetrics/metric_calculator.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import pandas as pd
from typing import *

from metrics.quality import FID, DENSITY, AOG
from metrics.diversity import APD, ACPD, COVERAGE, WPD, MMS
from hmgmetrics.quality import FID, DENSITY, AOG
from hmgmetrics.diversity import APD, ACPD, COVERAGE, WPD, MMS


class METRIC_CALCULATOR:
Expand Down
3 changes: 3 additions & 0 deletions hmgmetrics/quality/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from hmgmetrics.quality._fid import FID
from hmgmetrics.quality._density import DENSITY
from hmgmetrics.quality._aog import AOG
2 changes: 1 addition & 1 deletion metrics/quality/_aog.py → hmgmetrics/quality/_aog.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

from sklearn.metrics import accuracy_score

from metrics.base import BaseMetricCalculator
from hmgmetrics.base import BaseMetricCalculator


class AOG(BaseMetricCalculator):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from sklearn.metrics import pairwise_distances
from sklearn.model_selection import train_test_split

from metrics.base import BaseMetricCalculator
from hmgmetrics.base import BaseMetricCalculator


class DENSITY(BaseMetricCalculator):
Expand Down
2 changes: 1 addition & 1 deletion metrics/quality/_fid.py → hmgmetrics/quality/_fid.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import tensorflow as tf
from scipy.linalg import sqrtm

from metrics.base import BaseMetricCalculator
from hmgmetrics.base import BaseMetricCalculator
from sklearn.model_selection import train_test_split


Expand Down
5 changes: 0 additions & 5 deletions metrics/diversity/__init__.py

This file was deleted.

3 changes: 0 additions & 3 deletions metrics/quality/__init__.py

This file was deleted.

49 changes: 49 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
[build-system]
requires = ["setuptools >= 64.0"]
build-backend = "setuptools.build_meta"

[project]
name = "hmgmetrics"
description = "Unified framework for Human Motion Generation Evaluation."
readme = "README.md"
license = {file = "LICENSE"}
keywords = ["human motion generation", "metrics"]
dynamic = ['version']
dependencies = [
"aeon~=0.8.1",
"numpy~=1.26.4",
"pandas~=2.0.3",
"tensorflow~=2.16.1",
"scikit-learn~=1.4.2",
]
requires-python = ">= 3.8"
authors = [
{name = "Ali Ismail-Fawaz", email = "[email protected]"},
{name = "Maxime Devanne"},
{name = "Stefano Berreti"},
{name = "Jonathan Weber"},
{name = "Germain Forestier"}
]
maintainers = [
{name = "Lourenco Abrunhosa Rodrigues", email = "[email protected]"}
]
classifiers = [
"Development Status :: 5",
"Intended Audience :: Researchers",
"Topic :: Data Generation :: Evaluation Metrics",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]


[project.optional-dependencies]
plot = ["matplotlib~=3.8.4"]

[tool.setuptools]
packages = ["hmgmetrics"]

[tool.setuptools.dynamic]
version = {attr = "hmgmetrics.__version__"}