news 2026/4/28 18:42:32

从零开始:手把手教你用Tabby和Anaconda在超算上跑通第一个AI模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从零开始:手把手教你用Tabby和Anaconda在超算上跑通第一个AI模型

从零开始:手把手教你用Tabby和Anaconda在超算上跑通第一个AI模型

第一次接触超级计算机时,那种既兴奋又忐忑的心情我至今记忆犹新。看着屏幕上闪烁的命令行,仿佛面对一扇通往未知世界的大门。作为AI研究者或学生,掌握超算使用技能已成为必备能力——它能让你在几分钟内完成本地电脑需要数天才能跑完的实验。本文将带你从零开始,一步步完成从连接超算到成功运行第一个PyTorch模型的全过程。

1. 准备工作:连接超算与基础环境搭建

1.1 选择合适的终端工具

Tabby作为现代化终端工具,相比传统SSH客户端有显著优势:

  • 多平台支持:Windows/macOS/Linux全兼容
  • 会话管理:保存多个服务器配置,一键连接
  • 文件传输:内置SFTP功能,拖拽即可上传下载
  • 界面定制:支持主题、字体、快捷键个性化

安装完成后,首次配置需要填写:

主机:your_supercomputer.edu.cn 端口:22 (默认SSH端口) 用户名:your_username 认证方式:密码/SSH密钥

注意:部分超算中心要求使用VPN连接校园网后才能访问,具体政策请咨询管理员

1.2 首次登录与基础命令

成功连接后,你会看到类似这样的提示符:

[your_username@login-node ~]$

先运行几个基础命令熟悉环境:

命令作用示例输出
pwd显示当前路径/home/your_username
ls列出文件data/ code/ downloads/
df -h查看磁盘空间Size Used Avail Use% Mounted on
sinfo查看计算节点PARTITION AVAIL NODES STATE

2. Python环境配置:Anaconda实战

2.1 安装Anaconda

推荐下载最新Miniconda(更轻量):

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh sh Miniconda3-latest-Linux-x86_64.sh

安装过程关键选择:

  1. 按回车阅读协议
  2. 输入yes同意条款
  3. 安装路径:默认为/home/your_username/miniconda3
  4. 初始化选择yes

安装完成后执行:

source ~/.bashrc

看到命令提示符前出现(base)即表示成功。

2.2 创建虚拟环境

为PyTorch项目创建独立环境:

conda create -n pytorch_env python=3.9 conda activate pytorch_env

环境管理常用命令:

  • conda list:查看已安装包
  • conda deactivate:退出当前环境
  • conda env remove -n env_name:删除环境

3. 深度学习环境配置

3.1 安装PyTorch与CUDA

首先确认超算GPU型号:

nvidia-smi

根据输出选择匹配的PyTorch版本。例如对于A100显卡:

conda install pytorch torchvision torchaudio \ pytorch-cuda=11.7 -c pytorch -c nvidia

验证安装:

python -c "import torch; print(torch.cuda.is_available())"

应输出True

3.2 典型问题排查

若CUDA不可用,检查以下环节:

  1. GPU驱动nvidia-smi应有正常输出
  2. CUDA版本nvcc --version与PyTorch要求匹配
  3. 环境激活:确保在正确的conda环境中

4. 运行第一个AI模型

4.1 MNIST示例代码

创建mnist_demo.py

import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms # 数据预处理 transform = transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,)) ]) # 加载数据 train_data = datasets.MNIST( './data', train=True, download=True, transform=transform) train_loader = torch.utils.data.DataLoader( train_data, batch_size=64, shuffle=True) # 定义模型 class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.fc = nn.Linear(784, 10) def forward(self, x): return self.fc(x.view(-1, 784)) model = Net().cuda() criterion = nn.CrossEntropyLoss() optimizer = optim.SGD(model.parameters(), lr=0.01) # 训练循环 for epoch in range(5): for data, target in train_loader: data, target = data.cuda(), target.cuda() optimizer.zero_grad() output = model(data) loss = criterion(output, target) loss.backward() optimizer.step() print(f'Epoch {epoch} Loss: {loss.item():.4f}')

4.2 提交计算任务

创建作业脚本job.sh

#!/bin/bash #SBATCH --job-name=mnist #SBATCH --partition=gpu #SBATCH --gres=gpu:1 #SBATCH --time=00:10:00 #SBATCH --output=mnist_%j.out module load cuda/11.7 conda activate pytorch_env python mnist_demo.py

提交任务:

sbatch job.sh

查看任务状态:

squeue -u your_username

任务完成后查看输出:

cat mnist_*.out

5. 效率优化技巧

5.1 数据传输加速

使用rsync替代scp

rsync -avzP local_dir your_username@supercomputer:/remote/path

参数说明:

  • -a:归档模式
  • -v:显示进度
  • -z:压缩传输
  • -P:断点续传

5.2 环境持久化配置

将常用设置加入~/.bashrc

# Conda初始化 . ~/miniconda3/etc/profile.d/conda.sh conda activate pytorch_env # 别名设置 alias myjobs='squeue -u $USER' alias cgpu='nvidia-smi'

使配置生效:

source ~/.bashrc

第一次成功在超算上跑通模型时的成就感,至今让我难忘。记得当时盯着loss曲线稳定下降的那种兴奋,仿佛打开了新世界的大门。超算的使用门槛其实没有想象中高,关键是要跨出第一步。当你熟悉这套流程后,可以尝试更复杂的模型和分布式训练——那将是另一个令人着迷的领域。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 18:40:33

终极指南:如何用CZSC缠论量化插件实现通达信智能交易分析

终极指南:如何用CZSC缠论量化插件实现通达信智能交易分析 【免费下载链接】Indicator 通达信缠论可视化分析插件 项目地址: https://gitcode.com/gh_mirrors/ind/Indicator CZSC缠论可视化分析插件是一款专为通达信设计的开源量化工具,通过算法自…

作者头像 李华
网站建设 2026/4/28 18:37:23

免费获取Book118无水印PDF:Java下载器完整使用教程

免费获取Book118无水印PDF:Java下载器完整使用教程 【免费下载链接】book118-downloader 基于java的book118文档下载器 项目地址: https://gitcode.com/gh_mirrors/bo/book118-downloader 还在为Book118文档的水印和付费限制烦恼吗?这款基于Java开…

作者头像 李华
网站建设 2026/4/28 18:36:33

如何快速掌握Material Design Lite:Google官方组件库完整指南

如何快速掌握Material Design Lite:Google官方组件库完整指南 【免费下载链接】material-design-lite Material Design Components in HTML/CSS/JS 项目地址: https://gitcode.com/gh_mirrors/ma/material-design-lite Material Design Lite(MDL&…

作者头像 李华
网站建设 2026/4/28 18:27:21

JCSprout位运算:从基础到实战的Java高效算法优化指南

JCSprout位运算:从基础到实战的Java高效算法优化指南 【免费下载链接】JCSprout 👨‍🎓 Java Core Sprout : basic, concurrent, algorithm 项目地址: https://gitcode.com/gh_mirrors/jc/JCSprout 在Java编程中,位运算作…

作者头像 李华