如何解决如何加载多个训练和有效性数据以训练和验证keras模型
我同时在train_data和valid_data文件夹中存储了训练和有效性数据。在这两个文件夹中的数据都存储在.npz文件中。每个.npz文件都包含形状相同的目标和标签数据=(1024,28)(例如target = tu.npz ['data1']和label = tu.npz ['data2']。我想将它们加载到Keras模型采用类似于ImageDataGenerator的方式,并且想要训练和验证模型,因此我编写并尝试了不同的自定义生成器,但是它不起作用,这是我的代码。希望有人能帮到我。
def tf_train_generator(file_list,batch_size = 1):
i = 0
while True:
if i*batch_size >= len(file_list):
i = 0
np.random.shuffle(file_list)
else:
file_chunk = file_list[i*batch_size:(i+1)*batch_size]
print(len(file_chunk))
for file in file_chunk:
print(file)
temp = np.load(file)
X = temp['data1']
Y= temp['data2']
i = i + 1
yield X,Y
解决方法
将(i = i + 1并产生X,Y)移出for循环。
i= 0
def tf_train_generator(file_list,batch_size = 1):
global i
while True:
if i*batch_size >= len(file_list):
i = 0
np.random.shuffle(file_list)
else:
file_chunk = file_list[i*batch_size:(i+1)*batch_size]
print(len(file_chunk))
for file in file_chunk:
print(file)
temp = np.load(file)
X = temp['data1']
Y= temp['data2']
i = i + 1
yield X,Y
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。