Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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 四元模型中的Keras词嵌入_Python_Keras_Embedding_N Gram - Fatal编程技术网

Python 四元模型中的Keras词嵌入

Python 四元模型中的Keras词嵌入,python,keras,embedding,n-gram,Python,Keras,Embedding,N Gram,我正在学习coursera神经网络课程,我正在尝试使用python+keras而不是octave通过作业 我想预测前面三个单词中的第四个单词。我的输入文档共有250个独特的单词 该模型应该有一个嵌入层,将每个单词映射到一个50维的向量空间,一个隐藏层,有200个带S形激活函数的神经元,一个250个单元的输出层,通过softmax激活,对第四个单词与我的词汇表中的单词相等的概率进行评分 我在尺寸方面有问题。这是我的密码: from keras.models import Sequentia

我正在学习coursera神经网络课程,我正在尝试使用python+keras而不是octave通过作业

我想预测前面三个单词中的第四个单词。我的输入文档共有250个独特的单词

该模型应该有一个嵌入层,将每个单词映射到一个50维的向量空间,一个隐藏层,有200个带S形激活函数的神经元,一个250个单元的输出层,通过softmax激活,对第四个单词与我的词汇表中的单词相等的概率进行评分

我在尺寸方面有问题。这是我的密码:

    from keras.models import Sequential

    from keras.layers import Dense, Activation, Embedding


    model = Sequential([Embedding(250,50),
                Dense(200, activation='sigmoid'),
                Dense(250, activation='softmax')

    ])



    model.compile(optimizer='rmsprop',
          loss='categorical_crossentropy',
          metrics=['accuracy'])
但我从未编译过模型,因为我遇到了以下错误:

    Exception: Input 0 is incompatible with layer dense_1: expected ndim=2, found ndim=3
任何暗示都将不胜感激。提前感谢

来自

嵌入层所做的只是将整数输入映射到嵌入矩阵中相应索引处的向量,即序列[1,2]将转换为[embeddings[1],embeddings[2]。这意味着嵌入层的输出将是形状的三维张量(样本、序列长度、嵌入维数)

嵌入层输出3维向量,而密集层需要2维向量

你可以按照链接教程和一些mods,它将适合你的问题