我正在使用tensorflow.js制作一个颜色分类器。训练方法是在画布中显示一种颜色,有10个按钮与10种颜色相关,用户需要单击其中任何一个按钮来选择颜色。从按钮获取输入,对颜色进行标准化并应用tf.oneHot
,张量看起来是这样的。rgb颜色和标签
Tensor
[[0.772549, 0.3568628, 0.9098039],]
Tensor
[[1, 0, 0, 0, 0, 0, 0, 0, 0, 0],]
然后我们选择颜色并训练模型。每次用户点击按钮,模型就会得到训练并变得更好。这是我的型号配置
const model = tf.sequential();
const hidden = tf.layers.dense({
units: 16,
inputShape: [3],
activation: "relu"
});
model.add(hidden);
const output = tf.layers.dense({
units: 10,
activation: "softmax"
});
model.add(output);
const optimizer = tf.train.sgd(0.25);
model.compile({
optimizer: optimizer,
loss: "categoricalCrossentropy",
metrics: ["accuracy"]
});
现在我得到一个名为TypeError: backend.select is not a function
的错误。如果有人告诉我这个错误的实际含义,那就太好了。
根据这个GitHub问题,这似乎是tfjs-node
版本0.1.9
中的一个问题。
一个快速的npm update
将其更新为0.1.10
,似乎解决了问题!