Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ImageNet datamodule, refactor datamodule configs [RT-76] #6

Merged
merged 27 commits into from
Jun 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
6727444
Add stub for imagenet datamodule
lebrice May 30, 2024
3359378
Add SLURM_TMPDIR in devcontainer, add notes
lebrice Jun 17, 2024
9956f93
Add Olexa's imagenet recipe in python form
lebrice Jun 17, 2024
c135864
Add DataModule for the ImageNet dataset
lebrice Jun 17, 2024
bb41a95
Use .yaml files with structured base 4 datamodules
lebrice Jun 17, 2024
3bd2ed4
Fix typo in log, change preparation benchmark dir
lebrice Jun 17, 2024
0bbdcab
Reduce logging verbosity a bit
lebrice Jun 17, 2024
55592c8
Temporarily add a project cmd -> project/main.py
lebrice Jun 17, 2024
d0802a5
Fix tiny bugs and import errors
lebrice Jun 17, 2024
c9fe73a
Add notes about extending structured configs
lebrice Jun 17, 2024
5a9b70f
Fix some issues, fix defaults
lebrice Jun 18, 2024
aa1f6db
Minor touchup
lebrice Jun 18, 2024
dadd467
Touchups and import fixes
lebrice Jun 18, 2024
0969afc
Switch to full config files for datamodule configs
lebrice Jun 19, 2024
675a865
Add marks for combinations of configs
lebrice Jun 19, 2024
ac5f6e1
Add regression file for ImageNet batch
lebrice Jun 19, 2024
af79c06
Add pytest-testmon dev dependency
lebrice Jun 19, 2024
bfd34cf
Fix pre-commit issue
lebrice Jun 19, 2024
f85ffb4
Fix bug in VisionDataModule.train/test/val kwargs
lebrice Jun 19, 2024
247b873
Fix issues with imagenet32+VisionDataModule
lebrice Jun 19, 2024
cadd54f
Add a regression file for first batch ImageNet32
lebrice Jun 19, 2024
2a3d5bb
Move VisionDataModule, fix import issues
lebrice Jun 20, 2024
7480ac9
Update dependencies
lebrice Jun 20, 2024
662212d
Find working combination of pydantic/lightning
lebrice Jun 20, 2024
4612eab
Fix integration tests that have to do with dataset
lebrice Jun 20, 2024
5020921
Fix typo
lebrice Jun 20, 2024
681cee0
Update devcontainer file
lebrice Jun 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 19 additions & 6 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,15 +59,25 @@
}
},
"containerEnv": {
"SCRATCH": "/home/vscode/scratch"
"SCRATCH": "/home/vscode/scratch",
"SLURM_TMPDIR": "/tmp"
},
// Mount a "$SCRATCH" directory in the host to ~/scratch in the container.
// Mount /network to use this to mount a "$SCRATCH" directory in the host to ~/scratch in the container.
"mounts": [
// https://code.visualstudio.com/remote/advancedcontainers/add-local-file-mount
"source=${localEnv:HOME}/.cache/pdm,target=/home/vscode/.pdm_install_cache,type=bind,consistency=cached",
// Mount a directory which will contain the pdm installation cache (shared with the host machine).
// This will use $SCRATCH/.cache/pdm, otherwise
// Mount a "$SCRATCH" directory in the host to ~/scratch in the container.
"source=${localEnv:SCRATCH},target=/home/vscode/scratch,type=bind,consistency=cached",
"source=${localEnv:NETWORK_DIR:/network},target=/network,type=bind,readonly"
"source=${localEnv:SCRATCH}/.cache/pdm,target=/home/vscode/.pdm_install_cache,type=bind,consistency=cached",
// Mount a /network to match the /network directory on the host.
// FIXME: This assumes that either the NETWORK_DIR environment variable is set on the host, or
// that the /network directory exists.
"source=${localEnv:NETWORK_DIR:/network},target=/network,type=bind,readonly",
// Mount a /tmp on the host machine to /tmp/slurm_tmpdir in the container.
// note: there's also a SLURM_TMPDIR env variable set to /tmp/slurm_tmpdir in the container.
// NOTE: this assumes that either $SLURM_TMPDIR is set on the host machine (e.g. a compute node)
// or that `/tmp/slurm_tmpdir` exists on the host machine.
"source=${localEnv:SLURM_TMPDIR:/tmp/slurm_tmpdir},target=/tmp,type=bind,consistency=cached"
],
"runArgs": [
"--gpus",
Expand All @@ -76,7 +86,10 @@
],
// create the pdm cache dir on the host machine if it doesn exist yet so the mount above
// doesn't fail.
"initializeCommand": "mkdir -p ~/.cache/pdm",
"initializeCommand": {
"create pdm install cache": "mkdir -p ${SCRATCH?need the SCRATCH environment variable to be set.}/.cache/pdm", // todo: put this on $SCRATCH on the host (e.g. compute node)
"create fake SLURM_TMPDIR": "mkdir -p ${SLURM_TMPDIR?need the SLURM_TMPDIR environment variable to be set.}" // this is fine on compute nodes
},
// NOTE: Getting some permission issues with the .cache dir if mounting .cache/pdm to
// .cache/pdm in the container. Therefore, here I'm making a symlink from ~/.cache/pdm to
// ~/.pdm_install_cache so the ~/.cache directory is writeable by the container.
Expand Down
Loading
Loading