当把我们的数据集训练成像CNN这样的深度学习模型时。我想跟踪数据集中的每一幅图像的序列,该数据集是为了训练神经网络中的每一个时代而选择的。是否可以打印所选图像的序列?
我想以我的分析为例,如果我的数据集只有10幅图像,那么10幅图像组合的顺序是阶乘10 = 3628800。举个例子
序列1: 1,2,3,4,5,6,7,8,9,10
序列2: 2,5,4,3,10,7,8,1,6
序列3: 10,8,6,1,2,3,9,7,4,5
序列4: 1,8,3,?,
序列n:?,
该序列对于网络的训练是非常重要的。如果模型是在序列1上训练的,那么当我用序列2、3或4训练我的网络时,结果可能是不同的。
我正在和Keras和TensorFlow一起工作。
发布于 2021-05-03 16:02:09
您使用的是哪个框架?如果是PyTorch,则始终可以将shuffle=False传递给DataLoader,并从自定义dataloader模块获取图像路径数组。
示例:
def __init__(self, transform=None):
self.input_images = glob.glob('someimagedir')
self.target_masks = [x.replace('image', 'mask') for x in self.input_images]
self.transform = transform
def __len__(self):
return len(self.input_images)
def __getitem__(self, idx):
image = self.input_images[idx]
mask = self.target_masks[idx]
if self.transform:
image = self.transform(image)
return [image, mask]在这里,在DataLoader中设置了self.input_images之后,培训过程将始终遵循与在self.input_images或self.target_masks中看到的相同的模式
https://stackoverflow.com/questions/67370625
复制相似问题