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 ValueError:检查输入时出错:预期密集_输入具有形状(46),但获得具有形状(1)的数组_Python_Tensorflow_Tf.keras - Fatal编程技术网

Python ValueError:检查输入时出错:预期密集_输入具有形状(46),但获得具有形状(1)的数组

Python ValueError:检查输入时出错:预期密集_输入具有形状(46),但获得具有形状(1)的数组,python,tensorflow,tf.keras,Python,Tensorflow,Tf.keras,这不是我的代码我只是试着改变了神经网络的部分问题就从那里开始, 我做错了什么 training = np.array(training) # Shape = (46, 26) output = np.array(output) # Shape = (26, 6) model = Sequential() model.add(Dense(8, input_shape=(46,))) model.add(Dense(8)) model.add(Dense(units=len(output[0]

这不是我的代码我只是试着改变了神经网络的部分问题就从那里开始, 我做错了什么

training = np.array(training)  # Shape = (46, 26)
output = np.array(output)  # Shape = (26, 6)

model = Sequential()
model.add(Dense(8, input_shape=(46,)))
model.add(Dense(8))
model.add(Dense(units=len(output[0]), activation='softmax'))

model.compile(optimizer='adam',
          loss='categorical_crossentropy',
          metrics=['accuracy'])

model.fit(training, output, batch_size=8, epochs=100)



def get_bag_of_words(sentence, words_list):
    bag_of_words = [0 for _ in range(len(words_list))]

    sentence_words = word_tokenize(sentence)
    sentence_words = [stemmer.stem(word.lower()) for word in sentence_words if word.isalpha()]

    for word_in_sentence in sentence_words:
        for i, word in enumerate(words_list):
            if word == word_in_sentence:
                bag_of_words[i] = 1

    bag_of_words = np.array(bag_of_words)

    return bag_of_words
ValueError:检查输入时出错:预期密集_输入具有形状(46),但获得具有形状(1)的数组

尝试使其形状=(1,46):

def chat():
    print("Start talking with the bot (type quit to stop)!")

    while True:
        inp = input("You: ")
        if inp.lower() == 'quit':
            break

        input_data = get_bag_of_words(inp, words_list)   # Shape = (46,)
        results = model.predict(input_data)    ##### Error happens here
        results_index = np.argmax(results)
        tag = labels[results_index]

        for tg in data['intents']:
            if tg['tag'] == tag:
                responses = tg['responses']

        print(random.choice(responses))
input_data = numpy.reshape(input_data, (1, input_data.shape[0]))