微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用模型生成器,第一维可变

如何解决使用模型生成器,第一维可变

我有大量数据,我已经对 1000 个文件中的每个文件进行了预处理并将相应的 x 和 y 数据存储在 numpy 数组中。

  • x 数据的形状为:[n 个窗口,128,64,3]
  • y 数据的形状为:[n windows,128,4]

我在预处理过程中使用了滑动窗口,因此每个文件的 n 个窗口是不同的。

我正在尝试使用 model.fit_generator,但我遇到的问题是我不确定在 n_windows 是可变数量的情况下如何使用生成器。

任何帮助将不胜感激。

class Generator(keras.utils.Sequence):

    def __init__(self,filenames,batch_size):
        self.filenames = filenames
        self.batch_size = batch_size

    def __len__(self):
        return (np.ceil(len(self.filenames) / float(self.batch_size))).astype(np.int)

    def __getitem__(self,index):

        files = self.filenames[index * self.batch_size: (index + 1) * self.batch_size]
        x,y = self.load_data(files)
        return x,y

    def load_data(self,files):

        x = np.array([]).reshape(0,3)
        y = np.array([]).reshape(0,4)

        for file in files:

            file_x = np.load('C:/project/data/x/' + file + '.npy')
            file_y = np.load('C:/project/data/y/' + file + '.npy')

            # concatenate x
            x = np.concatenate([x,file_x])
            # concatenate y
            y = np.concatenate([y,file_y])

        return x,y


batch_size = 32
generator = Generator(filenames,batch_size)

model.fit_generator(generator=generator,epochs=5,verbose=1,)

这是我上面的代码

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。