allenai / beaker-gantry Goto Github PK
View Code? Open in Web Editor NEWGantry streamlines running Python experiments in Beaker by managing containers and boilerplate for you
License: Apache License 2.0
Gantry streamlines running Python experiments in Beaker by managing containers and boilerplate for you
License: Apache License 2.0
Might need two separate options, something like --env 'NAME=VALUE'
and --env-secret 'NAME=SECRET'
. Maybe we could also have a shortcut for the 2nd case: --secret SECRET
which would be equivalent to --env-secret SECRET=SECRET
.
my cmd is
gantry run \
--dry-run \
--save-spec beaker-spec.yaml \
-n test-cv-docker \
--workspace ai2/br \
--cluster ai2/qicao-v100 \
--gpus 2 \
--beaker-image 'qicao/test-cv-docker' \
--venv 'eff' \
--dataset 'qicao/test-images:/data' -- \
torchrun --nproc_per_node 2 src/complete_cv_example.py --data_dir /data
the git repo is https://github.com/csarron/efficiency-benchmark-test
error log:
https://beaker.org/api/v3/jobs/01GE637TDZZXYRSRABYDYK9C26/logs?tail=2
I suspect the beaker image somehow cached the git repo, which will fail the gantry when doing gh repo clone "$GITHUB_REPO"
here
The beaker image is created using docker (dockerfile is here)
gantry is the latest version
Support distributed batch jobs.
N/A
https://beaker-docs.apps.allenai.org/distributed-training.html#batch-jobs
Recently @mattf1n and I debugged how to update one's Github token, which might happen if you've entered it incorrectly or it's expired. It wasn't very easy.
We ultimately discovered that it's stored as a Beaker secret. Which means we were able to use beaker secret *
to both inspect and manipulate the value. But this wasn't terribly intuitive and required looking at the code.
It'd be nice if Gantry just provided a way to do this, say:
gantry config set token ...
..or something like that?
We could install conda on the fly when the image doesn't already have it.
We should have to use a GitHub PAT for public repos.
Keep doing what we're doing.
No response
It doesn't appear to be possible, but probably should be.
Related to #13. See #13 (comment).
This is a little more complex because we probably don't want to re-upload those local files each time gantry run
is called if they haven't changed. Maybe we add a flag to force re-upload, otherwise we could compute a hash of the contents of all source files and only upload when the hash changes. But then we're back to re-implementing git...
@mattf1n discovered that you must use the .yml
extension for your environment.yml
file. If you use .yaml
it won't be found by Gantry.
Gantry should probably look for both.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.