Jupyter Notebook中使用GPU进行计算

news/2025/2/26 5:37:47

要在Jupyter Notebook中使用GPU进行计算,请按照以下步骤操作:

  1. 检查GPU可用性

    在终端/Anaconda Prompt中运行以下命令以确认是否有可用的GPU:

    nvidia-smi
    
  2. 安装所需的库

    首先,在终端/Anaconda Prompt中,依次安装PyTorch及其相关的CPU和GPU支持包:

    pip install torch torchvision torchaudio
    # 如果需要多线程支持:
    export OMP_NUM_THREADS=4
    # 扩展CuDNN库的搜索路径(可选):
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.0/lib64
    
  3. 设置环境变量

    在终端/Anaconda Prompt中,修改或新增.bashrc文件中的内容以配置以下环境变量(在每个新行后按Enter):

    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.0/lib64
    PATH=/usr/local/cuda-12.0/bin:$PATH
    

    重新运行所有上述步骤可能需要多次登录别机或系统重启。

  4. 配置PyTorch使用GPU

    在Jupyter Notebook中添加以下代码来配置 PyTorch 使用可用的 GPU:

    python">import torch
    
    if torch.cuda.is_available():
        print('Current device:', torch.cuda.current_device())
        print('Device name:', torch.cuda.get_device_name(0))
        # 设置多个可用GPU时,将索引从0开始设置
    else:
        print('Using CPU!')
    
    # 如果需要指定显卡:
    torch.cuda.set_device(0)  # 替换为要使用的GPU索引
    
  5. 运行计算在GPU上

    示例代码中创建两个张量 ab 并执行GPU上的矩阵乘法:

    python">a = torch.randn(2, 3).cuda()  # 将张量移动到GPU上
    b = torch.randn(3, 4).cuda()
    c = torch.mm(a, b)            # 使用PyTorch内置的矩阵乘法
    d = a @ b                      # 添加Python 3.5+支持的短阵乘法
    
  6. 保存和重新载入修改

    • 保存修改后的 Jupyter Notebook文件。
    • 关闭前一个会话后,打开新会话并重新加载文件,否则新的代码更改可能不会生效。
  7. 验证计算是否在GPU上运行

    运行以下命令查看 cd 的设备:

    python">print(f'张量 c位于{c.device}上')
    print(f'张量 d位于{d.device}上')
    

    检查是否有错误,比如 GPU可用性返回False或输出显示"cuda:0"。

  8. 处理常见问题

    • 安装问题:确保 PyTorch 和_cuda版本与您的NVIDIA显卡匹配,并查阅[Pip Install guide](https://pytorch.org/docs/stable/get started.html# Install).
    • 不支持的错误信息:如遇到无法导入模块,请检查PyTorch是否正确安装、路径是否设置正确或环境变量是否被正确识别。
    • 无法使用GPU:确认命令是否执行后才指定 GPU(即修改代码后重新运行会话)。
  9. 扩展功能

    如果需要,可以启用以下PyTorch选项以进一步优化 GPU 性能:

    python"># 多GPU计算示例:
    if torch.cuda.device_count() > 1:
        print("Let's use multiple GPUs!")
      
    # 使用混合精度训练:
    scaler = torch.cuda.amp.GradScaler()
      
    # 启用自动混合精度(AMP)和执行优化选项:
    with torch.amp.autocast():
        outputs = model(inputs)
    
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
    

通过遵循这些步骤,您可以在 Jupyter Notebook 中有效地利用 GPU 进行计算。确保在每次运行时重新加载会话以应用新设置的参数。如果有问题出现,请检查所有环境变量和安装指令是否正确配置。


http://www.niftyadmin.cn/n/5868068.html

相关文章

Windows前端开发IDE选型全攻略

Windows前端开发IDE选型全攻略 一、核心IDE对比矩阵 工具名称最新版本核心优势适用场景推荐指数引用来源VS Code2.3.5轻量级/海量插件/跨平台/Git深度集成全栈开发/中小型项目⭐⭐⭐⭐⭐14WebStorm2025.1智能提示/框架深度支持/企业级调试工具大型项目/专业前端团队⭐⭐⭐⭐47…

Deepseek 实战全攻略,领航科技应用的深度探索之旅

想玩转 Deepseek?这攻略别错过!先带你了解它的基本原理,教你搭建运行环境。接着给出自然语言处理、智能客服等应用场景的实操方法与代码。还分享模型微调、优化技巧,结合案例加深理解,让你全面掌握,探索科技…

树莓派4基于Debian GNU/Linux 12 (Bookworm)系统安装

1. 安装驱动程序和系统烧录软件 有两个软件,一个负责驱动安装,一个负责系统烧录。 1. 点击rpiboot_setup.exe进行驱动程序的安装 安装成功后: 2. 点击imager_1.8.5.exe进行系统烧录软件的安装 安装成功后: 2. 将电脑和树莓派连…

Apache IoTDB: 物联网时序数据库的分布式核心技术与实际应用

随着物联网(IoT)的快速发展,时序数据管理成为了一个重要的技术挑战。Apache IoTDB,作为Apache基金会的顶级项目,提供了一种高效、可扩展的解决方案来应对这一挑战。本文将深入探讨Apache IoTDB的分布式核心技术和其在实…

Java 设计模式 面试题及答案整理,最新面试题

Java中单例设计模式有哪些实现方式? Java中单例设计模式主要有以下几种实现方式: 1、懒汉式(线程不安全): 这种实现方式支持延迟加载,但是在多线程环境下不能保证单例的唯一性。 2、懒汉式(线…

论文阅读笔记:Deep Face Recognition: A Survey

论文阅读笔记:Deep Face Recognition: A Survey 1 介绍2 总览2.1 人脸识别组件2.1.1 人脸处理2.1.2 深度特征提取2.1.3 基于深度特征的人脸对比 3 网络结构和损失函数3.1 判别损失函数的演化3.1.1 基于欧式距离的损失3.1.2 基于角度/余弦边距的损失3.1.3 Softmax损失…

理解 AI IDE 中的代码库索引:深入探讨 Cursor 的实现

人工智能(AI)正在改变众多行业,软件开发也不例外。像 Cursor 这样的 AI 驱动的集成开发环境(IDE)正在改变开发者编写、理解和维护代码的方式。这些工具超越了传统 IDE 的功能,通过利用机器学习技术提供智能…

基于数据挖掘的长株潭二手房数据分析与可视化

1.选题背景分析 1.1选题的目的和意义 互联网发展日新月异,产生的影响已经渗透到产业发展、经济结构和社会生 活的各层各面。当前互联网科技发展跃升到全行业渗透、新模式融合的阶段,数 字技术深度创新生产模式并不断创造新业态,为各行各业带…