Spaces:
Sleeping
Sleeping
import os | |
import sys | |
import subprocess | |
import gdown | |
import shutil | |
import nltk | |
from pathlib import Path | |
# Install NLTK data | |
nltk.download('punkt') | |
# Create directories | |
os.makedirs('DF-GAN/code/models', exist_ok=True) | |
os.makedirs('data', exist_ok=True) | |
# Clone the DF-GAN repository | |
if not os.path.exists('DF-GAN/.git'): | |
print("Cloning DF-GAN repository...") | |
subprocess.run(["git", "clone", "https://github.com/tobran/DF-GAN.git", "DF-GAN_temp"]) | |
# Move only necessary files to avoid duplicates | |
shutil.copytree('DF-GAN_temp/code/models', 'DF-GAN/code/models', dirs_exist_ok=True) | |
shutil.copytree('DF-GAN_temp/code/lib', 'DF-GAN/code/lib', dirs_exist_ok=True) | |
# Clean up | |
shutil.rmtree('DF-GAN_temp') | |
print("Repository cloned and organized.") | |
# Download model files | |
# DF-GAN pretrained bird model | |
bird_model_url = 'https://drive.google.com/uc?id=1rzfcCvGwU8vLCrn5reWxmrAMms6WQGA6' | |
bird_model_path = 'data/state_epoch_1220.pth' | |
# Text encoder for birds | |
text_encoder_url = 'https://drive.google.com/uc?id=1xwIyLPYtYn9YGPIcRuWXxaxcw_oPGQK4' | |
text_encoder_path = 'data/text_encoder200.pth' | |
# Captions DAMSM pickle file | |
captions_pickle_url = 'https://drive.google.com/uc?id=1FfNMRpOZGaO3mKYyj2VDVEW1ChZ12lJp' | |
captions_pickle_path = 'data/captions_DAMSM.pickle' | |
# Download if files don't exist | |
if not os.path.exists(bird_model_path): | |
print(f"Downloading bird model to {bird_model_path}...") | |
gdown.download(bird_model_url, bird_model_path, quiet=False) | |
if not os.path.exists(text_encoder_path): | |
print(f"Downloading text encoder to {text_encoder_path}...") | |
gdown.download(text_encoder_url, text_encoder_path, quiet=False) | |
if not os.path.exists(captions_pickle_path): | |
print(f"Downloading captions pickle to {captions_pickle_path}...") | |
gdown.download(captions_pickle_url, captions_pickle_path, quiet=False) | |
print("All model files downloaded and prepared successfully!") |