小编Mer*_*rry的帖子

对 Pytorch 中使用 super() 进行神经网络构建感到困惑

我了解在初始化类时使用super()从类继承属性和方法。然而,当在神经网络环境中使用它时,例如:

class Net(nn.Module):
      def __init__(self, num_inputs, num_outputs, num_hiddens1, num_hiddens2,
                 is_training = True):
          super(Net, self).__init__()
Run Code Online (Sandbox Code Playgroud)

我很困惑为什么super()调用同一个班级。这是什么意思以及为什么这样做?

非常感谢!

python class superclass neural-network pytorch

6
推荐指数
0
解决办法
971
查看次数

pytorch 数据加载器的示例或解释?

我对 Pytorch 相当陌生(并且从未做过高级编码)。我正在尝试使用 d2l.ai 教科书学习深度学习的基础知识,但在理解数据加载器代码背后的逻辑时遇到困难。我阅读了torch.utils.data 文档,但不确定 DataLoader 类的用途,以及例如我应该将 torch.utils.data.TensorDataset 类与其结合使用时。例如,d2l定义了一个函数:

def load_array(data_arrays, batch_size, is_train=True):
    """Construct a PyTorch data iterator."""
    dataset = data.TensorDataset(*data_arrays)
    return data.DataLoader(dataset, batch_size, shuffle=is_train)
Run Code Online (Sandbox Code Playgroud)

我认为这应该返回一个迭代不同批次的迭代。但是,我不明白 data.TensorDataset 部分的作用(似乎文档页面上列出了很多选项)。此外,文档还说有两种类型的数据集:可迭代数据集和地图样式数据集。在描述前一种类型时,它说

“这种类型的数据集特别适合随机读取成本昂贵甚至不可能的情况,并且批量大小取决于获取的数据。”

“随机读取成本昂贵或不可能”以及批量大小取决于获取的数据意味着什么?谁能举个例子吗?

如果有任何资源可以让像我这样的 CompSci 新手学习这些基础知识,我真的很感激!

非常感谢!

python pytorch dataloader

3
推荐指数
1
解决办法
4960
查看次数

标签 统计

python ×2

pytorch ×2

class ×1

dataloader ×1

neural-network ×1

superclass ×1