InvalidArgumentError : indices[6,0] = 88140 is not in [0, 10



我是tensorflow和Keras的初学者。我看到其他人也发布了类似的问题。我试图修复,但仍然错误

#Install
pip install --upgrade tensorflow
#Import
import os
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from typing import Dict, Text
import tensorflow as tf
%matplotlib inline
# Ratings data.
df_ratings = pd.read_csv("ratings.csv")
nmovieId = df_ratings.movieId.nunique()
nuserId = df_ratings.userId.nunique()
#movie input network
input_movie = tf.keras.layers.Input(shape=[1])
embed_movie = tf.keras.layers.Embedding(nmovieId,15)(input_movie)
movie_out = tf.keras.layers.Flatten()(embed_movie)
#user input network
input_users = tf.keras.layers.Input(shape=[1])
embed_users = tf.keras.layers.Embedding(nuserId,15)(input_users)
users_out = tf.keras.layers.Flatten()(embed_users)
# Concatenates
conc_layer = tf.keras.layers.Concatenate()([movie_out, users_out])
x = tf.keras.layers.Dense(128, activation='relu')(conc_layer)
x_out = tf.keras.layers.Dense(1, activation='relu')(x)
model = tf.keras.Model([input_movie, input_users], x_out)

使用输入列表进行拟合

hist = model.fit([Xtrain.movieId, Xtrain.userId], Xtrain.rating, 
batch_size=64, 
epochs=5)

我在尝试拟合模型时遇到的错误如下。

InvalidArgumentError:  indices[6,0] = 88140 is not in [0, 10000)
[[node functional_5/embedding_4/embedding_lookup

检查您的数据。电影或用户总数为10000。但你的一张唱片的.movieID.userID是88140。

相关内容

最新更新