pytorch中的zip函数读取数据

看到很有用的一个zip函数,写的很清楚了,在训练的时候经常会用来读取数据

zip函数的原型为:zip([iterable, …])

参数iterable为可迭代的对象,并且可以有多个参数。该函数返回一个以元组为元素的列表,其中第 i 个元组包含每个参数序列的第 i 个元素。返回的列表长度被截断为最短的参数序列的长度。只有一个序列参数时,它返回一个1元组的列表。没有参数时,它返回一个空的列表。

import numpy as np
a=[1,2,3,4,5]
b=(1,2,3,4,5)
c=np.arange(5)
d="zhang"
zz=zip(a,b,c,d)
print(zz)

输出:
[(1, 1, 0, 'z'), (2, 2, 1, 'h'), (3, 3, 2, 'a'), (4, 4, 3, 'n'), (5, 5, 4, 'g')]

当没有参数的时候

import numpy as np
zz=zip()
print(zz)
输出:[]

当只有一个参数的时候

import numpy as np
a=[1,2,3]
zz=zip(a)
print(zz)

输出:[(1,), (2,), (3,)]

更多请见
原文链接

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用PyTorch的DataLoader和Dataset类来同时加载3个自定义数据集。以下是一个简单的代码示例: ```python from torch.utils.data import DataLoader, Dataset class CustomDataset1(Dataset): def __init__(self, ...): # 初始化数据集1 def __getitem__(self, index): # 获取数据集1的一个样本 def __len__(self): # 获取数据集1的长度 class CustomDataset2(Dataset): def __init__(self, ...): # 初始化数据集2 def __getitem__(self, index): # 获取数据集2的一个样本 def __len__(self): # 获取数据集2的长度 class CustomDataset3(Dataset): def __init__(self, ...): # 初始化数据集3 def __getitem__(self, index): # 获取数据集3的一个样本 def __len__(self): # 获取数据集3的长度 # 创建3个自定义数据集的实例 dataset1 = CustomDataset1(...) dataset2 = CustomDataset2(...) dataset3 = CustomDataset3(...) # 创建3个数据加载器 dataloader1 = DataLoader(dataset1, batch_size=..., shuffle=...) dataloader2 = DataLoader(dataset2, batch_size=..., shuffle=...) dataloader3 = DataLoader(dataset3, batch_size=..., shuffle=...) # 在训练循环使用3个数据加载器 for epoch in range(num_epochs): for data1, data2, data3 in zip(dataloader1, dataloader2, dataloader3): # 进行训练 ``` 在上面的代码,我们首先定义了3个自定义数据集类,然后创建了3个实例,并使用它们创建了3个数据加载器。在训练循环,我们使用Python的zip函数将3个数据加载器打包在一起,以便可以在每个训练步骤同时加载3个数据集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值