Source code for dcbench.config
import os
from dataclasses import dataclass
from pathlib import Path
import yaml
CONFIG_ENV_VARIABLE = "DCBENCH_CONFIG"
default_local_dir = os.path.join(Path.home(), ".dcbench")
[docs]def get_config_location():
path = os.environ.get(
CONFIG_ENV_VARIABLE, os.path.join(default_local_dir, "dcbench-config.yaml")
)
return path
[docs]def get_config():
path = get_config_location()
if not os.path.exists(path):
config = {}
else:
config = yaml.load(open(path, "r"), Loader=yaml.FullLoader)
return config
[docs]@dataclass
class DCBenchConfig:
local_dir: str = default_local_dir
public_bucket_name: str = "dcbench"
hidden_bucket_name: str = "dcbench-hidden"
@property
def public_remote_url(self):
return f"https://storage.googleapis.com/{self.public_bucket_name}"
@property
def hidden_remote_url(self):
return f"https://storage.googleapis.com/{self.hidden_bucket_name}"
# dataset specific download directories
celeba_dir: str = os.path.join(default_local_dir, "datasets", "celeba")
imagenet_dir: str = os.path.join(default_local_dir, "datasets", "imagenet")
config = DCBenchConfig(**get_config())