跳转至

云端GPU环境配置指南

适用场景: 本地无GPU、学习深度学习、快速上手 难度: ⭐ 简单 预计时间: 10-20分钟

推荐: 最快开始深度学习的方式!免费GPU、无需配置环境、直接运行代码。


📋 为什么使用云端GPU?

优势

免费GPU: Google Colab、Kaggle提供免费T4/P100 GPU ✅ 零配置: 预装深度学习框架(TensorFlow、PyTorch) ✅ 随时随地: 浏览器即用,无需本地环境 ✅ 协作友好: 分享链接即可共享代码 ✅ 适合学习: Stage 3-4完全够用

劣势

时间限制: 单次会话限制(Colab 12小时、Kaggle 9小时) ❌ 不稳定: GPU不保证可用,可能排队 ❌ 数据限制: 上传大数据集较慢 ❌ 不适合生产: 仅适合学习和实验


🚀 方案对比

平台 GPU 免费时长 存储 网络 推荐度
Google Colab T4(16GB) 12小时/次 108GB临时 ⭐⭐⭐⭐⭐
Kaggle Notebooks P100(16GB) 30小时/周 73GB临时 ⭐⭐⭐⭐⭐
AWS SageMaker Lab T3.xlarge 50小时/月 15GB持久 ⭐⭐⭐⭐
Paperspace Gradient M4000(8GB) 6小时/次 5GB持久 ⭐⭐⭐
本地配置 取决硬件 无限 无限 - ⭐⭐⭐⭐(有GPU)

推荐新手: Google Colab(最简单) 或 Kaggle(GPU更好)


方案A: Google Colab(推荐新手)

Step 1: 访问Google Colab

访问: https://colab.research.google.com/

前提条件: Google账号(Gmail)


Step 2: 创建或上传Notebook

方法1: 从GitHub导入本教程

  1. 点击"文件" → "在GitHub中打开笔记本"
  2. 输入仓库URL: https://github.com/yourusername/py_ai_tutorial
  3. 选择要打开的notebook(如notebooks/stage3/00-quick-start.ipynb)

方法2: 上传本地notebook

  1. 点击"文件" → "上传笔记本"
  2. 选择本地的.ipynb文件

方法3: 创建新notebook

  1. 点击"文件" → "新建笔记本"
  2. 开始编写代码

Step 3: 启用GPU

# 1. 点击"代码执行程序" → "更改运行时类型"
# 2. 硬件加速器: 选择"GPU"(或"TPU")
# 3. 点击"保存"

# 验证GPU
!nvidia-smi

预期输出:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.x.x    Driver Version: 525.x.x    CUDA Version: 12.0       |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla T4            Off  | 00000000:00:04.0 Off |                    0 |
| N/A   45C    P0    26W /  70W |      0MiB / 15360MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+


Step 4: 安装本教程依赖(如需要)

# Colab预装了大部分包,通常不需要额外安装
# 如果需要特定版本:

!pip install numpy==1.26.4 pandas==2.2.2 scikit-learn==1.4.2

# 验证
import numpy as np
import pandas as pd
import torch
import tensorflow as tf

print(f'NumPy: {np.__version__}')
print(f'Pandas: {pd.__version__}')
print(f'PyTorch: {torch.__version__}')
print(f'TensorFlow: {tf.__version__}')
print(f'CUDA可用: {torch.cuda.is_available()}')

Step 5: 上传数据

方法1: 从本地上传(小文件)

from google.colab import files

# 上传文件
uploaded = files.upload()

# 查看上传的文件
!ls

方法2: 从Google Drive挂载(推荐)

from google.colab import drive

# 挂载Google Drive
drive.mount('/content/drive')

# 访问Drive中的文件
!ls /content/drive/MyDrive/

# 读取数据
import pandas as pd
df = pd.read_csv('/content/drive/MyDrive/data/your_data.csv')

方法3: 从GitHub克隆

!git clone https://github.com/yourusername/py_ai_tutorial.git
%cd py_ai_tutorial

# 现在可以访问项目文件
!ls notebooks/

方法4: 直接下载

!wget https://example.com/data.csv
!curl -O https://example.com/data.zip
!unzip data.zip

Step 6: 运行教程代码

# 运行快速入门教程
%cd py_ai_tutorial

# 安装项目依赖(如果从GitHub克隆)
!pip install -e .

# 运行单元格开始学习!

保存结果

下载文件到本地:

from google.colab import files

# 下载单个文件
files.download('model.pkl')

# 或保存到Google Drive
import joblib
joblib.dump(model, '/content/drive/MyDrive/models/my_model.pkl')

方案B: Kaggle Notebooks(GPU更好)

Step 1: 访问Kaggle

访问: https://www.kaggle.com/

前提条件: Kaggle账号(免费注册)


Step 2: 创建Notebook

  1. 点击右上角"Create" → "New Notebook"
  2. 或访问: https://www.kaggle.com/code

Step 3: 启用GPU

  1. 右侧面板 → "Settings" → "Accelerator"
  2. 选择"GPU T4 x2"或"GPU P100"
  3. 点击"Save"

验证GPU:

!nvidia-smi

Step 4: 导入数据

方法1: 上传数据集

  1. 点击"File" → "Upload Dataset"
  2. 上传文件(支持CSV、JSON、图片等)
  3. 在代码中引用:
import pandas as pd

# Kaggle数据在 /kaggle/input/ 目录
df = pd.read_csv('/kaggle/input/your-dataset/data.csv')

方法2: 使用Kaggle公开数据集

  1. 搜索并添加数据集
  2. 右侧"Add Data" → 搜索数据集名称
  3. 代码中访问:
# 例如使用Titanic数据集
df = pd.read_csv('/kaggle/input/titanic/train.csv')

方法3: 从GitHub导入

!git clone https://github.com/yourusername/py_ai_tutorial.git

Step 5: 运行代码

# Kaggle预装了常用库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier

# 开始你的分析和建模!

保存和分享

提交Notebook:

  1. 点击右上角"Save Version"
  2. 选择"Quick Save"或"Save & Run All"
  3. 分享链接给他人

下载结果:

# 输出保存到 /kaggle/working/
model.save('/kaggle/working/my_model.h5')

# 右键下载文件

方案C: AWS SageMaker Studio Lab

Step 1: 注册账号

访问: https://studiolab.sagemaker.aws/

注意: 需要申请,通常1-3天审核


Step 2: 创建项目

  1. 登录后点击"Open project"
  2. 选择运行时: "CPU"或"GPU"(免费50小时/月)
  3. 点击"Start runtime"

Step 3: 打开JupyterLab

  1. 运行时启动后点击"Open JupyterLab"
  2. 上传或创建notebook

Step 4: 使用Git克隆教程

# 在Terminal中
git clone https://github.com/yourusername/py_ai_tutorial.git
cd py_ai_tutorial

# 安装依赖
pip install -e .

Step 5: 验证GPU

import torch

print(f'PyTorch版本: {torch.__version__}')
print(f'CUDA可用: {torch.cuda.is_available()}')
if torch.cuda.is_available():
    print(f'GPU设备: {torch.cuda.get_device_name(0)}')

🔧 通用技巧

1. 安装本教程依赖

在任何云平台中:

# 从GitHub安装
!pip install git+https://github.com/yourusername/py_ai_tutorial.git

# 或克隆后安装
!git clone https://github.com/yourusername/py_ai_tutorial.git
%cd py_ai_tutorial
!pip install -e .

2. 检查当前环境

import sys
import platform
import numpy as np
import pandas as pd
import torch
import tensorflow as tf

print(f'Python版本: {sys.version}')
print(f'系统: {platform.system()}')
print(f'NumPy: {np.__version__}')
print(f'Pandas: {pd.__version__}')
print(f'PyTorch: {torch.__version__}')
print(f'TensorFlow: {tf.__version__}')

# GPU检查
print(f'\nPyTorch CUDA: {torch.cuda.is_available()}')
print(f'TensorFlow GPU: {len(tf.config.list_physical_devices("GPU"))}')

3. 管理会话时间

Colab防断线技巧(不推荐滥用):

// 在浏览器控制台运行(F12)
function KeepAlive() {
  document.querySelector("colab-toolbar-button#connect").click();
}
setInterval(KeepAlive, 60000);  // 每分钟点击一次

更好的做法: - 定期保存检查点 - 使用Google Drive保存模型 - 训练完成后及时断开


4. 数据持久化

Colab + Google Drive:

from google.colab import drive
drive.mount('/content/drive')

# 保存模型到Drive
import joblib
joblib.dump(model, '/content/drive/MyDrive/models/model.pkl')

# 保存训练历史
import pandas as pd
history_df = pd.DataFrame(history.history)
history_df.to_csv('/content/drive/MyDrive/logs/training_history.csv')

Kaggle持久化:

# 输出到 /kaggle/working/ 会在结束后保留
model.save('/kaggle/working/my_model.h5')

5. 加速技巧

使用预训练模型:

# 使用Hugging Face加速下载
from transformers import pipeline

# 第一次会下载,后续会缓存
classifier = pipeline("sentiment-analysis")

并行数据加载:

from torch.utils.data import DataLoader

# 使用多进程加载数据
dataloader = DataLoader(dataset, batch_size=32, num_workers=4)

📊 性能对比实测

在不同平台训练ResNet50(ImageNet 1 epoch):

平台 GPU 训练时间 免费额度
Colab(免费) T4 45分钟 12小时/次
Kaggle P100 38分钟 30小时/周
Colab Pro V100 22分钟 $9.99/月
本地RTX 3060 RTX 3060 35分钟 无限
本地CPU i7-10700 8小时+ 无限

结论: 免费云GPU完全够用于学习!


🐛 常见问题

问题1: Colab断线丢失数据

解决方案:

# 定期保存检查点
import os
from google.colab import drive

if not os.path.exists('/content/drive'):
    drive.mount('/content/drive')

# 每N个epoch保存一次
checkpoint_path = '/content/drive/MyDrive/checkpoints/model_epoch_{}.h5'
model.save(checkpoint_path.format(epoch))


问题2: GPU不可用

症状: torch.cuda.is_available() 返回 False

解决方案: 1. 检查是否启用了GPU运行时 2. Colab: "代码执行程序" → "更改运行时类型" → "GPU" 3. Kaggle: Settings → Accelerator → 选择GPU 4. 重启运行时


问题3: 内存不足(OOM)

症状: RuntimeError: CUDA out of memory

解决方案:

# 减小batch size
batch_size = 16  # 原来是64

# 清理缓存
import torch
torch.cuda.empty_cache()

# 使用混合精度训练
from torch.cuda.amp import autocast
with autocast():
    output = model(input)


问题4: 安装依赖冲突

解决方案:

# 强制重装
!pip install --upgrade --force-reinstall numpy pandas

# 或使用特定版本
!pip install numpy==1.26.4 --no-deps


问题5: 文件上传慢

解决方案:

# 使用wget从外部下载(更快)
!wget https://example.com/large_file.zip

# 使用gdown从Google Drive分享链接下载
!pip install gdown
!gdown https://drive.google.com/uc?id=FILE_ID


💰 付费选项(可选)

如果免费额度不够,考虑以下付费方案:

服务 价格 GPU 适用场景
Colab Pro $9.99/月 V100/A100 学生/个人
Kaggle(付费) 免费 P100 竞赛
Paperspace Gradient $8/月起 M4000+ 小项目
AWS EC2 p3 $3.06/小时 V100 生产环境
GCP AI Platform $2.48/小时 V100 生产环境

建议: Stage 3-4学习阶段,免费额度完全够用!


📝 最佳实践

  1. 优先使用Kaggle: 如果你做数据竞赛或使用公开数据集
  2. 优先使用Colab: 如果你需要Google Drive集成
  3. 本地开发,云端训练: 在本地编写代码,云端运行耗时任务
  4. 版本控制: 使用Git管理代码,而不是依赖云平台
  5. 定期保存: 每次重要进展都保存检查点

📝 开始学习

云端环境配置完成后:

  1. docs/prerequisites.md
  2. docs/learning-path.md
  3. notebooks/stage3/00-quick-start.ipynb

📚 相关文档


最后更新: 2025-11-10 维护者: py_ai_tutorial团队