创建one-hot矩阵的两种方式

方式一,创建一个list,每个list元素是一个onehot向量

# coding:utf-8
import numpy as np
labels = []
indexs = np.array([1,2,2,2,1,4,5,3]) #标签索引,例如1表示汽车、2表示飞机、3表示火车...
for index in indexs:
    label = np.zeros(10,dtype=np.int32) #创建具有10个标签的onehot
    label[index] = 1
    labels.append(label)

print(labels) #此时的labels是list列表

方式二,直接将onehot编码成矩阵

# coding:utf-8
import numpy as np
labels = np.zeros(shape=[10,10],dtype=np.int32)
indexs = np.array([1,2,3,1,1,3,0,5,6,8])
for i,index in enumerate(indexs):
    labels[i,index] = 1
print(labels) #此时的labels是矩阵

你可能感兴趣的:(深度学习,Python)