【问题标题】:Error in oneHot: depth must be >=2, but it is 1oneHot 中的错误:深度必须 >=2,但它是 1
【发布时间】:2020-12-09 04:17:02
【问题描述】:

所以我在一个简单的 NeuralNetwork 上使用 js 中的 ml5,该神经网络将使用 p5 js 库通过图像进行训练,将图像放入数组中,然后通过 ml5 训练它们,但我遇到了一个主要问题我花了几个小时寻找这个错误的答案,但在任何地方都找不到。 使用库 p5,p5.sound,sketch,ml5

Js 文件

let RustImage = [];

function preload() {
    for (let i = 0; i < 5; i++) {
        RustImage[i] = loadImage(`RustPhotos/2020-12-08 (${i+7}).png`);

    }
}
let NodeClassifier;

function setup() {
    createCanvas(440, 440);
    // background(0);
    // image(RustImage[0], 0, 0, width, height);

    let options = {
        inputs: [128, 128, 4],
        task: "imageClassification",
        debug: true,
    };

    NodeClassifier = ml5.neuralNetwork(options);

    for (let i = 0; i < RustImage.length; i++) {
        NodeClassifier.addData({ image: RustImage[i] }, { label: "SulfurNode" });
    }
    NodeClassifier.normalizeData();
    NodeClassifier.train({ epochs: 5 }, finishedTraining);

}

function finishedTraining() {
    console.log("Finished Training!");
}

HTML

<!DOCTYPE html>
<html lang="en">

<head>
    <title>Getting Started with ml5.js</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://cdn.jsdelivr.net/npm/p5@1.1.9/lib/p5.js"></script>
    <script src="p5.js"></script>
    <script src="p5.sound.js"></script>
    <script src="sketch.js"></script>
    <script src="https://unpkg.com/ml5@latest/dist/ml5.min.js"></script>
</head>

<body>
    <script src="improring.js"></script>
</body>

</html>

如果有人可以提供帮助并且他们知道此错误的答案或简单的修复方法,请发表评论。

完全错误

Uncaught Error: Error in oneHot: depth must be >=2, but it is 1
node_modules/@tensorflow/tfjs-core/dist/tf-core.esm.js:17
oneHot_ @ c:\Users\mattd\Desktop\Xamp\htdocs\Js Importing Lib\node_modules\@tensorflow\tfjs-core\dist\tf-core.esm.js:17:357944
oneHot @ c:\Users\mattd\Desktop\Xamp\htdocs\Js Importing Lib\node_modules\@tensorflow\tfjs-core\dist\tf-core.esm.js:17:71801
◀ load ▶
<anonymous> @ cdn.jsdelivr.net/npm/p5@1.1.9/lib/p5.js:65707:28
◀ Promise.then ▶
_main.default.loadImage @ cdn.jsdelivr.net/npm/p5@1.1.9/lib/p5.js:65671:30
<anonymous> @ cdn.jsdelivr.net/npm/p5@1.1.9/lib/p5.js:48748:67
preload @ C:\Users\mattd\Desktop\Xamp\htdocs\Js Importing Lib\improring.js:5:24
_start @ cdn.jsdelivr.net/npm/p5@1.1.9/lib/p5.js:48706:19
p5 @ cdn.jsdelivr.net/npm/p5@1.1.9/lib/p5.js:49057:22
_globalInit @ cdn.jsdelivr.net/npm/p5@1.1.9/lib/p5.js:48197:17
◀ Promise.then ▶
51.../core/main @ cdn.jsdelivr.net/npm/p5@1.1.9/lib/p5.js:48222:71
o @ cdn.jsdelivr.net/npm/p5@1.1.9/lib/p5.js:34:19
<anonymous> @ cdn.jsdelivr.net/npm/p5@1.1.9/lib/p5.js:38:22
38../color/color_conversion @ cdn.jsdelivr.net/npm/p5@1.1.9/lib/p5.js:41211:11
o @ cdn.jsdelivr.net/npm/p5@1.1.9/lib/p5.js:34:19
r @ cdn.jsdelivr.net/npm/p5@1.1.9/lib/p5.js:51:9
<anonymous> @ cdn.jsdelivr.net/npm/p5@1.1.9/lib/p5.js:55:7
<anonymous> @ cdn.jsdelivr.net/npm/p5@1.1.9/lib/p5.js:18:12
<anonymous> @ cdn.jsdelivr.net/npm/p5@1.1.9/lib/p5.js:20:3

【问题讨论】:

  • 值得添加您收到的错误的完整堆栈跟踪,以便我们可以了解导致问题的行,否则可能没有很多人能够帮助您。

标签: javascript p5.js ml5


【解决方案1】:

不确定是否相同,但在我的例子中,一些训练数据集只有一个输出标签的单一结果,因此模型不会训练。

它似乎以某种方式与“深度必须 >=2,但它是 1”消息相匹配。

为了确保我只是在数据集中手动添加另一个结果并重新启动

【讨论】:

    猜你喜欢
    • 2018-04-24
    • 2018-06-12
    • 1970-01-01
    • 2020-10-19
    • 2020-02-23
    • 2018-02-24
    • 2020-05-24
    • 2021-08-11
    • 1970-01-01
    相关资源
    最近更新 更多