如何将整数标签的theano符号向量转换为二值化符号矩阵标签?

时间:2017-03-03 17:44:11

标签: neural-network deep-learning theano

我是Theano的新手并试图将theano载体的标签转换为theano矩阵。 NN应用之一需要MxN二进制矩阵形式的标签,其中M是样本数,N是类的数量。例如,标签= [0,1,2,1,2,3],banary_labels应该是 [[1,0,0,0]; [0,1,0,0]; [0,0,1,0]; [0,1,0,0]; [0,0,1,0]; [0,0,0,1]]

我编写了以下代码,但无法确定问题是什么

def encode_labels(y,batch_size,max_label):
  y=T.ivector('y')
  b_y=T.zeros(shape=(batch_size,max_label+1),dtype=theano.config.floatX)
  enc,update=theano.scan(lambda i,j:1,
    sequences=[T.arange(batch_size),y],
    outputs_info=b_y)

  encode_l=theano.function(inputs=y,outputs=enc)
  return encode_l

y=[0,1,2,1,2,3]
b_y=encode_labels(y,6,3)
print b_y

1 个答案:

答案 0 :(得分:0)

这称为单热编码。看看Keras实现(to_categorical)here.