![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 88
清榎
不积跬步无以至千里
展开
-
三层神经网络实现手写数字图像分类
数据集采用MNIST。MNIST 数据集包含 4 个文件,分别是训练集图像、训练集 标记、测试集图像、测试集标记。每个样本都由灰度图像(即单通道图像)及其 标记组成,图像大小为 28 × 28。一、整体框架设置五大模块,模块化,便于迭代。1) 数据加载模块:从文件中读取数据,并进行预处理,其中预处理包括归一化、维度变换等处理。如果需要人为对数据进行随机数据扩增,则数据扩增处理也在数据加载模块中实现。2) 基本单元模块:实现神经网络中不同类型的网络层的定义、前向传播计算、反向传播计算等功能。原创 2022-05-10 11:22:37 · 2899 阅读 · 2 评论 -
TensorFlow手写数字识别
使用mone hot=True ,表示将样本标签转化为one hot 编码。one_hot 编码: 只有一个位为1 , 1 所在的位置就代表着第几类。例如:一共10 类。0 的one_hot 为1000000000,1 的one_hot为0100000000 , 2 的one hot 为0010000000 , 3 的one hot 为0001000000 ..…·依此类推。...原创 2022-05-04 18:42:11 · 2510 阅读 · 0 评论 -
TensorFlow编程框架基础
一、为什么要使用编程框架深度学习的算法具有多层结构,每层的运算由一些基本操作构成,这些基本操作中存在大量共性运算,如卷积、池化、激活等。 将这些共性运算操作封装起来,可以提高编程实现效率。面向这些封装起来的操作,硬件程序员可以基于硬件特征, 有针对性的进行充分优化,使其能充分发挥硬件的效率。深度学习编程框架:将深度学习常用的算法和操作封装成一系列的组件,这一系列的组件就构成了深度学习编程框架。例如VGG-19使用编程框架的流程图如下所示:二、TensorFlow概述2.1 Ten原创 2022-04-27 18:39:08 · 780 阅读 · 0 评论 -
深度学习是否需要全部float 32类型
1. 是否需要全部float32从硬件实现的角度来看,8位乘法器与32位相比功耗位1/18,面积位1/27,速度则为4倍,能更多的使用低位宽的数据类型当然更好。现在很多科学计算、深度学习中常常采用的是float32类型,但是深度学习是否全部都需要是float 32类型?答案是否定的,并不需要。有人可能会担心,说如果改用更低位宽的数据类型是否会导致精度降低,理论上来说是会降低精度,但是这个精度有时候可能在我们可以接受的范围内。如下图所示是一个识别手写数字的二维可视化图,可以看的不同类别之间存在一定原创 2022-04-21 10:05:19 · 839 阅读 · 0 评论 -
经典卷积神经网络
一、 卷积神经网络的演变二、经典神经网络2.1 LeNet52.1.1 背景Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. Gradient-based learning applied to document recognition. Proceedings of the IEEE, November 1998.LeNet5是由Y.LeCun等人提出的,主要进行手写数字识别和英文字母识别。2.1.2 结构...原创 2022-04-05 17:02:18 · 5090 阅读 · 1 评论 -
卷积神经网络基础
一、卷积本来想自己写一点,发现了很不错的一篇博客,就不班门弄斧了。什么是卷积? - 知乎一句话概括:某一时刻,某点的能量(或值)等于多个其他点的叠加。二、卷积神经网络基础感受野 一句话:特征图上的一个点对应输入图上的区域。如下图所示:卷积神经网络结构: 卷积层+激活函数(Conv+ReLU) 池化层(Pololing) 全连接层(FC)2.1 卷积层+激活函数2.1.1 卷积...原创 2022-03-27 12:30:18 · 5400 阅读 · 0 评论