元素数量太大

时间:2019-12-08 10:09:00

标签: python tensorflow

尝试使用tensorflow训练数据时出现此错误。

  

tensorflow / core / framework / op_kernel.cc:1651] OP_REQUIRES在以下位置失败   collect_nd_op.cc:47:无效的参数:params.NumElements()太大   对于int32索引:2153378304> 2147483647

相关代码是这样,对于较小的数据集,它可以按预期工作。如何将其应用于更大的数据?

ml_df_collect = list()

similarity_input_placeholder = tf.placeholder(tf.string, shape=(None))
similarity_message_encodings = embed(similarity_input_placeholder)
with tf.Session() as session:
    session.run(tf.global_variables_initializer())
    session.run(tf.tables_initializer())
    message_embeddings_ = session.run(
        similarity_message_encodings,
        feed_dict={similarity_input_placeholder: messages},
    )
corr = np.inner(message_embeddings_, message_embeddings_)

ml_df_collect.append(corr)

1 个答案:

答案 0 :(得分:1)

gather_nd失败,因为张量对于int32索引而言太大。

TensorFlow文档指定gather_nd也可以接受int64索引(https://www.tensorflow.org/api_docs/python/tf/gather_nd)。

为索引张量使用int64而不是int32是解决方案。