Python 使用大量类的tflearn标签编码
我正在尝试调整,以便使用12000个不同的类标签和100多万个培训示例进行分类。标签的数量显然是热编码时内存消耗的一个问题。我首先将字符串标签映射到连续整数,然后将它们作为列表传递给Python 使用大量类的tflearn标签编码,python,tflearn,Python,Tflearn,我正在尝试调整,以便使用12000个不同的类标签和100多万个培训示例进行分类。标签的数量显然是热编码时内存消耗的一个问题。我首先将字符串标签映射到连续整数,然后将它们作为列表传递给to_category()函数。以下代码导致MemoryError: trainY = to_categorical(trainY, nb_classes=n_classes) 我必须这样编码标签吗?还是应该使用不同于交叉熵的损失函数?我可以使用tflearn分批培训吗?我可以将生成器传递给DNN.fit()函数吗
to_category()
函数。以下代码导致MemoryError:
trainY = to_categorical(trainY, nb_classes=n_classes)
我必须这样编码标签吗?还是应该使用不同于交叉熵的损失函数?我可以使用tflearn分批培训吗?我可以将生成器传递给DNN.fit()
函数吗
谢谢你的建议 在回归层中,您可以指定馈入的标签应为运行时的热编码标签
tflearn.layers.regression(incoming_net,
loss = 'categorical_crossentropy',
batch_size = 64,
to_one_hot = True,
n_classes = 12000)
这样,您就不会出现内存错误,因为标签将在培训时成批编码。您是否要一次处理所有标签?这种方法可以在不做太多更改的情况下进行调整,但您需要批量处理这些图像。一次载入内存实在太多了。谢谢,正是我所需要的!:-)