import pathlib | |
import requests | |
try: | |
root_path = pathlib.Path(__file__).resolve().parents[0] | |
except NameError: | |
import inspect | |
root_path = pathlib.Path(inspect.getfile(lambda: None)).resolve().parents[0] | |
def download(url: str, dest: pathlib.Path): | |
try: | |
with requests.get(url, stream=True) as r: | |
with open(dest, "wb") as f: | |
for chunk in r.iter_content(chunk_size=1024): | |
f.write(chunk) | |
except requests.exceptions.RequestException as e: | |
print(e) | |
def main(): | |
MEDIAPIPE_POSE_VERSION = "0.5.1675469404" | |
mediapipe_dir = root_path / "downloads" / "pose" / MEDIAPIPE_POSE_VERSION | |
mediapipe_dir.mkdir(mode=0o755, parents=True, exist_ok=True) | |
for file_name in [ | |
"pose_landmark_full.tflite", | |
"pose_web.binarypb", | |
"pose_solution_packed_assets.data", | |
"pose_solution_simd_wasm_bin.wasm", | |
"pose_solution_packed_assets_loader.js", | |
"pose_solution_simd_wasm_bin.js", | |
]: | |
file_path = mediapipe_dir / file_name | |
if file_path.exists(): | |
continue | |
url = f"https://cdn.jsdelivr.net/npm/@mediapipe/pose@{MEDIAPIPE_POSE_VERSION}/{file_name}" | |
print(f"Downloading {file_name}...") | |
download(url, file_path) | |
main() | |