在我继续之前,请原谅我的无知。在此之前,我有一些编程经验,但我以前的直觉目前让我失望了。
从本质上讲,我需要将一个从 0...K 的数字一维向量(大小 M x 1(扩展到一个二维矩阵(或张量,大小 M x K(,其中每一行都是一个一维向量(大小为 1 x K(,每个元素都是 0,除了初始值的索引为 1。
是的,这是 ML 类的多类分类问题。
我的想法是创建一个正确形状的零矩阵,然后将我需要的元素的索引手动分配给 1,但似乎无法更改已创建的变量的值。我收到错误:
TypeError: 'Tensor' object does not support item assignment
任何人都可以协助吗?如果你觉得我创建这个最终张量的方式可以使用不同的方法,任何建议将不胜感激。
在tensorflow中,tf.one_hot()
函数是你所寻求的。 一种热编码是描述您要实现的操作的术语。 请参阅 https://www.tensorflow.org/api_docs/python/tf/one_hot 。