如何解决Tensorflow.js model.fit 不接受字符串值
问题出在这里:
const trainingData = tf.tensor2d(horses.map(item => [
item.horse_sf // <- if item.x value is integer,I don't have a problem
]))
model.fit(trainingData,outputData,{epochs: 100})
.then((history) => {
// console.log(history)
var pred = model.predict(testingData);
var readable_output = pred.dataSync();
console.log(readable_output);
})
UnhandledPromiseRejectionWarning:错误:传递给“gather”的参数“x”必须是数字张量,但得到的是字符串张量
为什么会出现此错误,我该如何解决?
解决方法
神经网络是一种数学结构。它从多个输入开始,这些数字将在网络中进一步计算。所以它必须是一个整数,因为你不能用字符串做数学运算。
解决您的问题取决于您的数据。我认为您的数据库中存在许多马及其属性。因此,假设您有 3 种不同类型的马。给每匹马一个 id,所以 'Morgan' --> 1,'Quarter Horse' --> 2,'Pony' --> 3.
也可以使用您的马匹的属性来执行此操作,这些属性已经不是整数或浮点数。
然后你的模型就可以计算了。
,您回答了自己的问题:
item.horse_sf // <- if item.x value is integer,I don't have a problem
神经网络的输入和输出只能是数字;即整数或浮点数。如果您的 horse_sf
值是整数和字母的混合体,您将不得不将其更改为某个纯粹的数值以在其上训练神经网络。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。