应该检出哪个git分支?
- domain-adaptation 分支包含以下论文的代码:
- metric-learning 分支包含以下论文的代码:
目前我只能为 domain-adaptation
分支提供技术支持(帮助解决代码问题、修复bug等)。
安装
克隆此仓库:
git clone https://github.com/KevinMusgrave/powerful-benchmarker.git
然后进入文件夹并安装所需包:
cd powerful-benchmarker
pip install -r requirements.txt
在 constants.yaml
中设置路径
exp_folder
:实验将保存为exp_folder
内的子文件夹dataset_folder
:数据集将下载到这里。例如,<dataset_folder>/mnistm
conda_env
:(可选)将为slurm任务激活的conda环境slurm_folder
:slurm日志将保存到<exp_folder>/.../<slurm_folder>
gdrive_folder
:(可选)可以上传日志的Google Drive文件夹
文件夹组织
访问每个文件夹以查看其自述文件。
文件夹 | 描述 |
---|---|
latex | 从实验数据创建latex表格的代码。 |
notebooks | Jupyter笔记本 |
powerful_benchmarker | 用于训练模型的超参数搜索代码。 |
scripts | 各种bash脚本,包括将日志上传到Google Drive的脚本。 |
unit_tests | 检查是否存在bug的测试。 |
validator_tests | 评估验证方法(验证器)的代码。 |
有用的顶级脚本
delete_slurm_logs.py
删除所有slurm日志:
python delete_slurm_logs.py --delete
或删除特定实验组的slurm日志。例如,删除所有以"officehome"开头的实验组的slurm日志:
python delete_slurm_logs.py --delete --exp_group_prefix officehome
kill_all.py
终止所有模型训练任务:
python kill_all.py
或终止所有验证器测试任务:
python kill_all.py --validator_tests
print_progress.py
打印已完成的超参数试验数量:
python print_progress.py
包括验证器测试任务的详细摘要:
python print_progress.py --with_validator_progress
保存到 progress.txt
而不是打印到屏幕:
python print_progress.py --save_to_file progress.txt
simple_slurm.py
通过slurm运行程序的简单方法。
例如,为所有以"office31"开头的实验组运行 collect_dfs.py
,为每个实验组使用单独的slurm任务:
python simple_slurm.py --command "python validator_tests/collect_dfs.py" --slurm_config_folder validator_tests \
--slurm_config a100 --job_name=collect_dfs --cpus-per-task=16 --exp_group_prefix office31
或完全不考虑实验组运行程序:
python simple_slurm.py --command "python validator_tests/zip_dfs.py" --slurm_config_folder validator_tests \
--slurm_config a100 --job_name=zip_dfs --cpus-per-task=16
upload_logs.py
定期(默认每2小时)将slurm日志和实验进度上传到Google Drive文件夹:
python upload_logs.py
在 constants.yaml
中设置Google Drive文件夹。
标志
感谢 Jeff Musgrave 设计标志。
引用论文
@article{Musgrave2022ThreeNew,
title={Three New Validators and a Large-Scale Benchmark Ranking for Unsupervised Domain Adaptation},
author={Kevin Musgrave and Serge J. Belongie and Ser Nam Lim},
journal={ArXiv},
year={2022},
volume={abs/2208.07360}
}