定义自己的生成器函数时,如下所示:
def generator(features, labels, batch_size):
# Create empty arrays to contain batch of features and labels#
batch_features = np.zeros((batch_size, 64, 64, 3))
batch_labels = np.zeros((batch_size,1))
while True:
for i in range(batch_size):
# choose random index in features
index= random.choice(len(features),1)
batch_features[i] = some_processing(features[index])
batch_labels[i] = labels[index]
yield batch_features, batch_labels
是否可以指定batch_features中的某个维度是任意的。假设我的batch_size是32并且我有10个不同的功能,但样本数量是未定义的。所以我有这样的想法:
np.zeros((32, ,10))
即。一些样本可以是任何东西。我知道将训练数据传递到keras中的.fit()函数只会对维度产生约束,而不会对样本数量产生约束。但是,我不确定如何修改上面给出的代码,以合并我的要求。
编辑: 我真正感兴趣的是,我是否可以创建一些形式的东西:
np.array([1,2,3],[[1,2,3],[4,5,6]],[[1,2,3],[4,5,6],[1,2,3],[4,5,6]])
看起来不可能这样做。