|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import os |
|
|
|
from paddlenlp.utils.downloader import get_path_from_url_with_filelock |
|
from paddlenlp.utils.log import logger |
|
|
|
from .utils import DOWNLOAD_SERVER, PPDIFFUSERS_CACHE |
|
|
|
|
|
def ppdiffusers_bos_download(pretrained_model_name_or_path, filename=None, subfolder=None, cache_dir=None): |
|
if cache_dir is None: |
|
cache_dir = PPDIFFUSERS_CACHE |
|
cache_dir = ( |
|
pretrained_model_name_or_path |
|
if os.path.isdir(pretrained_model_name_or_path) |
|
else os.path.join(cache_dir, pretrained_model_name_or_path) |
|
) |
|
url = DOWNLOAD_SERVER + "/" + pretrained_model_name_or_path |
|
if subfolder is not None: |
|
url = url + "/" + subfolder |
|
cache_dir = os.path.join(cache_dir, subfolder) |
|
if filename is not None: |
|
url = url + "/" + filename |
|
|
|
file_path = os.path.join(cache_dir, filename) |
|
if os.path.exists(file_path): |
|
logger.info("Already cached %s" % file_path) |
|
else: |
|
file_path = get_path_from_url_with_filelock(url, cache_dir) |
|
return file_path |
|
|