Deep learning 如何确定批量大小?
我正在看这个pytorch入门教程: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层指定批量大小?您是否决定加载数据时的小批量是
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行中检查实施情况。它实际上符合我们上面讨论的内容