关于KERAS词向量报错

KERAS小白,做了神经网络,发现老是报错,试了几天还没找出原因,请指点一下

import pandas as pd
import numpy as np
import keras
import sklearn
from sklearn import metrics
from sklearn.model_selection import train_test_split


data=pd.read_csv(r"E:\Kaggle\Quora_Insincere_Questions_Classification\train.csv")
x=data["question_text"]
y=data["target"]
train_x,text_x,train_y,text_y=train_test_split(x,y,test_size=0.1,random_state=2019)
tokenizer=keras.preprocessing.text.Tokenizer(num_words=5000000)
tokenizer.fit_on_texts(list(train_x))
train_x=tokenizer.texts_to_sequences(train_x)
text_x=tokenizer.texts_to_sequences(text_x)
train_x=keras.preprocessing.sequence.pad_sequences(train_x,maxlen=100,padding="post")
text_x=keras.preprocessing.sequence.pad_sequences(text_x,maxlen=100,padding="post")


xor=keras.models.Sequential()
xor.add(keras.layers.embeddings.Embedding(input_dim=100,output_dim=1,mask_zero=False))
xor.add(keras.layers.Dense(100000,input_dim=1))
xor.add(keras.layers.pooling.GlobalMaxPool1D())
xor.add(keras.layers.Activation("relu"))
xor.add(keras.layers.Dense(2,activation="sigmoid"))
xor.add(keras.layers.Dense(2))
xor.add(keras.layers.Dense(1))
xor.compile(loss="binary_crossentropy",optimizer="adam",metrics=["accuracy"])
print(xor.summary())

history=xor.fit(train_x,train_y,epochs=100,verbose=0)
score=xor.evaluate(train_x,train_y)
print(score)

报错的内容
C:UsershaseeAppDataLocalProgramsPythonPython36python.exe E:/pg/Kaggle/Quora/text10.py
Using TensorFlow backend.
_

Total params: 400,111
Trainable params: 400,111
Non-trainable params: 0
_
None
2019-01-04 14:37:15.280404: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
Traceback (most recent call last):
File "E:/pg/Kaggle/Quora/text10.py", line 32, in <module>

history=xor.fit(train_x,train_y,epochs=100,verbose=0)

File "C:UsershaseeAppDataLocalProgramsPythonPython36libsite-packageskerasenginetraining.py", line 1039, in fit

validation_steps=validation_steps)

File "C:UsershaseeAppDataLocalProgramsPythonPython36libsite-packageskerasenginetraining_arrays.py", line 199, in fit_loop

outs = f(ins_batch)

File "C:UsershaseeAppDataLocalProgramsPythonPython36libsite-packageskerasbackendtensorflow_backend.py", line 2715, in call

return self._call(inputs)

File "C:UsershaseeAppDataLocalProgramsPythonPython36libsite-packageskerasbackendtensorflow_backend.py", line 2675, in _call

fetched = self._callable_fn(*array_vals)

File "C:UsershaseeAppDataLocalProgramsPythonPython36libsite-packagestensorflowpythonclientsession.py", line 1439, in call

run_metadata_ptr)

File "C:UsershaseeAppDataLocalProgramsPythonPython36libsite-packagestensorflowpythonframeworkerrors_impl.py", line 528, in exit

c_api.TF_GetCode(self.status.status))

tensorflow.python.framework.errors_impl.InvalidArgumentError: indices[0,2] = 2087 is not in [0, 100)

 [[{{node embedding_1/embedding_lookup}} = GatherV2[Taxis=DT_INT32, Tindices=DT_INT32, Tparams=DT_FLOAT, _class=["loc:@training/Adam/Assign_2"], _device="/job:localhost/replica:0/task:0/device:CPU:0"](embedding_1/embeddings/read, embedding_1/Cast, training/Adam/gradients/embedding_1/embedding_lookup_grad/concat/axis)]]

Process finished with exit code 1

阅读 1.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题