Javascript 带有tensorflowjs的Vue3应用抛出类型错误:无法读取属性';后端';未定义的
我用简单的Jquery构建了一个简单的tensorflowjs应用程序,它工作得很好,虽然预测不是很好,但它工作得很好 现在,我开始使用Vue3为应用程序构建GUI,我使用@vue/cli创建了Vue3。我已经通过npm安装了其他几个插件,比如tailwindcss、clmtrackr,它们运行良好 现在我已经使用npm安装了tensorflowjs-Javascript 带有tensorflowjs的Vue3应用抛出类型错误:无法读取属性';后端';未定义的,javascript,node.js,vue.js,tensorflow,tensorflow.js,Javascript,Node.js,Vue.js,Tensorflow,Tensorflow.js,我用简单的Jquery构建了一个简单的tensorflowjs应用程序,它工作得很好,虽然预测不是很好,但它工作得很好 现在,我开始使用Vue3为应用程序构建GUI,我使用@vue/cli创建了Vue3。我已经通过npm安装了其他几个插件,比如tailwindcss、clmtrackr,它们运行良好 现在我已经使用npm安装了tensorflowjs- npm install @tensorflow/tfjs 所有安装都没有任何错误,但当我在为模型创建和培训设置代码后运行应用程序时,我开始出
npm install @tensorflow/tfjs
所有安装都没有任何错误,但当我在为模型创建和培训设置代码后运行应用程序时,我开始出现错误-
Uncaught (in promise) TypeError: Cannot read property 'backend' of undefined
at Engine.moveData (engine.js?6ae2:288)
at DataStorage.get (backend.js?8b87:29)
at eval (backend_webgl.js?5edb:497)
at Array.every (<anonymous>)
at MathBackendWebGL.shouldExecuteOnCPU (backend_webgl.js?5edb:497)
at concatImpl (Concat_impl.js?2cbf:39)
at Object.concat [as kernelFunc] (Concat.js?b4c2:35)
at kernelFunc (engine.js?6ae2:463)
at eval (engine.js?6ae2:524)
at Engine.scopedRun (engine.js?6ae2:337)
安装所有最新版本的软件包。安装的所有内容都没有任何错误,但无法读取属性“backend”未得到解析
令人惊讶的是,当我在firefox中运行代码时,我得到了未定义错误的信息,在chrome中得到了我不理解的未定义错误的信息
导致错误的代码如下-
async trainModel(imageArray, labelArray) {
// tf.getBackend()
let imageSet = tf.tidy(() => {
return tf.concat(imageArray); <--------------- Error
});
let labelSet = tf.tidy(() => {
return tf.oneHot(tf.tensor1d(labelArray, 'int32'), 3);
})
this.model.fit(.............
}
编辑2:
所以我在getImage()方法上运行了另一个测试,并记录了返回值。它正确返回下面提到的所有值,但同时抛出相同的未定义的后端错误
let imgData = this.getImage()
console.log(imgData)
console.log(imgData.shape)
console.log(imgData.toString())
<--- console output-->
Tensor {kept: false, isDisposedInternal: false, shape: Array(4), dtype: "float32", size: 135000, …}
Models.vue?2820:119 (4) [1, 150, 300, 3]
Models.vue?2820:120 Tensor
[[[[-0.6117647, -0.5411765, -0.3450981],
[-0.6117647, -0.5411765, -0.3450981],
[-0.6117647, -0.5411765, -0.3450981],
...,
[-0.5333334, -0.5019608, -0.3176471],
[-0.5333334, -0.5019608, -0.3176471],
[-0.5333334, -0.5019608, -0.3176471]],
[[-0.6039216, -0.5333334, -0.3372549],
[-0.6078432, -0.5372549, -0.3411765],
[-0.6078432, -0.5372549, -0.3411765],
...,
[-0.5372549, -0.5019608, -0.3176471],
[-0.5372549, -0.5019608, -0.3176471],
[-0.5372549, -0.5019608, -0.3176471]],
[[-0.6 , -0.5294118, -0.3333334],
[-0.6 , -0.5294118, -0.3333334],
[-0.6 , -0.5294118, -0.3333334],
...,
[-0.5372549, -0.4980392, -0.3176471],
[-0.5372549, -0.4980392, -0.3176471],
[-0.5333334, -0.4941177, -0.3137255]],
...
[[-0.4039216, -0.454902 , -0.3529412],
[-0.4078432, -0.4588236, -0.3568628],
[-0.4078432, -0.4588236, -0.3568628],
...,
[-0.309804 , -0.3254902, -0.2352942],
[-0.309804 , -0.3254902, -0.2352942],
[-0.309804 , -0.3254902, -0.2352942]],
[[-0.4039216, -0.454902 , -0.3529412],
[-0.4039216, -0.454902 , -0.3529412],
[-0.4039216, -0.454902 , -0.3529412],
...,
[-0.3058824, -0.3215687, -0.2313726],
[-0.309804 , -0.3254902, -0.2352942],
[-0.309804 , -0.3254902, -0.2352942]],
[[-0.4039216, -0.454902 , -0.3529412],
[-0.4039216, -0.454902 , -0.3529412],
[-0.4039216, -0.454902 , -0.3529412],
...,
[-0.3058824, -0.3215687, -0.2313726],
[-0.309804 , -0.3254902, -0.2352942],
[-0.309804 , -0.3254902, -0.2352942]]]]
Uncaught TypeError: Cannot read property 'backend' of undefined
at Engine.moveData (engine.js?6ae2:288)
at DataStorage.get (backend.js?8b87:29)
at reshape (Reshape.js?ad24:31)
at conv2dWithIm2Row (Conv2D_impl.js?7600:157)
at Object.fusedConv2d [as kernelFunc] (FusedConv2D.js?2d19:46)
at kernelFunc (engine.js?6ae2:463)
at eval (engine.js?6ae2:524)
at Engine.scopedRun (engine.js?6ae2:337)
at Engine.runKernelFunc (engine.js?6ae2:520)
at Engine.runKernel (engine.js?6ae2:393)
让imgData=this.getImage()
console.log(imgData)
console.log(imgData.shape)
console.log(imgData.toString())
张量{keeped:false,isdisposedintenal:false,shape:Array(4),数据类型:“float32”,大小:135000,…}
型号vue?2820:119(4)[11503003]
型号.vue?2820:120张量
[[[[-0.6117647, -0.5411765, -0.3450981],
[-0.6117647, -0.5411765, -0.3450981],
[-0.6117647, -0.5411765, -0.3450981],
...,
[-0.5333334, -0.5019608, -0.3176471],
[-0.5333334, -0.5019608, -0.3176471],
[-0.5333334, -0.5019608, -0.3176471]],
[[-0.6039216, -0.5333334, -0.3372549],
[-0.6078432, -0.5372549, -0.3411765],
[-0.6078432, -0.5372549, -0.3411765],
...,
[-0.5372549, -0.5019608, -0.3176471],
[-0.5372549, -0.5019608, -0.3176471],
[-0.5372549, -0.5019608, -0.3176471]],
[[-0.6 , -0.5294118, -0.3333334],
[-0.6 , -0.5294118, -0.3333334],
[-0.6 , -0.5294118, -0.3333334],
...,
[-0.5372549, -0.4980392, -0.3176471],
[-0.5372549, -0.4980392, -0.3176471],
[-0.5333334, -0.4941177, -0.3137255]],
...
[[-0.4039216, -0.454902 , -0.3529412],
[-0.4078432, -0.4588236, -0.3568628],
[-0.4078432, -0.4588236, -0.3568628],
...,
[-0.309804 , -0.3254902, -0.2352942],
[-0.309804 , -0.3254902, -0.2352942],
[-0.309804 , -0.3254902, -0.2352942]],
[[-0.4039216, -0.454902 , -0.3529412],
[-0.4039216, -0.454902 , -0.3529412],
[-0.4039216, -0.454902 , -0.3529412],
...,
[-0.3058824, -0.3215687, -0.2313726],
[-0.309804 , -0.3254902, -0.2352942],
[-0.309804 , -0.3254902, -0.2352942]],
[[-0.4039216, -0.454902 , -0.3529412],
[-0.4039216, -0.454902 , -0.3529412],
[-0.4039216, -0.454902 , -0.3529412],
...,
[-0.3058824, -0.3215687, -0.2313726],
[-0.309804 , -0.3254902, -0.2352942],
[-0.309804 , -0.3254902, -0.2352942]]]]
未捕获的TypeError:无法读取未定义的属性“backend”
在Engine.moveData(Engine.js?6ae2:288)
在DataStorage.get(backend.js?8b87:29)
重塑时(Reformate.js?ad24:31)
在CONV2WITHIM2ROW(Conv2D_impl.js?7600:157)
在Object.fusedConv2d[作为内核函数](fusedConv2d.js?2d19:46)
在kernelFunc(engine.js?6ae2:463)
评估时(发动机js?6ae2:524)
在Engine.scopedRun(Engine.js?6ae2:337)
位于Engine.runKernelFunc(Engine.js?6ae2:520)
位于Engine.runKernel(Engine.js?6ae2:393)
成功:
let model;
model = await tf.loadGraphModel(MODEL_URL)
错误:
let model = ref();
model.value = await tf.loadGraphModel(MODEL_URL);
无论如何,我解决了这个问题,现在它可以正常运行了。成功:
let model;
model = await tf.loadGraphModel(MODEL_URL)
错误:
let model = ref();
model.value = await tf.loadGraphModel(MODEL_URL);
无论如何,我解决了这个问题,现在它可以正常运行。这与我的问题有什么关系?这与我的问题有什么关系?
let model = ref();
model.value = await tf.loadGraphModel(MODEL_URL);