时间:2021-05-22
如下所示:
to_categorical(y, num_classes=None, dtype='float32')
将整型标签转为onehot。y为int数组,num_classes为标签类别总数,大于max(y)(标签从0开始的)。
返回:如果num_classes=None,返回len(y) * [max(y)+1](维度,m*n表示m行n列矩阵,下同),否则为len(y) * num_classes。说出来显得复杂,请看下面实例。
import kerasohl=keras.utils.to_categorical([1,3])# ohl=keras.utils.to_categorical([[1],[3]])print(ohl)"""[[0. 1. 0. 0.] [0. 0. 0. 1.]]"""ohl=keras.utils.to_categorical([1,3],num_classes=5)print(ohl)"""[[0. 1. 0. 0. 0.] [0. 0. 0. 1. 0.]]"""该部分keras源码如下:
def to_categorical(y, num_classes=None, dtype='float32'): """Converts a class vector (integers) to binary class matrix. E.g. for use with categorical_crossentropy. # Arguments y: class vector to be converted into a matrix (integers from 0 to num_classes). num_classes: total number of classes. dtype: The data type expected by the input, as a string (`float32`, `float64`, `int32`...) # Returns A binary matrix representation of the input. The classes axis is placed last. """ y = np.array(y, dtype='int') input_shape = y.shape if input_shape and input_shape[-1] == 1 and len(input_shape) > 1: input_shape = tuple(input_shape[:-1]) y = y.ravel() if not num_classes: num_classes = np.max(y) + 1 n = y.shape[0] categorical = np.zeros((n, num_classes), dtype=dtype) categorical[np.arange(n), y] = 1 output_shape = input_shape + (num_classes,) categorical = np.reshape(categorical, output_shape) return categorical补充知识:keras笔记——keras.utils.to_categoracal()函数
keras.utils.to_categoracal (y, num_classes=None, dtype='float32')
将整形标签转为onehot,y为int数组,num_classes为标签类别总数,大于max (y),(标签从0开始的)。
返回:
如果num_classes=None, 返回 len(y)*[max(y)+1] (维度,m*n表示m行n列矩阵),否则为len(y)*num_classes。
以上这篇浅谈keras中的keras.utils.to_categorical用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
keras.utils.to_categorical这个方法,源码中,它是这样写的:Convertsaclassvector(integers)tobinary
对于使用已经训练好的模型,比如VGG,RESNET等,keras都自带了一个keras.applications.imagenet_utils.decode_p
fromkeras.utils.np_utilsimportto_categorical注意:当使用categorical_crossentropy损失函数时,
Mac#数据集~/.keras/datasets/#模型~/.keras/models/Linux#数据集~/.keras/datasets/Windows#w
实验室新装了keras,发现keras默认后端是tensorflow,想换回theano,看了官方文档也没搞懂,最终搞定,很简单。中文文档的描述:keras中文