New zenodo releases containing Gym models intended for Zoo, for example https://zenodo.org/record/6950472, contain config files and h5 files, and a BEST_MODEL.txt. There are typically several models per release, which facilitates ensembling
Downloads can take a long time. We need a better way to access individual files programmatically, i.e. only the files we want to use
For example, in the above release, BEST_MODEL.txt contains the string sat4class_rgb_512_v1_fullmodel.h5 which could be downloaded by constructing a string URL, then using requests (or similar) to download that file and corresponding json file
But if we only want to download certain files, what options do we have?
pip install zenodo-get (https://github.com/dvolgyes/ zenodo_get) - I think this could be a good option, but is designed to run directly from a CLI rather than from a library import (?)
Perhaps the easiest thing to do is upload a manifest file to each zenodo release containing lists of model weights .... the manifest file would be downloaded, and any combination of the files therein could be downloaded from requests (or similar)
For example https://zenodo.org/api/records/6950472 contains names and URLs and checksums of every file in the aforementioned data release. So, borrowing from zenodo-get we would access this JSON record like this
New zenodo releases containing Gym models intended for Zoo, for example https://zenodo.org/record/6950472, contain config files and h5 files, and a BEST_MODEL.txt. There are typically several models per release, which facilitates ensembling
Downloads can take a long time. We need a better way to access individual files programmatically, i.e. only the files we want to use
For example, in the above release,
BEST_MODEL.txt
contains the stringsat4class_rgb_512_v1_fullmodel.h5
which could be downloaded by constructing a string URL, then usingrequests
(or similar) to download that file and corresponding json fileBut if we only want to download certain files, what options do we have?
pip install pyzenodo3
(https://pypi.org/project/pyzenodo3/) requires tokens - is this a good direction?pip install zenodo-get
(https://github.com/dvolgyes/ zenodo_get) - I think this could be a good option, but is designed to run directly from a CLI rather than from a library import (?)Perhaps the easiest thing to do is upload a manifest file to each zenodo release containing lists of model weights .... the manifest file would be downloaded, and any combination of the files therein could be downloaded from
requests
(or similar)For example
https://zenodo.org/api/records/6950472
contains names and URLs and checksums of every file in the aforementioned data release. So, borrowing fromzenodo-get
we would access this JSON record like thisr = requests.get(url + recordID)
then a list of files like this
the first record is
I think this is a good direction to go in for programmatic access to any individual or collection of files