import os import sys import requests from tqdm import tqdm subdir = 'data' if not os.path.exists(subdir): os.makedirs(subdir) subdir = subdir.replace('\\','/') # needed for Windows for ds in [ 'webtext', 'small-117M', 'small-117M-k40', 'medium-345M', 'medium-345M-k40', 'large-762M', 'large-762M-k40', 'xl-1542M', 'xl-1542M-k40', ]: for split in ['train', 'valid', 'test']: filename = ds + "." + split + '.jsonl' r = requests.get("https://storage.googleapis.com/gpt-2/output-dataset/v1/" + filename, stream=True) with open(os.path.join(subdir, filename), 'wb') as f: file_size = int(r.headers["content-length"]) chunk_size = 1000 with tqdm(ncols=100, desc="Fetching " + filename, total=file_size, unit_scale=True) as pbar: # 1k for chunk_size, since Ethernet packet size is around 1500 bytes for chunk in r.iter_content(chunk_size=chunk_size): f.write(chunk) pbar.update(chunk_size)