【发布时间】:2021-09-06 06:48:54
【问题描述】:
我目前正在学习机器学习课程,但此时我陷入了困境。我的代码也和导师展示的完全一样,但他一直在屏幕外更改代码,谁能帮忙
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import preprocessing
import numpy
imdb = keras.datasets.imdb
(train_data, train_lables), (test_data, test_lables) = imdb.load_data(num_words=10000)
_word_index = imdb.get_word_index()
word_index = {k:(v+3) for k,v in _word_index.items()}
word_index["<PAD>"] = 0
word_index["<START>"] = 1
word_index["<UNK>"] = 2
word_index["<UNUSED>"] = 3
reverse_word_index = dict([(value, key) for (key, value) in word_index.items()])
def decode_review(text):
return " ".join([reverse_word_index.get(i, "?") for i in text])
train_data=keras.preprocessing.sequence.pad_sequences(train_data, value=word_index["<PAD>"], padding="post",maxlen=250)
train_data=keras.preprocessing.sequence.pad_sequences(test_data, value=word_index["<PAD>"], padding="post",maxlen=250)
model = keras.Sequential()
model.add(keras.layers.Embedding(88000, 16))
model.add(keras.layers.GlobalAveragePooling1D())
model.add(keras.layers.Dense(16, activation="relu"))
model.add(keras.layers.Dense(1, activation="sigmoid"))
model.summary()
model.compile(optimizer="adam",loss="binary_crossentropy",metrics=["accuracy"])
x_val = train_data[:10000]
x_train = train_data[10000:]
y_val = train_lables[:10000]
y_train = train_lables[10000:]
fitModel = model.fit(x_train, y_train,epochs=40,batch_size=512,validation_data=(x_val, y_val),verbose=1)
results = model.evaluate(test_data, test_lables)
```
【问题讨论】:
-
错误信息是什么?你在哪一行得到错误?请附上完整的错误信息。
-
仅基于错误消息 - 在某些时候
numpy可能试图将列表列表转换为数组,但列表的长度并不完全相同。因此,numpy不是一个二维值数组,而是一个列表对象的一维数组。Tensorflow不知道该怎么办。使用完整的错误跟踪会更清楚发生这种情况的位置。
标签: python numpy tensorflow keras