Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.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 lstm层变量输入长度_Python_Keras_Lstm_Speech Recognition_Sentiment Analysis - Fatal编程技术网

python lstm层变量输入长度

python lstm层变量输入长度,python,keras,lstm,speech-recognition,sentiment-analysis,Python,Keras,Lstm,Speech Recognition,Sentiment Analysis,我正在研究语音情感识别我有不同长度的文件我提取mel光谱图作为我的x变量正如你所知mel光谱图根据文件长度而变化 model = Sequential() model.add(layers.LSTM(100, input_shape=(None,1))) model.add(Conv1D(256, 8, padding='same', activation="relu")) model.add(Conv1D(256, 8, padding='sam

我正在研究语音情感识别我有不同长度的文件我提取mel光谱图作为我的x变量正如你所知mel光谱图根据文件长度而变化

model = Sequential()
    model.add(layers.LSTM(100, input_shape=(None,1)))

    model.add(Conv1D(256, 8, padding='same', activation="relu"))

    model.add(Conv1D(256, 8, padding='same', activation="relu"))
    model.add(Dropout(0.25))
    model.add(MaxPooling1D(pool_size=(8)))

    model.add(Conv1D(128, 8, padding='same', activation="relu"))

    model.add(Conv1D(128, 8, padding='same', activation="relu"))

    model.add(Conv1D(128, 8, padding='same', activation="relu"))

    model.add(Conv1D(128, 8, padding='same', activation="relu"))
    model.add(BatchNormalization())
    model.add(MaxPooling1D(pool_size=(8)))

    model.add(Conv1D(64, 8, padding='same', activation="relu"))

    model.add(Conv1D(64, 8, padding='same', activation="relu"))

    #model.add(Flatten())

    model.add(bidirectionnel(layers.LSTM(256)))

    model.add(Dense(256, activation="relu"))
    model.add(Dropout(0.3))

    model.add(Dense(2)) 
    model.add(Activation('softmax'))


    model.compile(optimizer="Adam",
              loss="binary_crossentropy",
              metrics = ['accuracy'])
但是我不断地得到这个错误

层conv1d\u 3的输入0与层不兼容::预期最小ndim=3,发现ndim=2。收到完整形状:(无,100)
它可以用固定输入的cnn层替换第一层lstm层,但我希望有一个灵活的输入层用于推理。我知道0填充是一个解决方案,但在推理过程中,我无法定义音频的最大长度。lstm或RNN通常无法处理不同长度的输入。这是transformer架构背后的动机之一(您可能已经注意到,在前面添加了CNN)

您可能希望进行填充或应用类似于transformer的体系结构