hysts HF Staff commited on
Commit
c4bae44
·
1 Parent(s): 8204a72
.pre-commit-config.yaml CHANGED
@@ -1,6 +1,6 @@
1
  repos:
2
  - repo: https://github.com/pre-commit/pre-commit-hooks
3
- rev: v4.5.0
4
  hooks:
5
  - id: check-executables-have-shebangs
6
  - id: check-json
@@ -13,48 +13,21 @@ repos:
13
  args: ["--fix=lf"]
14
  - id: requirements-txt-fixer
15
  - id: trailing-whitespace
16
- - repo: https://github.com/myint/docformatter
17
- rev: v1.7.5
18
  hooks:
19
- - id: docformatter
20
- args: ["--in-place"]
21
- - repo: https://github.com/pycqa/isort
22
- rev: 5.13.2
23
- hooks:
24
- - id: isort
25
- args: ["--profile", "black"]
26
  - repo: https://github.com/pre-commit/mirrors-mypy
27
- rev: v1.8.0
28
  hooks:
29
  - id: mypy
30
  args: ["--ignore-missing-imports"]
31
  additional_dependencies:
32
  [
33
  "types-python-slugify",
34
- "types-requests",
35
- "types-PyYAML",
36
  "types-pytz",
 
 
37
  ]
38
- - repo: https://github.com/psf/black
39
- rev: 24.2.0
40
- hooks:
41
- - id: black
42
- language_version: python3.10
43
- args: ["--line-length", "119"]
44
- - repo: https://github.com/kynan/nbstripout
45
- rev: 0.7.1
46
- hooks:
47
- - id: nbstripout
48
- args:
49
- [
50
- "--extra-keys",
51
- "metadata.interpreter metadata.kernelspec cell.metadata.pycharm",
52
- ]
53
- - repo: https://github.com/nbQA-dev/nbQA
54
- rev: 1.7.1
55
- hooks:
56
- - id: nbqa-black
57
- - id: nbqa-pyupgrade
58
- args: ["--py37-plus"]
59
- - id: nbqa-isort
60
- args: ["--float-to-top"]
 
1
  repos:
2
  - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: v5.0.0
4
  hooks:
5
  - id: check-executables-have-shebangs
6
  - id: check-json
 
13
  args: ["--fix=lf"]
14
  - id: requirements-txt-fixer
15
  - id: trailing-whitespace
16
+ - repo: https://github.com/astral-sh/ruff-pre-commit
17
+ rev: v0.9.9
18
  hooks:
19
+ - id: ruff
20
+ args: ["--fix"]
21
+ - id: ruff-format
 
 
 
 
22
  - repo: https://github.com/pre-commit/mirrors-mypy
23
+ rev: v1.15.0
24
  hooks:
25
  - id: mypy
26
  args: ["--ignore-missing-imports"]
27
  additional_dependencies:
28
  [
29
  "types-python-slugify",
 
 
30
  "types-pytz",
31
+ "types-PyYAML",
32
+ "types-requests",
33
  ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.python-version ADDED
@@ -0,0 +1 @@
 
 
1
+ 3.10
.vscode/extensions.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recommendations": [
3
+ "ms-python.python",
4
+ "charliermarsh.ruff",
5
+ "streetsidesoftware.code-spell-checker",
6
+ "tamasfe.even-better-toml"
7
+ ]
8
+ }
.vscode/settings.json CHANGED
@@ -2,29 +2,16 @@
2
  "editor.formatOnSave": true,
3
  "files.insertFinalNewline": false,
4
  "[python]": {
5
- "editor.defaultFormatter": "ms-python.black-formatter",
6
  "editor.formatOnType": true,
7
  "editor.codeActionsOnSave": {
 
8
  "source.organizeImports": "explicit"
9
  }
10
  },
11
  "[jupyter]": {
12
  "files.insertFinalNewline": false
13
  },
14
- "black-formatter.args": [
15
- "--line-length=119"
16
- ],
17
- "isort.args": ["--profile", "black"],
18
- "flake8.args": [
19
- "--max-line-length=119"
20
- ],
21
- "ruff.lint.args": [
22
- "--line-length=119"
23
- ],
24
  "notebook.output.scrolling": true,
25
- "notebook.formatOnCellExecution": true,
26
- "notebook.formatOnSave.enabled": true,
27
- "notebook.codeActionsOnSave": {
28
- "source.organizeImports": "explicit"
29
- }
30
  }
 
2
  "editor.formatOnSave": true,
3
  "files.insertFinalNewline": false,
4
  "[python]": {
5
+ "editor.defaultFormatter": "charliermarsh.ruff",
6
  "editor.formatOnType": true,
7
  "editor.codeActionsOnSave": {
8
+ "source.fixAll.ruff": "explicit",
9
  "source.organizeImports": "explicit"
10
  }
11
  },
12
  "[jupyter]": {
13
  "files.insertFinalNewline": false
14
  },
 
 
 
 
 
 
 
 
 
 
15
  "notebook.output.scrolling": true,
16
+ "notebook.formatOnSave.enabled": true
 
 
 
 
17
  }
README.md CHANGED
@@ -4,7 +4,7 @@ emoji: 📚
4
  colorFrom: pink
5
  colorTo: indigo
6
  sdk: gradio
7
- sdk_version: 4.36.1
8
  app_file: app.py
9
  pinned: false
10
  ---
 
4
  colorFrom: pink
5
  colorTo: indigo
6
  sdk: gradio
7
+ sdk_version: 5.20.0
8
  app_file: app.py
9
  pinned: false
10
  ---
app.py CHANGED
@@ -1,15 +1,14 @@
1
  #!/usr/bin/env python
2
 
3
- from __future__ import annotations
4
-
5
  import pickle
6
  import sys
7
 
8
  import gradio as gr
9
  import numpy as np
10
  import torch
11
- import torch.nn as nn
12
  from huggingface_hub import hf_hub_download
 
13
 
14
  sys.path.insert(0, "stylegan3")
15
 
@@ -34,8 +33,8 @@ def make_transform(translate: tuple[float, float], angle: float) -> np.ndarray:
34
 
35
  def load_model(device: torch.device) -> nn.Module:
36
  path = hf_hub_download(MODEL_REPO, MODEL_FILE_NAME)
37
- with open(path, "rb") as f:
38
- model = pickle.load(f)
39
  model.eval()
40
  model.to(device)
41
  with torch.inference_mode():
@@ -79,8 +78,8 @@ demo = gr.Interface(
79
  ],
80
  outputs=gr.Image(label="Output"),
81
  title=TITLE,
82
- css="style.css",
83
  )
84
 
85
  if __name__ == "__main__":
86
- demo.queue(max_size=20, api_open=False).launch(show_api=False)
 
1
  #!/usr/bin/env python
2
 
3
+ import pathlib
 
4
  import pickle
5
  import sys
6
 
7
  import gradio as gr
8
  import numpy as np
9
  import torch
 
10
  from huggingface_hub import hf_hub_download
11
+ from torch import nn
12
 
13
  sys.path.insert(0, "stylegan3")
14
 
 
33
 
34
  def load_model(device: torch.device) -> nn.Module:
35
  path = hf_hub_download(MODEL_REPO, MODEL_FILE_NAME)
36
+ with pathlib.Path(path).open("rb") as f:
37
+ model = pickle.load(f) # noqa: S301
38
  model.eval()
39
  model.to(device)
40
  with torch.inference_mode():
 
78
  ],
79
  outputs=gr.Image(label="Output"),
80
  title=TITLE,
81
+ css_paths="style.css",
82
  )
83
 
84
  if __name__ == "__main__":
85
+ demo.queue(max_size=20).launch()
pyproject.toml ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [project]
2
+ name = "stylegan3-anime-face-exp002"
3
+ version = "0.1.0"
4
+ description = ""
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ dependencies = [
8
+ "gradio>=5.20.0",
9
+ "hf-transfer>=0.1.9",
10
+ "scipy>=1.15.2",
11
+ "torch==2.4.0",
12
+ ]
13
+
14
+ [tool.ruff]
15
+ line-length = 119
16
+
17
+ [tool.ruff.lint]
18
+ select = ["ALL"]
19
+ ignore = [
20
+ "COM812", # missing-trailing-comma
21
+ "D203", # one-blank-line-before-class
22
+ "D213", # multi-line-summary-second-line
23
+ "E501", # line-too-long
24
+ "SIM117", # multiple-with-statements
25
+ ]
26
+ extend-ignore = [
27
+ "D100", # undocumented-public-module
28
+ "D101", # undocumented-public-class
29
+ "D102", # undocumented-public-method
30
+ "D103", # undocumented-public-function
31
+ "D104", # undocumented-public-package
32
+ "D105", # undocumented-magic-method
33
+ "D107", # undocumented-public-init
34
+ "EM101", # raw-string-in-exception
35
+ "FBT001", # boolean-type-hint-positional-argument
36
+ "FBT002", # boolean-default-value-positional-argument
37
+ "PD901", # pandas-df-variable-name
38
+ "PGH003", # blanket-type-ignore
39
+ "PLR0913", # too-many-arguments
40
+ "PLR0915", # too-many-statements
41
+ "TRY003", # raise-vanilla-args
42
+ ]
43
+ unfixable = [
44
+ "F401", # unused-import
45
+ ]
46
+
47
+ [tool.ruff.lint.pydocstyle]
48
+ convention = "google"
49
+
50
+ [tool.ruff.lint.per-file-ignores]
51
+ "*.ipynb" = ["T201", "T203"]
52
+
53
+ [tool.ruff.format]
54
+ docstring-code-format = true
requirements.txt CHANGED
@@ -1,5 +1,204 @@
1
- gradio==4.36.1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  numpy==1.26.4
3
- Pillow==10.3.0
4
- scipy==1.13.1
5
- torch==2.0.1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # This file was autogenerated by uv via the following command:
2
+ # uv pip compile pyproject.toml -o requirements.txt
3
+ aiofiles==23.2.1
4
+ # via gradio
5
+ annotated-types==0.7.0
6
+ # via pydantic
7
+ anyio==4.8.0
8
+ # via
9
+ # gradio
10
+ # httpx
11
+ # starlette
12
+ certifi==2025.1.31
13
+ # via
14
+ # httpcore
15
+ # httpx
16
+ # requests
17
+ charset-normalizer==3.4.1
18
+ # via requests
19
+ click==8.1.8
20
+ # via
21
+ # typer
22
+ # uvicorn
23
+ exceptiongroup==1.2.2
24
+ # via anyio
25
+ fastapi==0.115.11
26
+ # via gradio
27
+ ffmpy==0.5.0
28
+ # via gradio
29
+ filelock==3.17.0
30
+ # via
31
+ # huggingface-hub
32
+ # torch
33
+ # triton
34
+ fsspec==2025.2.0
35
+ # via
36
+ # gradio-client
37
+ # huggingface-hub
38
+ # torch
39
+ gradio==5.20.0
40
+ # via stylegan3-anime-face-exp002 (pyproject.toml)
41
+ gradio-client==1.7.2
42
+ # via gradio
43
+ groovy==0.1.2
44
+ # via gradio
45
+ h11==0.14.0
46
+ # via
47
+ # httpcore
48
+ # uvicorn
49
+ hf-transfer==0.1.9
50
+ # via stylegan3-anime-face-exp002 (pyproject.toml)
51
+ httpcore==1.0.7
52
+ # via httpx
53
+ httpx==0.28.1
54
+ # via
55
+ # gradio
56
+ # gradio-client
57
+ # safehttpx
58
+ huggingface-hub==0.29.2
59
+ # via
60
+ # gradio
61
+ # gradio-client
62
+ idna==3.10
63
+ # via
64
+ # anyio
65
+ # httpx
66
+ # requests
67
+ jinja2==3.1.6
68
+ # via
69
+ # gradio
70
+ # torch
71
+ markdown-it-py==3.0.0
72
+ # via rich
73
+ markupsafe==2.1.5
74
+ # via
75
+ # gradio
76
+ # jinja2
77
+ mdurl==0.1.2
78
+ # via markdown-it-py
79
+ mpmath==1.3.0
80
+ # via sympy
81
+ networkx==3.4.2
82
+ # via torch
83
  numpy==1.26.4
84
+ # via
85
+ # gradio
86
+ # pandas
87
+ # scipy
88
+ nvidia-cublas-cu12==12.1.3.1
89
+ # via
90
+ # nvidia-cudnn-cu12
91
+ # nvidia-cusolver-cu12
92
+ # torch
93
+ nvidia-cuda-cupti-cu12==12.1.105
94
+ # via torch
95
+ nvidia-cuda-nvrtc-cu12==12.1.105
96
+ # via torch
97
+ nvidia-cuda-runtime-cu12==12.1.105
98
+ # via torch
99
+ nvidia-cudnn-cu12==9.1.0.70
100
+ # via torch
101
+ nvidia-cufft-cu12==11.0.2.54
102
+ # via torch
103
+ nvidia-curand-cu12==10.3.2.106
104
+ # via torch
105
+ nvidia-cusolver-cu12==11.4.5.107
106
+ # via torch
107
+ nvidia-cusparse-cu12==12.1.0.106
108
+ # via
109
+ # nvidia-cusolver-cu12
110
+ # torch
111
+ nvidia-nccl-cu12==2.20.5
112
+ # via torch
113
+ nvidia-nvjitlink-cu12==12.8.61
114
+ # via
115
+ # nvidia-cusolver-cu12
116
+ # nvidia-cusparse-cu12
117
+ nvidia-nvtx-cu12==12.1.105
118
+ # via torch
119
+ orjson==3.10.15
120
+ # via gradio
121
+ packaging==24.2
122
+ # via
123
+ # gradio
124
+ # gradio-client
125
+ # huggingface-hub
126
+ pandas==2.2.3
127
+ # via gradio
128
+ pillow==10.3.0
129
+ # via gradio
130
+ pydantic==2.10.6
131
+ # via
132
+ # fastapi
133
+ # gradio
134
+ pydantic-core==2.27.2
135
+ # via pydantic
136
+ pydub==0.25.1
137
+ # via gradio
138
+ pygments==2.19.1
139
+ # via rich
140
+ python-dateutil==2.9.0.post0
141
+ # via pandas
142
+ python-multipart==0.0.20
143
+ # via gradio
144
+ pytz==2025.1
145
+ # via pandas
146
+ pyyaml==6.0.2
147
+ # via
148
+ # gradio
149
+ # huggingface-hub
150
+ requests==2.32.3
151
+ # via huggingface-hub
152
+ rich==13.9.4
153
+ # via typer
154
+ ruff==0.9.9
155
+ # via gradio
156
+ safehttpx==0.1.6
157
+ # via gradio
158
+ scipy==1.15.2
159
+ # via stylegan3-anime-face-exp002 (pyproject.toml)
160
+ semantic-version==2.10.0
161
+ # via gradio
162
+ shellingham==1.5.4
163
+ # via typer
164
+ six==1.17.0
165
+ # via python-dateutil
166
+ sniffio==1.3.1
167
+ # via anyio
168
+ starlette==0.46.0
169
+ # via
170
+ # fastapi
171
+ # gradio
172
+ sympy==1.13.3
173
+ # via torch
174
+ tomlkit==0.13.2
175
+ # via gradio
176
+ torch==2.4.0
177
+ # via stylegan3-anime-face-exp002 (pyproject.toml)
178
+ tqdm==4.67.1
179
+ # via huggingface-hub
180
+ triton==3.0.0
181
+ # via torch
182
+ typer==0.15.2
183
+ # via gradio
184
+ typing-extensions==4.12.2
185
+ # via
186
+ # anyio
187
+ # fastapi
188
+ # gradio
189
+ # gradio-client
190
+ # huggingface-hub
191
+ # pydantic
192
+ # pydantic-core
193
+ # rich
194
+ # torch
195
+ # typer
196
+ # uvicorn
197
+ tzdata==2025.1
198
+ # via pandas
199
+ urllib3==2.3.0
200
+ # via requests
201
+ uvicorn==0.34.0
202
+ # via gradio
203
+ websockets==15.0.1
204
+ # via gradio-client
uv.lock ADDED
The diff for this file is too large to render. See raw diff