gpt4 book ai didi

javascript - tensorflow : Uncaught (in promise) TypeError: Cannot read property 'length' of undefined

转载 作者:行者123 更新时间:2023-11-30 19:04:35 32 4
gpt4 key购买 nike

这是我在加载页面后对从 DOM 抓取的图像进行预处理时遇到的最新问题。我们已经做到了用户可以加载图像的地方,当他们点击我们的按钮来识别图像时,它会经过预处理图像的过程以被我们的模型接受,打印出 Tensor 对象值,然后当它出现时点击 model.predict行,它因标题中的错误而中断; Uncaught (in promise) TypeError: Cannot read property 'length' of undefined在最底部; at HTMLDivElement.<anonymous> (main.js:39)

但是,它所讨论的 HTMLDivElement 被定义为我每次单击识别按钮时都会将其记录下来以进行完整性检查; User Image: <img src="data:image/png;base64,..." class="user_pic">

这是我的张量对象,以详细格式打印:

Tensor
dtype: float32
rank: 4
shape: [1,200,200,3]
values:
[[[[56 , 105, 11 ],
[53 , 101, 9 ],
[49 , 97 , 8 ],
...,
[91 , 151, 99 ],
[92 , 152, 101],
[91 , 151, 99 ]],

[[56 , 102, 12 ],
[52 , 98 , 9 ],
[48 , 93 , 8 ],
...,
[94 , 154, 103],
[95 , 155, 104],
[94 , 154, 103]],

[[53 , 99 , 11 ],
[51 , 97 , 11 ],
[44 , 90 , 7 ],
...,
[92 , 151, 103],
[93 , 152, 104],
[94 , 153, 105]],

...
[[21 , 61 , 8 ],
[21 , 61 , 8 ],
[21 , 61 , 8 ],
...,
[28 , 88 , 1 ],
[36 , 93 , 4 ],
[44 , 99 , 9 ]],

[[22 , 62 , 9 ],
[22 , 62 , 9 ],
[22 , 62 , 9 ],
...,
[29 , 92 , 3 ],
[29 , 89 , 1 ],
[40 , 98 , 7 ]],

[[22 , 62 , 10 ],
[22 , 62 , 10 ],
[22 , 62 , 10 ],
...,
[32 , 97 , 7 ],
[30 , 92 , 3 ],
[34 , 94 , 4 ]]]]

另一个奇怪的部分,这是我在其他教程中注意到的并且它有效,是当我将我的张量图像处理为可接受的格式时,我将它分配给一个变量但是当稍后调用该变量时在上面,它是 undefined

下面的完整错误:

Uncaught (in promise) TypeError: Cannot read property 'length' of undefined
at Fm (tfjs@latest:2)
at e.predict (tfjs@latest:2)
at e.predict (tfjs@latest:2)
at HTMLDivElement.<anonymous> (main.js:39)

下面是我的代码

let identify = document.querySelector('.identify')
if (identify) {
identify.addEventListener('click', async function () {
event.preventDefault()

// Just a promise but is the model I need. Checked the layers and it matches up
const model = await tf.loadLayersModel('model_json')
console.log('This is your model: ', model)

let user_pic = document.querySelector('.user_pic')
console.log('User Image: ', user_pic)

// Preprocessing is done here as it wasn't working when I saved it to a variable
prediction = model.predict(
tf.browser.fromPixels(user_pic).cast('float32').expandDims().print(true), { batchSize: 4 })

console.log('This is your model: ', model, 'This is your prediction: ', prediction)
})

我很好奇其他人是否遇到过这个问题并了解如何解决它。我对 Tensorflow.js 很陌生,我能找到的并不是我需要的。如果有人能帮忙,非常感谢

最佳答案

您传递给 model.predict 的是 print 返回的内容,而不是张量本身

prediction = model.predict(
tf.browser.fromPixels(user_pic).cast('float32').expandDims())

关于javascript - tensorflow : Uncaught (in promise) TypeError: Cannot read property 'length' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59120612/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com