Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用大量类的tflearn标签编码_Python_Tflearn - Fatal编程技术网

Python 使用大量类的tflearn标签编码

Python 使用大量类的tflearn标签编码,python,tflearn,Python,Tflearn,我正在尝试调整,以便使用12000个不同的类标签和100多万个培训示例进行分类。标签的数量显然是热编码时内存消耗的一个问题。我首先将字符串标签映射到连续整数,然后将它们作为列表传递给to_category()函数。以下代码导致MemoryError: trainY = to_categorical(trainY, nb_classes=n_classes) 我必须这样编码标签吗?还是应该使用不同于交叉熵的损失函数?我可以使用tflearn分批培训吗?我可以将生成器传递给DNN.fit()函数吗

我正在尝试调整,以便使用12000个不同的类标签和100多万个培训示例进行分类。标签的数量显然是热编码时内存消耗的一个问题。我首先将字符串标签映射到连续整数,然后将它们作为列表传递给
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)

这样,您就不会出现内存错误,因为标签将在培训时成批编码。

您是否要一次处理所有标签?这种方法可以在不做太多更改的情况下进行调整,但您需要批量处理这些图像。一次载入内存实在太多了。谢谢,正是我所需要的!:-)