Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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 将段落中的每个单词分类(TF Keras)_Python_Tensorflow_Tf.keras - Fatal编程技术网

Python 将段落中的每个单词分类(TF Keras)

Python 将段落中的每个单词分类(TF Keras),python,tensorflow,tf.keras,Python,Tensorflow,Tf.keras,我想创建一个模型,将0到vocab\u size之间的input\u len整数向量转换为0到31之间的input\u len整数向量 整数的顺序很重要,因为这些向量代表我试图用32种可能的类别对每个单词进行分类的段落 我有以下培训数据: 段落本身(输入)格式为单词数组,编号为0-vocab\u size,填充或切掉为input\u len单词 标签(输出)格式化为相同长度的标签数组0-31(0表示无) 合成的示例输入可能类似于:[12,4,63,2,9],而输出可能类似于[0,0,3,0,7]

我想创建一个模型,将0到
vocab\u size
之间的
input\u len
整数向量转换为0到31之间的
input\u len
整数向量

整数的顺序很重要,因为这些向量代表我试图用32种可能的类别对每个单词进行分类的段落

我有以下培训数据:

段落本身(输入)格式为单词数组,编号为0-
vocab\u size
,填充或切掉为
input\u len
单词 标签(输出)格式化为相同长度的标签数组0-31(0表示无)

合成的示例输入可能类似于:
[12,4,63,2,9]
,而输出可能类似于
[0,0,3,0,7]

model=tf.keras.models.Sequential([
tf.keras.layers.Embedding(声音大小、嵌入尺寸、输入长度=输入长度),
tf.keras.layers.LSTM(128,输入形状=(输入长度,嵌入尺寸),
返回_序列=真),
tf.keras.layers.Dense(32,活化='relu')
])
compile('adam','sparse\u categorical\u crossentropy',metrics=['accurity']))
模型拟合(x_序列,y_序列,历次=10)
模型评估(x_检验,y_检验)
上面的代码抛出错误

InvalidArgumentError:无法挤压尺寸[1],应为1,获得1000“

目前,
input\u len=1000


TLDR,我有一个shape
(training\u set\u size,input\u len)
的输入,希望LSTM有一个shape
(training\u set\u size,input\len)的输出

它是否告诉您哪一行抛出了错误?或者它只是在您尝试编译/拟合时发出的?您的
y\u序列的形状是什么?
?如果您使用的是
sparse\u Category\u crossentropy
,它不应该是一个热编码的,所以它需要是一个大小向量
(training\u set\u size,input\len)
,其中
输入列中每个单词的值是与所需类关联的整数,0-31。y列的形状是(训练集大小,输入列),并且它不是一个热编码的。而且,是的,它只有在我尝试拟合它时才会抛出错误。它编译得很好。尝试将您的
Dense
层包装在
keras.layers.TimeDistributed()中
,让我知道这是否解决了问题。如果没有你的数据,我很难在我这方面进行测试。如果它有效,我会在回答中加入更多的信息。这不起作用。但是,我不知道TimeDistributed()的存在,更深入的研究让我找到了一个教程,我现在将通过它来看看这是否有帮助。谢谢!