「Deep Learning」理解Pytorch中的「torch.utils.data」

本文详细介绍了PyTorch中DataLoader类的使用方法及其参数意义,包括如何通过设置shuffle和num_workers等参数来提高数据加载效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sina Weibo:小锋子Shawn
Tencent E-mail:403568338@qq.com
http://blog.youkuaiyun.com/dgyuanshaofeng/article/details/80331503

基于Pytorch 0.4.0
四、DataLoader
class torch.utils.data.DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, batch_sampler=None, num_workers=0, collate_fn=, pin_memory=False, drop_last=False, timeout=0, worker_init_fn=None)

文档解释。翻译为“数据载入器,结合数据集和采样器,并提供单进程或多进程迭代器”。
文档在此,torch.utils.data.DataLoader
源代码在此,Source code for torch.utils.data.dataloader

参数学习。
shuffle - 默认为False,所以通常要打开它,在学习每一轮数据集时,对数据进行洗牌。如果要用sampler,那么要关shuffle。
num_workers - 指进行数据载入所用的子进程的数量,默认为0,则由主进程进行数据载入,可设置为2,使用多线程。
pin_memory - 如果为真(True),在返回张量之前,数据载入器将复制张量(tensors)到CUDA pinned内存中。可能为了加速吧。在使用时,True状态会默认占用GPU 0的显存。False状态就不用显存了。(20180516)

Traceback (most recent call last): File "<stdin>", line 1, in <module> File "D:\Deeplearning\Anaconda_envs\pytorch\lib\site-packages\torch\__init__.py", line 2126, in <module> from torch import _VF as _VF, functional as functional # usort: skip File "D:\Deeplearning\Anaconda_envs\pytorch\lib\site-packages\torch\functional.py", line 8, in <module> import torch.nn.functional as F File "D:\Deeplearning\Anaconda_envs\pytorch\lib\site-packages\torch\nn\__init__.py", line 8, in <module> from torch.nn.modules import * # usort: skip # noqa: F403 File "D:\Deeplearning\Anaconda_envs\pytorch\lib\site-packages\torch\nn\modules\__init__.py", line 1, in <module> from .module import Module # usort: skip File "D:\Deeplearning\Anaconda_envs\pytorch\lib\site-packages\torch\nn\modules\module.py", line 17, in <module> from torch.utils._python_dispatch import is_traceable_wrapper_subclass File "D:\Deeplearning\Anaconda_envs\pytorch\lib\site-packages\torch\utils\__init__.py", line 8, in <module> from torch.utils import ( File "D:\Deeplearning\Anaconda_envs\pytorch\lib\site-packages\torch\utils\data\__init__.py", line 1, in <module> from torch.utils.data.dataloader import ( File "D:\Deeplearning\Anaconda_envs\pytorch\lib\site-packages\torch\utils\data\dataloader.py", line 22, in <module> import torch.utils.data.graph_settings File "D:\Deeplearning\Anaconda_envs\pytorch\lib\site-packages\torch\utils\data\graph_settings.py", line 8, in <module> from torch.utils.data.datapipes.iter.sharding import ( File "D:\Deeplearning\Anaconda_envs\pytorch\lib\site-packages\torch\utils\data\datapipes\__init__.py", line 1, in <module> from torch.utils.data.datapipes import dataframe as dataframe, iter as iter, map as map File "D:\Deeplearning\Anaconda_envs\pytorch\lib\site-packages\torch\utils\data\datapipes\iter\__init__.py", line 1, in <module> from torch.utils.data.datapipes.iter.callable import ( File "D:\Deeplearning\Anaconda_envs\pytorch\lib\site-packages\torch\utils\data\datapipes\iter\callable.py", line 7, in <module> from torch.utils.data._utils.collate import default_collate File "D:\Deeplearning\Anaconda_envs\pytorch\lib\site-packages\torch\utils\data\_utils\__init__.py", line 54, in <module> from . import collate, fetch, pin_memory, signal_handling, worker File "D:\Deeplearning\Anaconda_envs\pytorch\lib\site-packages\torch\utils\data\_utils\collate.py", line 327, in <module> default_collate_fn_map[np.ndarray] = collate_numpy_array_fn AttributeError: module 'numpy' has no attribute 'ndarray'
最新发布
06-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值