XingangPan/DragGAN · error · IOError

Google Drive download quota exceeded -- please try again lat

Error message

Google Drive download quota exceeded -- please try again later

What it means

Raised by dnnlib.util.open_url when the response body is a small HTML page containing 'Google Drive - Quota exceeded'. Google Drive caps downloads per file per day; once the cap is hit, no retries help until the quota resets. It propagates as an IOError after retries are exhausted (each retry re-hits the quota page).

Source

Thrown at dnnlib/util.py:459

    with requests.Session() as session:
        if verbose:
            print("Downloading %s ..." % url, end="", flush=True)
        for attempts_left in reversed(range(num_attempts)):
            try:
                with session.get(url) as res:
                    res.raise_for_status()
                    if len(res.content) == 0:
                        raise IOError("No data received")

                    if len(res.content) < 8192:
                        content_str = res.content.decode("utf-8")
                        if "download_warning" in res.headers.get("Set-Cookie", ""):
                            links = [html.unescape(link) for link in content_str.split('"') if "export=download" in link]
                            if len(links) == 1:
                                url = requests.compat.urljoin(url, links[0])
                                raise IOError("Google Drive virus checker nag")
                        if "Google Drive - Quota exceeded" in content_str:
                            raise IOError("Google Drive download quota exceeded -- please try again later")

                    match = re.search(r'filename="([^"]*)"', res.headers.get("Content-Disposition", ""))
                    url_name = match[1] if match else url
                    url_data = res.content
                    if verbose:
                        print(" done")
                    break
            except KeyboardInterrupt:
                raise
            except:
                if not attempts_left:
                    if verbose:
                        print(" failed")
                    raise
                if verbose:
                    print(".", end="", flush=True)

    # Save to cache.

View on GitHub (pinned to 336f120ce1)

Solutions

  1. Wait for the Google Drive quota to reset (usually within 24 hours) and retry
  2. Copy the file to your own Google Drive ('Make a copy' / 'Add shortcut') and download from that copy
  3. Download via a different mirror if the model author provides one (HuggingFace, direct HTTP)
  4. Upload the file to a personal host (S3/Dropbox) and pass that URL
  5. Download manually in a browser (which sometimes still works under account auth) and use the local file path

Example fix

# before
with dnnlib.open_url('https://drive.google.com/uc?id=FILEID') as f: ...

# after
# copy to your own Drive or mirror, then:
with dnnlib.open_url('https://my-mirror.example.com/model.pkl') as f: ...
Defensive patterns

Strategy: fallback

Try / catch

try:
    with dnnlib.open_url(url) as f: data = f.read()
except IOError as e:
    if 'Quota exceeded' in str(e):
        with open(local_fallback_path, 'rb') as f: data = f.read()
    else:
        raise

Prevention

When it happens

Trigger: Calling open_url (or any tool that loads a pickle from URL, like legacy.load_network_pickle) on a Google Drive file that has exceeded its daily download quota — typically a popular pretrained model shared publicly.

Common situations: Using third-party StyleGAN2 weights shared via Google Drive links that went viral; the error persists for up to ~24h until quota reset; users on shared IPs (corporate NAT/VPN) hit the cap sooner.

Related errors


AI-assisted analysis of XingangPan/DragGAN@336f120ce1 (2026-08-27). Data as JSON: /api/errors/dc1b9c7a7547d117. Report an issue: GitHub.