Lipsing / install.py
ibrahim313's picture
Upload 12 files
24bde82 verified
version = 'v8.3'
import os
import re
import argparse
import shutil
import subprocess
from IPython.display import clear_output
from easy_functions import (format_time,
load_file_from_url,
load_model,
load_predictor)
# Get the location of the basicsr package
import os
import shutil
import subprocess
import warnings
warnings.filterwarnings("ignore", category=UserWarning, module="torchvision.transforms.functional_tensor")
# Get the location of the basicsr package
def get_basicsr_location():
result = subprocess.run(['pip', 'show', 'basicsr'], capture_output=True, text=True)
for line in result.stdout.split('\n'):
if 'Location: ' in line:
return line.split('Location: ')[1]
return None
# Move and replace a file to the basicsr location
def move_and_replace_file_to_basicsr(file_name):
basicsr_location = get_basicsr_location()
if basicsr_location:
destination = os.path.join(basicsr_location, file_name)
# Move and replace the file
shutil.copyfile(file_name, destination)
print(f'File replaced at {destination}')
else:
print('Could not find basicsr location.')
# Example usage
file_to_replace = 'degradations.py' # Replace with your file name
move_and_replace_file_to_basicsr(file_to_replace)
from enhance import load_sr
working_directory = os.getcwd()
# download and initialize both wav2lip models
print("downloading wav2lip essentials")
load_file_from_url(
url="https://github.com/anothermartz/Easy-Wav2Lip/releases/download/Prerequesits/Wav2Lip_GAN.pth",
model_dir="checkpoints",
progress=True,
file_name="Wav2Lip_GAN.pth",
)
model = load_model(os.path.join(working_directory, "checkpoints", "Wav2Lip_GAN.pth"))
print("wav2lip_gan loaded")
load_file_from_url(
url="https://github.com/anothermartz/Easy-Wav2Lip/releases/download/Prerequesits/Wav2Lip.pth",
model_dir="checkpoints",
progress=True,
file_name="Wav2Lip.pth",
)
model = load_model(os.path.join(working_directory, "checkpoints", "Wav2Lip.pth"))
print("wav2lip loaded")
# download gfpgan files
print("downloading gfpgan essentials")
load_file_from_url(
url="https://github.com/anothermartz/Easy-Wav2Lip/releases/download/Prerequesits/GFPGANv1.4.pth",
model_dir="checkpoints",
progress=True,
file_name="GFPGANv1.4.pth",
)
load_sr()
# load face detectors
print("initializing face detectors")
load_file_from_url(
url="https://github.com/anothermartz/Easy-Wav2Lip/releases/download/Prerequesits/shape_predictor_68_face_landmarks_GTX.dat",
model_dir="checkpoints",
progress=True,
file_name="shape_predictor_68_face_landmarks_GTX.dat",
)
load_predictor()
# write a file to signify setup is done
with open("installed.txt", "w") as f:
f.write(version)
print("Installation complete!")
print(
"If you just updated from v8 - make sure to download the updated Easy-Wav2Lip.bat too!"
)