mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-27 09:04:53 +08:00
This is one of a series of PRs to update us to PEP585 (changing Dict -> dict, List -> list, etc). Most of the PRs were completely automated with RUFF as follows:
Since RUFF UP006 is considered an "unsafe" fix first we need to enable unsafe fixes:
```
--- a/tools/linter/adapters/ruff_linter.py
+++ b/tools/linter/adapters/ruff_linter.py
@@ -313,6 +313,7 @@
"ruff",
"check",
"--fix-only",
+ "--unsafe-fixes",
"--exit-zero",
*([f"--config={config}"] if config else []),
"--stdin-filename",
```
Then we need to tell RUFF to allow UP006 (as a final PR once all of these have landed this will be made permanent):
```
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -40,7 +40,7 @@
[tool.ruff]
-target-version = "py38"
+target-version = "py39"
line-length = 88
src = ["caffe2", "torch", "torchgen", "functorch", "test"]
@@ -87,7 +87,6 @@
"SIM116", # Disable Use a dictionary instead of consecutive `if` statements
"SIM117",
"SIM118",
- "UP006", # keep-runtime-typing
"UP007", # keep-runtime-typing
]
select = [
```
Finally running `lintrunner -a --take RUFF` will fix up the deprecated uses.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/145101
Approved by: https://github.com/bobrenjc93
27 lines
517 B
Python
27 lines
517 B
Python
import dataclasses
|
|
from typing import Callable, Optional
|
|
|
|
|
|
all_experiments: dict[str, Callable] = {}
|
|
|
|
|
|
@dataclasses.dataclass
|
|
class Experiment:
|
|
name: str
|
|
metric: str
|
|
target: float
|
|
actual: float
|
|
dtype: str
|
|
device: str
|
|
arch: str # GPU name for CUDA or CPU arch for CPU
|
|
is_model: bool = False
|
|
|
|
|
|
def register_experiment(name: Optional[str] = None):
|
|
def decorator(func):
|
|
key = name or func.__name__
|
|
all_experiments[key] = func
|
|
return func
|
|
|
|
return decorator
|