首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在pytorch基本示例中包含批量大小?

如何在pytorch基本示例中包含批量大小?
EN

Stack Overflow用户
提问于 2018-08-08 04:34:41
回答 1查看 18.4K关注 0票数 11

我是pytorch的新手。以下是使用nn模块训练包含一些随机数据的简单单层模型(from here)的基本示例

代码语言:javascript
复制
import torch
N, D_in, H, D_out = 64, 1000, 100, 10

x = torch.randn(N, D_in)
y = torch.randn(N, D_out)

model = torch.nn.Sequential(
    torch.nn.Linear(D_in, H),
    torch.nn.ReLU(),
    torch.nn.Linear(H, D_out),
)
loss_fn = torch.nn.MSELoss(reduction='sum')
optimizer = torch.optim.Adam(model.parameters(), lr=1e-4)
for t in range(500):
    y_pred = model(x)

    loss = loss_fn(y_pred, y)
    print(t, loss.item())

    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

据我所知,在本例中,批处理大小等于1,换句话说,使用单个点(满分64)来计算梯度和更新参数。我的问题是:如何修改这个示例来训练批量大于1的模型?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-08 04:44:06

实际上,N就是批处理大小。所以你只需要修改N当前设置为64即可。因此,在每个训练批次中都有64个大小/暗淡的D_in向量。

我检查了你发布的链接,你也可以看看评论--也有一些解释:)

代码语言:javascript
复制
# -*- coding: utf-8 -*-
import numpy as np

# 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

# Create random input and output data
x = np.random.randn(N, D_in)
y = np.random.randn(N, D_out)

# Randomly initialize weights
w1 = np.random.randn(D_in, H)
w2 = np.random.randn(H, D_out)

learning_rate = 1e-6
for t in range(500):
    # Forward pass: compute predicted y
    h = x.dot(w1)
    h_relu = np.maximum(h, 0)
    y_pred = h_relu.dot(w2)

    # Compute and print loss
    loss = np.square(y_pred - y).sum()
    print(t, loss)

    # Backprop to compute gradients of w1 and w2 with respect to loss
    grad_y_pred = 2.0 * (y_pred - y)
    grad_w2 = h_relu.T.dot(grad_y_pred)
    grad_h_relu = grad_y_pred.dot(w2.T)
    grad_h = grad_h_relu.copy()
    grad_h[h < 0] = 0
    grad_w1 = x.T.dot(grad_h)

    # Update weights
    w1 -= learning_rate * grad_w1
    w2 -= learning_rate * grad_w2
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51735001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档