Small refactor DeepEPMode to clean up code a bit (#4992)
This commit is contained in:
@@ -37,6 +37,7 @@ import time
|
||||
import traceback
|
||||
import warnings
|
||||
from contextlib import contextmanager
|
||||
from enum import Enum
|
||||
from functools import lru_cache
|
||||
from importlib.metadata import PackageNotFoundError, version
|
||||
from importlib.util import find_spec
|
||||
@@ -1838,3 +1839,24 @@ def flatten_nested_list(nested_list):
|
||||
]
|
||||
else:
|
||||
return [nested_list]
|
||||
|
||||
|
||||
class DeepEPMode(Enum):
|
||||
normal = "normal"
|
||||
low_latency = "low_latency"
|
||||
auto = "auto"
|
||||
|
||||
def enable_normal(self):
|
||||
return self in [DeepEPMode.normal, DeepEPMode.auto]
|
||||
|
||||
def enable_low_latency(self):
|
||||
return self in [DeepEPMode.low_latency, DeepEPMode.auto]
|
||||
|
||||
def resolve(self, forward_mode):
|
||||
if self != DeepEPMode.auto:
|
||||
return self
|
||||
|
||||
if forward_mode.is_decode():
|
||||
return DeepEPMode.low_latency
|
||||
else:
|
||||
return DeepEPMode.normal
|
||||
|
||||
Reference in New Issue
Block a user