TensorFlowJS 异常 – 无法开始训练,因为另一个 fit() 调用正在进行中

我使用了 tf.expandDims() 来添加维度。虽然我能够进入 model.fit(),但由于这个错误 无法开始训练,因为另一个 fit() 调用正在进行中。无法读取未定义的属性的长度。 你可以在这里找到我的代码

// 使用数据训练模型。 let tesnor_dim =[];let tensr;for(var j=0; j<2; j++){ console.log('resize_image',resize_image);tensr = tf.expandDims(ysarr[j], 0); tesnor_dim.push(tensr);console.log('tesnor_dim',tesnor_dim);    model.fit(resize_image[j], tesnor_dim[j], {epochs: 100}).then((loss) => {         console.log('resize_image[j]',resize_image[j]);         console.log('tesnor_dim[j]',tesnor_dim[j]);         console.log('loss',loss);         const t = model.predict(resize_image[j]);         console.log('Prediction:::'+t);         pred = t.argMax(1).dataSync(); // 获取最高概率的类别                const labelsPred = Array.from(pred).map(e => setLabel[e])                console.log('labelsPred:::'+labelsPred);                //const saveResults = model.save('downloads://my-model-1');                //console.log(saveResults);            }).catch((e) => {                console.log(e.message);            })            }

回答:

当对同一模型调用多个 fit 时,它们必须按顺序执行。这意味着第二个调用只能在第一个调用完成后开始。使用 asyncawait 将防止第二个调用在第一个完成之前发生。

loss = await model.fit(resize_image[j], tesnor_dim[j], {epochs: 100})// 继续其余的处理

Related Posts

为什么我们在K-means聚类方法中使用kmeans.fit函数?

我在一个视频中使用K-means聚类技术,但我不明白为…

如何获取Keras中ImageDataGenerator的.flow_from_directory函数扫描的类名?

我想制作一个用户友好的GUI图像分类器,用户只需指向数…

如何查看每个词的tf-idf得分

我试图了解文档中每个词的tf-idf得分。然而,它只返…

如何修复 ‘ValueError: Found input variables with inconsistent numbers of samples: [32979, 21602]’?

我在制作一个用于情感分析的逻辑回归模型时遇到了这个问题…

如何向神经网络输入两个不同大小的输入?

我想向神经网络输入两个数据集。第一个数据集(元素)具有…

逻辑回归与机器学习有何关联

我们正在开会讨论聘请一位我们信任的顾问来做机器学习。一…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注