Python day34

@浙大疏锦行 python day34

内容:

  • 使用GPU训练及类的call方法
  • 使用GPU训练:调用.to(device)就可以使用GPU进行训练,且只有继承nn.Module以及torch.Tensor类型的才可以调用上述方法,同时计算时所有的输入张量和模型必须处于用一个设备,否则会触发运行时错误
  • __call__方法:类内部定义的一个方法,使用实例化后的类名即可直接调用

代码:

python 复制代码
import torch

# 检查CUDA是否可用
if torch.cuda.is_available():
    print("CUDA可用!")
    # 获取可用的CUDA设备数量
    device_count = torch.cuda.device_count()
    print(f"可用的CUDA设备数量: {device_count}")
    # 获取当前使用的CUDA设备索引
    current_device = torch.cuda.current_device()
    print(f"当前使用的CUDA设备索引: {current_device}")
    # 获取当前CUDA设备的名称
    device_name = torch.cuda.get_device_name(current_device)
    print(f"当前CUDA设备的名称: {device_name}")
    # 获取CUDA版本
    cuda_version = torch.version.cuda
    print(f"CUDA版本: {cuda_version}")
    # 查看cuDNN版本(如果可用)
    print("cuDNN版本:", torch.backends.cudnn.version())

else:
    print("CUDA不可用。")


# 设置GPU设备
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print(f"使用设备: {device}")


# 实例化模型并移至GPU
model = MLP().to(device)
python 复制代码
class Studen():
    def __init__(self, name):
        self.name = name
    def __call(self):
        print("Hello + self.name")

stu1 = Student()
stu1() # 输出 Hello, name
相关推荐
安逸sgr18 小时前
循环神经网络 RNN、LSTM、GRU 是什么?为什么能处理序列?
人工智能·ai·大模型·agent·智能体
猿小猴子19 小时前
主流 AGENT 实战教程「OpenCodex」与「ChatGPT Work」与「Codex Record & Replay」介绍
人工智能·ai·chatgpt·codex·minimax·deepseek·opencodex
shdwak....sad19 小时前
版本管理&迁移kali-vmware&知识库
人工智能·网络安全
阿标的博客19 小时前
Python实训案例(二):输出植物证书
python
鸿芯微控科技19 小时前
压电点胶阀出胶量不稳定怎么排查?驱动波形、背压、点胶重量与Python分析
开发语言·python·压电点胶阀·精密点胶·点胶重量·流体控制
一位正在转型AI全栈的前端工程师19 小时前
从 0 到 1 搭建生产级 RAG 系统:切片、召回与重排序调优实录
python·前端工程化
程序员cxuan19 小时前
OpenAI Linux 版来了!
人工智能·后端·程序员
糖炒栗子032619 小时前
learn-claude-code 简要记录
笔记·python
用户56190350693319 小时前
OpenAI兼容API报401/404/429怎么解决?API Key、Base URL、模型名排查
人工智能
lucky_syq19 小时前
专栏目录与学习路线 | 48 篇正文导览
人工智能·学习