
深度学习
人工智能小白菜
如果对博客或者博客中的程序有疑问欢迎和我一起探讨,微信:799330288
展开
-
LSTM做回归预测,拟合sin曲线
一些知识点因为RNN太长会导致反向传播时间长效率低,也可能导致梯度消失等问题,所以一般是这样做的,设定一个参数TIME_STEPS,说明一个RNN网络由多少个时间点组成。再重新说明下概念,一个RNN网络由很多个时间点组成,这里我们的时间点个数为TIME_STEPS,同时,一个时间点有batch_size个单元cell(这个单元可以是最简单的RNN单元,也可以是LSTM单元,也可以是GRU单元),...原创 2019-01-17 14:32:58 · 9465 阅读 · 5 评论 -
用LSTM做手写数字识别
参考网址:https://morvanzhou.github.io/tutorials/machine-learning/tensorflow/5-08-RNN2/ ,感谢!一张图片是28*28,我们把28行作为28个时刻的输入。注意输入的维度,初始状态的维度,LSTM中隐藏层的维度,最后输出的维度。一个LSTM单元的输入是向量,所以tf.contrib.rnn.BasicLSTMCell...原创 2019-01-15 23:54:05 · 1642 阅读 · 0 评论 -
用MLP做电影评论二分类
本文程序原理等说明(也可以去程序中查看注释,注释比较多)本节使用 IMDB 数据集,它包含来自互联网电影数据库(IMDB)的 50 000 条严重两极分化的评论。数据集被分为用于训练的 25 000 条评论与用于测试的 25 000 条评论,训练集和测试集都包含 50% 的正面评论和 50% 的负面评论。与 MNIST 数据集一样,IMDB 数据集也内置于 Keras 库。它已经过预处理:...原创 2019-01-20 19:43:22 · 2209 阅读 · 0 评论 -
用下载好的本地数据集,官方自动解析数据集,做手写数字识别
说明整个程序用的是最简单的神经网络。因为是官方自动解析数据集,所以直接调用mnist.train和mnist.test就可以直接得到训练集和测试集,比较简洁。不过如果要搞清楚维度等细节,建议可以自己去解析原始数据集看看或者看看官方的源码。参考博客: https://www.jianshu.com/p/db2afc0b0334 ,谢谢!# coding=utf-8import tenso...原创 2019-01-15 02:11:26 · 315 阅读 · 0 评论 -
用下载好的本地数据集,自己解析数据集,做手写数字识别
1、说明数据集下载地址:http://yann.lecun.com/exdb/mnist/参考的官网地址:http://www.tensorfly.cn/tfdoc/tutorials/mnist_beginners.html2、关于程序的说明下面用的是最简单的神经网络。其中decode_idx3_ubyte(idx3_ubyte_file)和decode_idx1_ubyte(idx1...原创 2019-01-15 01:57:21 · 1060 阅读 · 0 评论 -
用RNN加attention做手写数字识别
关于RNN部分的介绍可以看这里:https://blog.youkuaiyun.com/zgj_gutou/article/details/86501084关于attention,其实网上的介绍原理和相关论文有很多很多,比我讲的应该会好一些。我这里再用自己的话简单通俗地解释一下,RNN+attention中,首先RNN的每个单元都会有一个输出,假设RNN的时间长度为10,也就是会有10个输出,我们利用att...原创 2019-01-20 02:40:24 · 1005 阅读 · 0 评论 -
用CNN做手写数字识别
解释下tf.nn.conv2d函数的参数用法(其实源码注释很详细):根据源码定义,def conv2d(input, filter, strides, padding, use_cudnn_on_gpu=True, data_format=“NHWC”, dilations=[1, 1, 1, 1], name=None),下面我翻译一下部分源码中的注释,也可以直接去看源码中的注释。该函数通过...原创 2019-01-19 00:29:53 · 404 阅读 · 0 评论 -
理解卷积中的valid和same以及在卷积函数tensorflow中的使用
关于padding的一些要点padding主要是防止丢掉图像边缘位置的许多信息。如果不用padding,会导致1、很明显,图像中间位置的数据会参与更多的运算,而边缘位置的数据参与运算的次数比中间位置的数据少。2、每一步卷积图像都会缩小,如果网络层数很多的话,那么图像最后会很小。所以根据自己需要可以在卷积之前进行padding。padding的意思即填充边缘,扩大边缘,也就是Same卷积。而Va...原创 2019-01-18 19:27:57 · 4040 阅读 · 2 评论 -
用图解释RNN程序的部分过程
LSTM的隐藏层的单元个数为hidden_size,因此,LSTM每一步的输出数据的维度为(batch_size,hidden_size)。有因为LSTM展开的时间步数为num_steps,于是通过outputs.append(cell_output)将每一时刻的输出都收集起来,这样,最后的outputs是一个list。 整个过程为:图中黄色的部分表示同一个序列在LSTM不同时刻的输...转载 2019-01-17 14:51:15 · 879 阅读 · 0 评论 -
一些数据集下载地址
以下内容转自https://baijiahao.baidu.com/s?id=1615853849218131902&wfr=spider&for=pc图像分类领域1)MNIST经典的小型(28x28 像素)灰度手写数字数据集,开发于 20 世纪 90 年代,主要用于测试当时最复杂的模型;到了今日,MNIST 数据集更多被视作深度学习的基础教材。fast.ai 版本的数据集舍...转载 2019-02-20 23:13:46 · 2622 阅读 · 1 评论