如何将SLURM作业发送到集群的教程,尤其适用于深度学习和数据科学
所以你习惯于使用Google Colab的免费GPU训练深度学习模型,但你已经准备升级并利用集群的强大能力,但你不知道如何做到这一点?你来对地方了!🚀
在我在剑桥大学的神经科学研究实习期间,我为计算机视觉任务训练了大型模型,而Google提供的免费GPU是不够的,所以我决定使用本地集群。
然而,很少有文档可用,我不得不向其他人要求脚本,以尝试理解它们,并且多多少少编译了一些对我有用的东西。现在我已经整理了运行基本Python脚本所需的所有内容。这个指南是我当时希望拥有的。
一个典型的机器学习用例
假设你想训练一个鸟类分类器,有500个不同的类别和高分辨率的图片。这是在Google Colab上永远无法运行的。
你需要做的第一件事是确保你的深度学习模型训练脚本准备好了。这个脚本应该包含加载数据集、定义神经网络结构和设置训练循环所需的代码。
你应该能够从终端运行这个脚本。
例如,假设你有一个名为train_bird_classifier.py的脚本,你应该能够用以下命令运行它:
python train_bird_classifier.py
这个脚本可能看起来像这样:
# train_bird_classifier.pyimport torchfrom torch.utils.data import DataLoader# 假设各种函数、模型和转换在各个文件中定义。from utils import build_model, BirdDataset, collate_fn, train_modelfrom transformations import train_transforms, test_transformsdef main(): device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") # 数据集和数据加载器设置 train_dataset = BirdDataset('data/train/', transform=train_transforms) train_loader =…