Deep learning 如何确定批量大小?

Deep learning 如何确定批量大小?,deep-learning,pytorch,Deep Learning,Pytorch,我正在看这个pytorch入门教程: zero\u grad()函数用于将梯度归零,这意味着它正在以小批量运行,这是正确的假设吗?如果是,在哪里定义批量大小 我为nn.conv2d找到了以下内容: For example, nn.Conv2d will take in a 4D Tensor of nSamples x nChannels x Height x Width. 在这种情况下,nSamples是批量大小吗 但是如何为nn.Linear层指定批量大小?您是否决定加载数据时的小批量是

我正在看这个pytorch入门教程:

zero\u grad()
函数用于将梯度归零,这意味着它正在以小批量运行,这是正确的假设吗?如果是,在哪里定义批量大小

我为
nn.conv2d
找到了以下内容:

For example, nn.Conv2d will take in a 4D Tensor of nSamples x nChannels x Height x Width.
在这种情况下,
nSamples
是批量大小吗

但是如何为
nn.Linear
层指定批量大小?您是否决定加载数据时的小批量是什么

我在这里做了一些假设,可能完全不正确,如果我错了,请纠正我。
谢谢大家!

在数据加载器中预定义批次大小,对于线性层,您不指定批次大小,而是指定上一层的特征数量以及线性操作后希望获得的特征数量

这是Pytorch文档中的代码示例

m = nn.Linear(20, 30)
input = Variable(torch.randn(128, 20))
output = m(input)
print(output.size())

在dataloader中预定义批次大小,对于线性层,您不指定批次大小,而是指定上一层的特征数量以及线性操作后希望获得的特征数量

这是Pytorch文档中的代码示例

m = nn.Linear(20, 30)
input = Variable(torch.randn(128, 20))
output = m(input)
print(output.size())

正如Ryan所说,您不必在Lieanr层中指定批量大小

在这里,我想为你们补充一些东西,以澄清更多细节

我们首先考虑线性层的方程:

其中,X是一个大小为批次大小*in-feats-dim的张量,W是一个大小为out-feats-dim和in-feats-dim的权重矩阵,b是一个大小为out-feats-dim的偏差向量

到目前为止,您可能会发现您的参数W和b与批次大小无关


您可以在Pytorch第1000行到第1002行中检查实施情况。它实际上符合我们上面讨论的内容。

正如Ryan所说,您不必在Lieanr层中指定批量大小

在这里,我想为你们补充一些东西,以澄清更多细节

我们首先考虑线性层的方程:

其中,X是一个大小为批次大小*in-feats-dim的张量,W是一个大小为out-feats-dim和in-feats-dim的权重矩阵,b是一个大小为out-feats-dim的偏差向量

到目前为止,您可能会发现您的参数W和b与批次大小无关

您可以在Pytorch第1000行到第1002行中检查实施情况。它实际上符合我们上面讨论的内容