one_hot的源码实现及其理解
来源:互联网 发布:被上苍诅咒的天才 知乎 编辑:程序博客网 时间:2024/06/06 00:24
以下是one_hot 的源码实现:
def dense_to_one_hot(labels_dense, num_classes): """Convert class labels from scalars to one-hot vectors.""" num_labels = labels_dense.shape[0] index_offset = numpy.arange(num_labels) * num_classes labels_one_hot = numpy.zeros((num_labels, num_classes)) labels_one_hot.flat[index_offset + labels_dense.ravel()] = 1 return labels_one_hot测试如下:
>>> labels_dense = np.array([0,1,2])>>> labels_densearray([0, 1, 2])>>> num_classes = 3>>> labels_densearray([0, 1, 2])>>> num_labels = labels_dense.shape[0]>>> num_labels3>>> index_offset = np.arange(num_labels)*num_classes>>> index_offsetarray([0, 3, 6])>>> labels_one_hot = np.zeros((num_labels, num_classes))>>> labels_one_hotarray([[ 0., 0., 0.], [ 0., 0., 0.], [ 0., 0., 0.]])>>> labels_one_hot.flat[index_offset + labels_dense.ravel()] = 1>>> labels_one_hotarray([[ 1., 0., 0.], [ 0., 1., 0.], [ 0., 0., 1.]])其实自己计算一遍就可以理解大概了,就是将原始的[0,1,2]标签转化成了以下的形式来提高效率:
[[ 1., 0., 0.], [ 0., 1., 0.], [ 0., 0., 1.]]
阅读全文
1 0
- one_hot的源码实现及其理解
- Tensorflow 的tf.one_hot()功能:dense to one hot
- 【经典算法】:对于堆排序的理解及其实现
- 理解全局变量的存储_G及其C语言实现
- DEFAULT_KEYS_SHORTCUT 功能的验证 及其 源码实现分析
- DEFAULT_KEYS_SHORTCUT 功能的验证 及其 源码实现分析
- setDefaultKeyMode(DEFAULT_KEYS_SHORTCUT) 功能的验证 及其 源码实现分析
- DEFAULT_KEYS_SHORTCUT 功能的验证 及其 源码实现分析
- JAVA源码中线性表,栈和队列的实现及其对应的源码文件
- 微信云控系统的实现原理,微信云控系统源码之服务器推送的实现及其核心代码
- GAC的理解及其作用
- GAC的理解及其作用
- GAC的理解及其作用
- GAC的理解及其作用
- 张量的概念及其理解
- [Chrome源码阅读] 理解ObserverList类的实现技巧
- 深入理解Lua的全局变量_G以及源码实现
- 深入理解Lua的全局变量_G以及源码实现
- textfield只显示小数点后两位,以及不能出现两个小数点
- 水瓶座的人真的很冷血吗
- js中setTimeout和setInterval性能详解总结
- android viewpager使用Fragment懒加载,滑到当前fragment才进行数据加载
- php的curl超时参数
- one_hot的源码实现及其理解
- Linux centos7下常用的命令
- Visual Studio 2013常用快捷键
- 历史诠释新方式,西班牙国家考古博物馆引入虚拟现实技术
- viewer.min.js图片预览插件ajax动态预览问题(已解决)
- php中的密码加密问题
- 对倾斜的图像进行修正——基于opencv 透视变换
- MySQL在右表数据不唯一的情况下使用left join的方法
- 6月22日云栖精选夜读:业界首个非侵入式热修复方案Sophix重磅推出_颠覆移动端传统更新流程!