pytorch的一些例子

本文整理了PyTorch中一个简单的两层神经网络训练案例,通过随机生成的数据来优化网络参数,详细内容可在'Learning Pytorch with Examples'中查看。

整理几个pytorch的简单例子,详见: Learning Pytorch with Examples.


一、构造一个简单的两层神经网络,并使用随机生成的数据训练参数:

import torch
from torch.autograd import Variable

# 构造一个两层的神经网络
class TwoLayerNet(torch.nn.Module):
    def __init__(self, D_in, H, D_out):
        """
        实例话两个nn.Linear模型然后把他们赋值给成员变量
        """
        super(TwoLayerNet, self).__init__()
        self.linear1 = torch.nn.Linear(D_in, H)
        self.linear2 = torch.nn.Linear(H, D_out)

    def forward(self, x):
        """
        在forward中,接受一个Variable作为输入,也必须返回一个Variable作为输出
        """
        h_relu = self.linear1(x).clamp(min=0)
        y_pred = self.linear2(h_relu)
        return y_pred


# N is batch size; D_in is input dimension;
# H is hidden dimension; D_out is output dimension.
N, D_in, H, D_out = 64, 1000, 100, 10

# 产生两个随机张量,并将它们
### PyTorch 使用 GPU 的示例代码 在 PyTorch 中,可以通过 `torch.cuda` 模块来检测和利用 GPU 加速计算。下面是一个完整的示例代码,展示如何验证 GPU 是否可用以及如何将模型和数据移动到 GPU 上运行。 #### 验证 CUDA 可用性 通过调用 `torch.cuda.is_available()` 函数可以判断当前环境是否支持 CUDA[^1]。此函数返回布尔值,表示是否存在可用的 NVIDIA GPU 和已安装的 CUDA 库。 ```python import torch # 检查CUDA是否可用 if not torch.cuda.is_available(): raise SystemError("CUDA is not available on this machine.") print(f"CUDA Available: {torch.cuda.is_available()}") # 输出True或False ``` #### 设置设备对象 创建一个设备对象用于指定张量和模型应该存储在哪种硬件上(CPU 或 GPU)。如果系统中有多个 GPU,则还可以进一步指定具体的 GPU 编号[^2]。 ```python device = torch.device("cuda" if torch.cuda.is_available() else "cpu") print(f"Using device: {device}") ``` #### 构建简单线性层模型并迁移至GPU 定义神经网络结构并将其实例化后转移到选定的设备上执行运算操作。 ```python import torch.nn as nn model = nn.Linear(10, 5).to(device) # 定义一个输入维度为10、输出维度为5的全连接层,并将其放置于所选设备之上 ``` #### 数据准备与传输 生成随机数作为模拟输入数据,并同样迁移到对应的处理单元中去完成后续步骤中的实际推断过程。 ```python input_data = torch.randn(10).to(device) # 创建大小为10的一维正态分布随机数组成的数据样本集;然后把它放到之前设定好的位置上去做下一步骤的操作。 output = model(input_data) # 执行一次标准意义上的向前传递动作得到最终预测结果。 ``` #### 结果处理 当需要把经过训练后的参数或者测试阶段产生的中间产物带回主机内存里保存起来的时候,记得再次转换回来成为普通的 CPU 类型变量形式以便正常访问读取其数值属性等内容。 ```python output_cpu = output.to("cpu").detach().numpy() print(output_cpu) ``` 以上就是关于如何在 PyTorch 当中充分利用图形处理器来进行高效矩阵乘法等相关任务的一个基础入门指南说明文档啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值