Spaces:
Running
on
Zero
Running
on
Zero
import os | |
import platform | |
import requests | |
def build_ebsynth(): | |
if os.path.exists('src/ebsynth/deps/ebsynth/bin/ebsynth'): | |
print('Ebsynth has been built.') | |
return | |
os_str = platform.system() | |
if os_str == 'Windows': | |
print('Build Ebsynth Windows 64 bit.', | |
'If you want to build for 32 bit, please modify install.py.') | |
cmd = '.\\build-win64-cpu+cuda.bat' | |
exe_file = 'src/ebsynth/deps/ebsynth/bin/ebsynth.exe' | |
elif os_str == 'Linux': | |
cmd = 'bash build-linux-cpu+cuda.sh' | |
exe_file = 'src/ebsynth/deps/ebsynth/bin/ebsynth' | |
elif os_str == 'Darwin': | |
cmd = 'sh build-macos-cpu_only.sh' | |
exe_file = 'src/ebsynth/deps/ebsynth/bin/ebsynth.app' | |
else: | |
print('Cannot recognize OS. Ebsynth installation stopped.') | |
return | |
os.chdir('src/ebsynth/deps/ebsynth') | |
print(cmd) | |
os.system(cmd) | |
os.chdir('../../../..') | |
if os.path.exists(exe_file): | |
print('Ebsynth installed successfully.') | |
else: | |
print('Failed to install Ebsynth.') | |
def download(url, dir, name=None): | |
os.makedirs(dir, exist_ok=True) | |
if name is None: | |
name = url.split('/')[-1] | |
path = os.path.join(dir, name) | |
if not os.path.exists(path): | |
print(f'Install {name} ...') | |
open(path, 'wb').write(requests.get(url).content) | |
print('Install successfully.') | |
def download_gmflow_ckpt(): | |
url = ('https://huggingface.co/PKUWilliamYang/Rerender/' | |
'resolve/main/models/gmflow_sintel-0c07dcb3.pth') | |
download(url, 'model') | |
def download_egnet_ckpt(): | |
url = ('https://huggingface.co/PKUWilliamYang/Rerender/' | |
'resolve/main/models/epoch_resnet.pth') | |
download(url, 'model') | |
def download_hed_ckpt(): | |
url = ('https://huggingface.co/lllyasviel/Annotators/' | |
'resolve/main/ControlNetHED.pth') | |
download(url, 'src/ControlNet/annotator/ckpts') | |
def download_depth_ckpt(): | |
url = ('https://huggingface.co/lllyasviel/ControlNet/' | |
'resolve/main/annotator/ckpts/dpt_hybrid-midas-501f0c75.pt') | |
download(url, 'src/ControlNet/annotator/ckpts') | |
def download_ebsynth_ckpt(): | |
os_str = platform.system() | |
if os_str == 'Linux': | |
url = ('https://huggingface.co/PKUWilliamYang/Rerender/' | |
'resolve/main/models/ebsynth') | |
download(url, 'src/ebsynth/deps/ebsynth/bin') | |
elif os_str == 'Windows': | |
url = ('https://huggingface.co/PKUWilliamYang/Rerender/' | |
'resolve/main/models/ebsynth.exe') | |
download(url, 'src/ebsynth/deps/ebsynth/bin') | |
url = ('https://huggingface.co/PKUWilliamYang/Rerender/' | |
'resolve/main/models/ebsynth_cpu.dll') | |
download(url, 'src/ebsynth/deps/ebsynth/bin') | |
url = ('https://huggingface.co/PKUWilliamYang/Rerender/' | |
'resolve/main/models/ebsynth_cpu.exe') | |
download(url, 'src/ebsynth/deps/ebsynth/bin') | |
else: | |
print('No available compiled Ebsynth.') | |
#build_ebsynth() | |
download_ebsynth_ckpt() | |
download_gmflow_ckpt() | |
download_egnet_ckpt() | |
download_hed_ckpt() | |
download_depth_ckpt() | |