这是到collabhttps://colab.research.google.com/drive/1wftAvDu_Wu2Y9ahgI1Z1FLciUH5MnSJ9的链接
列车标签=['GovernmentSchemes'、'GovernmentSchemes'、'GovernmentSchemes'、'GovernmentSchemes'、'CropInsurance']
training_label_seq = np.array(label_tokenizer.texts_to_sequences(train_labels))
输出:
[list([3]) list([3]) list([3]) ... list([2]) list([5]) list([1])]
预期产出:
[[3] [3] [3] .. [2] [5]...]
num_epochs = 30
history = model.fit(train_padded, training_label_seq, epochs=num_epochs, validation_data=(validation_padded, validation_label_seq))
错误=>;ValueError:无法将NumPy数组转换为张量(不支持的对象类型列表)
我可以使用以下代码重新创建您的问题-
重新创建问题的代码-
输出-
解决方案-
np.hstack
替换np.array
将解决您的问题。你的model.fit()
现在应该可以正常工作了李>training_label_list = label_tokenizer.texts_to_sequences(train_labels)
将为您提供一个列表。您可以使用np.array([np.array(i) for i in training_label_list])
转换为数组的数组。仅当列表列表包含相同元素数的列表时,此操作才有效李>np.hstack代码-溶液中1号点的代码
输出-
问题中的预期输出-解决方案中第2点的代码
输出-
希望这能回答你的问题。快乐学习
更新2/6/2020-Anirudh_k07,根据我们的讨论,我查看了您的程序,在使用
np.hstack
作为标签后,您在model.fit()
中发现以下错误出现此错误是因为很少有标签具有特殊字符,如
-
和/
。因此,在执行np.hstack(label_tokenizer.texts_to_sequences(train_labels)
时,他们正在创建额外的行。您可以使用print(set(train_labels))
打印唯一的train_labels
列表以下是我想说的要点-
输出-
因此,请进行适当的预处理,消除
train_labels
中的这些特殊字符,然后在标签上使用np.hstack(label_tokenizer.texts_to_sequences(train_labels))
。在那之后,你的model.fit()
应该可以正常工作希望这能回答你的问题。快乐学习
相关问题 更多 >
编程相关推荐