我如何在 tensorflow.js 中定义自己的标签
How may I define my own labels in tensorflow.js
我有任何传感器的三维数据 x,y,z
。我正在创建 tensor
这些值,例如 tf.tensor3d([[[x1], [y1], [z1]], [[x2], [y2], [z3]], ....... so on])
。但我只有两个不是数值的标签,如 [standing , sitting]
。我想将单个 label
分配给 x,y,z
的三个值的组合。我如何使用自己的标签在 tensorflow.js
中训练我的 model
?
第一件事是创建标签的索引。
ES2019
const labelArray = ["standing", "sitting"]
const mapIndexLabel = Object.fromEntries(Object.entries({...labelArray}).map(([a, b]) => [b, +a])) // {standing: 0, sitting: 1}
标签张量应该是单热编码。以下是如何创建它的示例。
|features | labels |
|-----------|----------|
| feature0 | standing |
| feature1 | sitting |
| feature1 | sitting |
标签索引数组应该是[0, 1, 1](索引取自上面的对象)。标签张量是索引的单热编码
labelsTensor = tf.onehot([0, 1, 1], numberOfUniqueLabels) // numberOfUniqueLabels = 2 in this case
然后模型可以通过model.fit(featuresTensor, labelsTensor)
进行训练
我有任何传感器的三维数据 x,y,z
。我正在创建 tensor
这些值,例如 tf.tensor3d([[[x1], [y1], [z1]], [[x2], [y2], [z3]], ....... so on])
。但我只有两个不是数值的标签,如 [standing , sitting]
。我想将单个 label
分配给 x,y,z
的三个值的组合。我如何使用自己的标签在 tensorflow.js
中训练我的 model
?
第一件事是创建标签的索引。
ES2019
const labelArray = ["standing", "sitting"]
const mapIndexLabel = Object.fromEntries(Object.entries({...labelArray}).map(([a, b]) => [b, +a])) // {standing: 0, sitting: 1}
标签张量应该是单热编码。以下是如何创建它的示例。
|features | labels |
|-----------|----------|
| feature0 | standing |
| feature1 | sitting |
| feature1 | sitting |
标签索引数组应该是[0, 1, 1](索引取自上面的对象)。标签张量是索引的单热编码
labelsTensor = tf.onehot([0, 1, 1], numberOfUniqueLabels) // numberOfUniqueLabels = 2 in this case
然后模型可以通过model.fit(featuresTensor, labelsTensor)