jhj0517
commited on
Commit
·
51dc898
1
Parent(s):
7962f8d
Update model downloading function
Browse files
modules/live_portrait/model_downloader.py
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
import requests
|
| 2 |
from tqdm import tqdm
|
| 3 |
|
|
@@ -11,33 +15,22 @@ MODELS_URL = {
|
|
| 11 |
}
|
| 12 |
|
| 13 |
|
| 14 |
-
def download_model(
|
| 15 |
-
|
| 16 |
-
|
|
|
|
|
|
|
|
|
|
| 17 |
try:
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
block_size = 1024 # 1 Kibibyte
|
| 21 |
-
|
| 22 |
-
# tqdm will display a progress bar
|
| 23 |
-
with open(file_path, 'wb') as file, tqdm(
|
| 24 |
-
desc='Downloading',
|
| 25 |
-
total=total_size,
|
| 26 |
-
unit='iB',
|
| 27 |
-
unit_scale=True,
|
| 28 |
-
unit_divisor=1024,
|
| 29 |
-
) as bar:
|
| 30 |
-
for data in response.iter_content(block_size):
|
| 31 |
-
bar.update(len(data))
|
| 32 |
-
file.write(data)
|
| 33 |
|
| 34 |
except requests.exceptions.RequestException as e:
|
| 35 |
print(
|
| 36 |
-
f"Model
|
| 37 |
-
f"
|
| 38 |
)
|
| 39 |
-
raise
|
| 40 |
except Exception as e:
|
| 41 |
-
print(
|
| 42 |
-
raise
|
| 43 |
-
|
|
|
|
| 1 |
+
import os.path
|
| 2 |
+
from typing import Optional
|
| 3 |
+
from torch.hub import download_url_to_file
|
| 4 |
+
from urllib.parse import urlparse
|
| 5 |
import requests
|
| 6 |
from tqdm import tqdm
|
| 7 |
|
|
|
|
| 15 |
}
|
| 16 |
|
| 17 |
|
| 18 |
+
def download_model(
|
| 19 |
+
file_path: str,
|
| 20 |
+
url: str,
|
| 21 |
+
) -> Optional[str]:
|
| 22 |
+
if os.path.exists(file_path):
|
| 23 |
+
return None
|
| 24 |
try:
|
| 25 |
+
print(f'{file_path} is not detected. Downloading model...')
|
| 26 |
+
download_url_to_file(url, file_path, progress=True)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
|
| 28 |
except requests.exceptions.RequestException as e:
|
| 29 |
print(
|
| 30 |
+
f"Model download has failed. Please download manually from: {url}\n"
|
| 31 |
+
f"and place it in {file_path}"
|
| 32 |
)
|
| 33 |
+
raise e
|
| 34 |
except Exception as e:
|
| 35 |
+
print('An unexpected error occurred during model download.')
|
| 36 |
+
raise e
|
|
|