Spaces:
Runtime error
Runtime error
from pathlib import Path | |
import requests | |
from tqdm import tqdm | |
def download_model(model_url, save_loc, model_name): | |
if isinstance(save_loc, str): | |
save_loc = Path(save_loc) | |
save_loc.mkdir(parents=True, exist_ok=True) | |
if not (save_loc / model_name).is_file(): | |
print('fnodes: 模型不存在') | |
print('fnodes: 正在下载模型') | |
response = requests.get(model_url, stream=True) | |
try: | |
if response.status_code == 200: | |
total_size = int(response.headers.get('content-length', 0)) | |
block_size = 1024 # 1 Kibibyte | |
with ( | |
(save_loc / model_name).open('wb') as file, | |
tqdm( | |
desc='下载中', | |
total=total_size, | |
unit='iB', | |
unit_scale=True, | |
unit_divisor=1024, | |
) as bar, | |
): | |
for data in response.iter_content(block_size): | |
bar.update(len(data)) | |
file.write(data) | |
print('fnodes: 模型下载完成') | |
except requests.exceptions.RequestException as err: | |
print(f'fnodes: 模型下载失败: {err}') | |
print(f'fnodes: 请从以下链接手动下载: {model_url}') | |
print(f'fnodes: 并将其放置在 {save_loc}') | |
return False | |
except Exception as e: | |
print(f'fnodes: 发生意外错误: {e}') | |
return False | |
return True | |