Python深度学习
以Python为基础,实现各种深度学习方法,从而掌握编程和理论知识
佟湘玉滴玉
善待别人,关心自己;
赠人玫瑰,手有余香
展开
-
DL with python(22)——tensorflow实现GRU股票预测
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第六讲第14节的内容,实现GRU型循环神经网络输入60天的价格预测第61天的价格。RNN这部分的基础知识还是比较复杂的,特别是计算过程,需要深入理解才能掌握数据处理和网络搭建能力。GRU门控循环单元(Gated Recurrent Unit,GRU)由 Cho 等人于 2014 年提出,是 LSTM 的一种变体,将 LSTM 中遗忘门与输入门合二为一为更新门,模型比 LSTM 模型更简单。Kyunghyun Cho,Bart va原创 2020-08-09 22:29:40 · 1788 阅读 · 8 评论 -
DL with python(21)——tensorflow实现LSTM股票预测
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第六讲第13节的内容,实现循环神经网络(Recurrent Neural Network,RNN)输入60天的价格预测第61天的价格。RNN这部分的基础知识还是比较复杂的,特别是计算过程,需要深入理解才能掌握数据处理和网络搭建能力。与RNN相比,LSTM 的计算过程更加复杂,...原创 2020-08-08 22:12:49 · 1141 阅读 · 0 评论 -
DL with python(20)——tensorflow实现RNN股票预测
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第六讲第12节的内容,实现循环神经网络(Recurrent Neural Network,RNN)输入60天的价格预测第61天的价格。RNN这部分的基础知识还是比较复杂的,特别是计算过程,需要深入理解才能掌握数据处理和网络搭建能力。数据介绍SH600519.csv 是贵州茅台的日 k 线数据,本次例子中只用它的 C 列数据(如下图所示):用连续 60 天的开盘价,预测第 61 天的开盘价。图1代码实现第一步,导入相关模块##原创 2020-08-08 14:20:30 · 2346 阅读 · 4 评论 -
DL with python(19)——tensorflow实现RNN字母预测
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第六讲第5,6节的内容,实现循环神经网络(Recurrent Neural Network,RNN)输入1个字母预测下一个字母和输入4个字母预测下一个字母。单字母预测实现的思路很简单:(1)将abcde转换为独热码;(2)随机生成三个参数矩阵wxh,whh,why;(3)进行网络训练,依次输入字母对应的独热码,计算RNN的ht和yt,并输出结果,调整参数;(4)训练完毕,进行预测。实现代码如下,还是按照神经网络“六步法”进行编原创 2020-08-05 16:31:15 · 519 阅读 · 7 评论 -
DL with python(18)——tensorflow实现RNN的基础知识
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第六讲第1-节的内容,对循环神经网络(Recurrent Neural Network,RNN)的相关知识进行介绍,作为tensorflow环境下搭建RNN的基础。关于RNN的基本知识,运算过程,很多大神也都做了解释,我就不再赘述。循环核RNN借助循环核(cell)提取特征后,送入后续网络(如全连接网络 Dense)进行预测等操作。循环核的特点是:通过不同时刻的参数共享,实现对时间序列的信息提取。循环核的示意图如下:前向传播时:记原创 2020-08-03 21:15:12 · 286 阅读 · 0 评论 -
DL with python(17)——tensorflow实现ResNet
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第五讲第15节的内容,对tensorflow环境下经典卷积神经网络的搭建进行介绍,其基础是DL with python(14)——tensorflow实现CNN的“八股”中的代码,将其中第三步的代码替换为本文中的代码均可直接运行,其他部分无需改变。经典的卷积神经网络有以下几种,这里介绍结构较为复杂的ResNet,其实现的方法也相对困难。ResNetResNet诞生于2015年,当年ImageNet竞赛冠军,Top5错误率为3.57%原创 2020-07-30 17:13:06 · 487 阅读 · 0 评论 -
DL with python(16)——tensorflow实现InceptionNet(GoogLeNet)
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第五讲第14,15节的内容,对tensorflow环境下几种经典卷积神经网络的搭建进行介绍,其基础是DL with python(14)——tensorflow实现CNN的“八股”中的代码,将其中第三步的代码替换为本文中的任意代码均可直接运行,其他部分无需改变。经典的卷积神经网络有以下几种,这里介绍后面两种结构较为复杂的,实现的方法也相对困难。InceptionNetInceptionNet 即 GoogLeNet,诞生于2014年原创 2020-07-28 10:24:33 · 284 阅读 · 0 评论 -
DL with python(15)——tensorflow实现3种经典CNN的搭建(LeNet、AlexNet、VGGNet)
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第五讲第11-15节的内容,对tensorflow环境下几种经典卷积神经网络的搭建进行介绍,其基础是DL with python(14)——tensorflow实现CNN的“八股”中的代码,将其中第三步的代码替换为本文中的任意代码均可直接运行,其他部分无需改变。经典的卷积神经网络有以下几种:LeNetLeNet由Yann LeCun于1998年提出,是卷积网络开篇之作。主要优点是通过共享卷积核,减少网络参数。Yann Lecun原创 2020-07-27 15:46:47 · 634 阅读 · 0 评论 -
DL with python(14)——tensorflow实现CNN的“八股”
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第五讲第10节的内容,对tensorflow环境下卷积神经网络的搭建步骤进行介绍。神经网络“八股”在DL with python(4)——基于Keras的二层神经网络鸢尾花分类中,已经介绍了的神经网络搭建的“六步法”,在此基础上,可以总结出在 Tensorflow 框架下,利用 Keras 来搭建神经网络的“八股”套路,在主干的基础上,还可以添加其他内容,来完善神经网络的功能,如利用自己的图片和标签文件来自制数据集;通过旋转、缩放、平原创 2020-07-21 21:11:08 · 548 阅读 · 0 评论 -
DL with python(13)——CNN中感受野的入门级理解
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第五讲第二节的内容,对感受野这一知识点进行入门级的介绍。感受野(Receptive Field)感受野(Receptive Field) 的概念:卷积神经网络各输出层每个像素点在原始图像上的映射区域大小。具体情况如下图所示。原始输入图像的大小为5×5,首先使用卷积核1对其进行5×5的卷积操作,得到一个1×1的特征图1,特征图1的一个像素点是原始输入图像中所有像素点的映射,所以其感受野就是5。然后,使用卷积核2对原始输入图像进行3×原创 2020-07-10 17:12:02 · 210 阅读 · 0 评论 -
DL with python(12)——入门级TensorFlow神经网络简单应用
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第四讲第七节的内容,通过tensorflow进行神经网络的简单应用,实现给图识物。如下图所示,输入一个手写数字图片,网络能够识别并返回准确的数字。给图识物的实现步骤tensorflow中的predict函数可以根据输入给出预测结果,通过前向传播过程实现已有网络的应用。predict(输入数据, batch_size=整数) 注:predict 参数详解。(1)x:输入数据,Numpy 数组(或者 Numpy 数组的列表,如果原创 2020-07-08 16:34:10 · 551 阅读 · 0 评论 -
DL with python(11)——TensorFlow实现神经网络训练过程的可视化
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第四讲第六节的内容,通过tensorflow实现神经网络参数的acc/loss可视化,从而查看网络的训练效果。准确率acc与损失值loss的保存在下面所示的代码中,model.fit执行网络的训练时,已经同步记录了acc和loss的信息,保存在history中。# 第五步,执行训练history=model.fit( 训练集数据, 训练集标签, batch_size=, epochs=,validation_split=用作测试数原创 2020-07-07 21:18:34 · 1067 阅读 · 0 评论 -
DL with python(10)——TensorFlow实现神经网络参数的打印保存
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第四讲第五节的内容,通过tensorflow实现神经网络参数的打印以及存入文本。将神经网络的参数输出并且保存十分简单,从神经网络搭建的六步法来看,与DL with python(9)——TensorFlow实现神经网络模型的断点续训中实现断点续训的代码相比,这里的代码仅在第一步和第六步有所改动。其中,第一步增加了numpy的调用,以及输出格式的设置(最多输出多少个数)。np.set_printoptions(precision=小数原创 2020-07-04 21:35:32 · 1521 阅读 · 0 评论 -
DL with python(9)——TensorFlow实现神经网络模型的断点续训
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第四讲第四节的内容,通过tensorflow实现神经网络模型的断点续训。断点续训神经网络模型的断点续训指的是将训练好的模型保存下来,并在之后的运行中直接调用的训练方法。保存模型使用以下代码,将模型参数保存到callbacks中,并将callbacks添加到模型训练的history中。callbacks = tf.keras.callbacks.ModelCheckpoint( (filepath= = 路径文件名,save_we原创 2020-07-04 19:12:52 · 664 阅读 · 0 评论 -
DL with python(8)——TensorFlow实现简单图像增强
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第四讲的内容,对神经网络八股进行拓展。这里介绍的是通过tensorflow实现数据增强。图像增强常用增强方法:缩放系数:rescale=所有数据将乘以提供的值随机旋转:rotation_range=随机旋转角度数范围宽度偏移:width_shift_range=随机宽度偏移量高度偏移:height_shift_range=随机高度偏移量水平翻转:horizontal_flip=是否水平随机翻转随机缩放:zoom_range=原创 2020-07-03 16:52:33 · 303 阅读 · 0 评论 -
DL with python(7)——TensorFlow实现自制mnist数据集
很长一段时间内,如何将调用自带数据集(如mnist、fashion)进行训练的神经网络算法,修改为调用自己数据进行学习的代码,是我作为一个非计算机专业人士的难题。在使用matlab编写神经网络代码时,可以通过简单(与其他语言相比)的文件导入和函数调用,实现数据集的自制。但是python在这方面的难度就大了一些,没有师傅领进门的小白感到无能为力。...原创 2020-07-02 17:09:35 · 2443 阅读 · 7 评论 -
DL with python(6)——Keras实现手写数字识别(全连接网络)
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第三讲的内容,通过六步法利用keras框架搭建神经网络的手写数字识别模型。六步法的基本步骤和DL with python(4)——基于Keras的二层神经网络鸢尾花分类中介绍的一致,这里只是数据集和网络的结构有所改变,基本框架没有改变。在第四讲对网络八股的拓展中,这部分代码将作为拓展的基础,因此有必要梳理一下。MNIST数据集MNIST 数据集是非常有名的一组数据,一共有 7 万张图片,是 28×28 像素的 0 到 9 手写数字数原创 2020-06-22 11:30:20 · 946 阅读 · 0 评论 -
DL with python(5)——Keras中的神经网络函数(简单)
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第三讲的内容,对keras框架搭建神经网络的几个函数进行简单介绍。搭建网络结构——tf.keras.models.Sequential()Sequential 函数是一个容器,描述了神经网络的网络结构,在函数的输入参数中描述从输入层到输出层的网络结构。拉直层: tf.keras.layers.Flatten()拉直层可以变换张量的尺寸,把输入特征拉直为一维数组,是不含计算参数的层。全连接层: tf.keras.layers.Den原创 2020-06-16 13:23:07 · 301 阅读 · 0 评论 -
DL with python(4)——tf.keras 搭建神经网络“六步法”
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第三讲的内容,运用keras框架搭建神经网络模型,对一个传统数据集——鸢尾花数据集进行分类。实现的功能和第一讲中的神经网络相同,详情见DL with python(1)——基于TensorFlow的二层神经网络鸢尾花分类tf.keras 搭建神经网络“六步法”tf.keras 是 tensorflow2 引入的高封装度的框架,可以用于快速搭建神经网络模型,keras 为支持快速实验而生,能够把想法迅速转换为结果,是深度学习框架之中最原创 2020-06-10 20:53:32 · 460 阅读 · 0 评论 -
DL with python(3)——神经网络优化涉及的损失函数
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第二讲的内容,主要是神经网络优化涉及的损失函数。相关版本为Windows10系统,Python3.7,Tensorflow1.14.0,PyCharm2019.3.3损失函数损失函数(loss):预测值(y)与已知答案(y_)的差距NN优化目标: loss最小,这里涉及三种损失函数:mse (Mean Squared Error),ce (Cross Entropy)和自定义函数。均方误差MSE(Mean Squared Erro原创 2020-06-08 21:51:24 · 609 阅读 · 0 评论 -
DL with python(2)——神经网络优化预备知识
本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第二讲的内容,主要是神经网络优化涉及的几个函数。相关版本为Windows10系统,Python3.7,Tensorflow1.14.0,PyCharm2019.3.3tf.where()条件语句真返回A ,条件语句假返回Btf.where( 条件语句,真返回A ,假返回B)import tensorflow as tfa = tf.constant([1, 2, 3, 1, 1])b = tf.constant([0, 1,原创 2020-06-08 09:21:02 · 161 阅读 · 1 评论 -
DL with python(1)——基于TensorFlow的二层神经网络鸢尾花分类
运用python语言实现神经网络已经是deep learning圈内外的一大共识,TensorFlow由Google开发,是基于Python搭建的平台,已经成为深度学习的主要平台之一。本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第一讲的内容,搭建包含输入层与输出层的神经网络模型,对一个传统数据集——鸢尾花数据集进行分类。相关版本为Python3.7,Tensorflow1.14.0,PyCharm2019.3.3理解代码的重点在于,掌握python基础,掌握TensorFlow原创 2020-06-04 19:22:49 · 327 阅读 · 0 评论