keras
z小白
深度学习,声音识别,声源定位,音视频联合
展开
-
如何保存Keras模型
我们不推荐使用pickle或cPickle来保存Keras模型你可以使用model.save(filepath)将Keras模型和权重保存在一个HDF5文件中,该文件将包含:模型的结构,以便重构该模型模型的权重训练配置(损失函数,优化器等)优化器的状态,以便于从上次训练中断的地方开始使用keras.models.load_model(filepath)来重新实例化你的模型,如果文件中存储了训练配转载 2018-03-24 11:50:14 · 1720 阅读 · 0 评论 -
Keras自定义可训练参数
Keras自定义可训练参数是在自定义层中实现的,因此需要我们自己编写一个层来实现我们需要的功能。话不多说,直接上实例。假设我们需要自定义一个可学习的权重矩阵来对某一层的数据进行转换,则可以通过下面代码实现:from keras import backend as Kfrom keras.layers import Layerclass MyLayer(Layer): def...原创 2019-04-04 20:20:14 · 10946 阅读 · 4 评论 -
Keras加载含有自定义层或函数的模型
当我们导入的模型含有自定义层或者自定义函数时,需要使用custom_objects来指定目标层或目标函数。例如:我的一个模型含有自定义层“SincConv1D”,需要使用下面的代码导入:from keras.models import load_modelmodel = load_model('model.h5', custom_objects={'SincConv1D': SincC...原创 2019-03-06 10:43:46 · 11149 阅读 · 0 评论 -
TypeError: parse() got an unexpected keyword argument 'transport_encoding'
在windows 7下使用 pip install keras 安装keras时出现以下报错:TypeError: parse() got an unexpected keyword argument 'transport_encoding'解决方法:conda install pip原创 2018-03-17 15:02:08 · 1110 阅读 · 0 评论 -
Keras自定义损失函数
Keras内置损失函数都预定义在keras.metrics.losses中,以MSE为例,其预定义方法如下:def mean_squared_error(y_true, y_pred): return K.mean(K.square(y_pred - y_true), axis=-1)我们可以仿照其写法,定义自己的损失函数。例如何凯明大神在论文Focal Loss for Den...原创 2018-11-16 12:29:42 · 10397 阅读 · 3 评论 -
Keras搭建多输入模型
简介当我们的任务涉及到多个维度不同的数据来拟合一个目标时,我们需要构建多输入模型。模型构建 假设我们需要搭建如下的模型,输入数据分别为100维和50维的向量,输出为0或1:from keras.layers import Conv1D, Dense, MaxPool1D, concatenate, Flattenfrom keras import Input, Model...原创 2018-11-14 15:16:16 · 25865 阅读 · 28 评论 -
【深度学习】ResNet解读及代码实现
简介ResNet是何凯明大神在2015年提出的一种网络结构,获得了ILSVRC-2015分类任务的第一名,同时在ImageNet detection,ImageNet localization,COCO detection和COCO segmentation等任务中均获得了第一名,在当时可谓是轰动一时。ResNet又名残差神经网络,指的是在传统卷积神经网络中加入残差学习(residual ...原创 2018-10-30 16:52:44 · 48228 阅读 · 16 评论 -
【深度学习】GoogLeNet系列解读 —— Inception v1
目录GoogLeNet系列解读Inception v1Inception v2Inception v3Inception v4简介GoogLeNet网络核心模块是Inception module,一共经历了4代,其中第一代网络获得了2014年ILSVRC竞赛的分类任务第一名,因此促使了研究者对Inception module的兴趣,使Inception module不断...原创 2018-10-27 18:28:32 · 10731 阅读 · 0 评论 -
【深度学习】Alexnet网络分析及代码实现
简介Alexnet是2012年ImageNet比赛的冠军Hinton及其学生Alex Krizhevsky提出,并以其姓名命名的网络。Alexnet的提出也正式掀起了深度学习的热潮,激发了研究者对深度学习的热情。虽然后面出现了更为优秀的VGGNet、GooLeNet、ResNet等网络,但是Alexnet的地位是不可撼动的,因此我们有必要去花些时间了解一下这一深度学习史上的伟大杰作。Ale...原创 2018-10-27 10:22:00 · 11966 阅读 · 4 评论 -
【深度学习】VGGNet解读及代码实现
这篇文章不仅仅关注于VGGNet的网络结构,重点在于分析VGGNet设计者当时的出发点,以及能带给我们什么启发。简介VGGNet由牛津大学的视觉几何组(Visual Geometry Group)提出,获得了2014年ILSVRC竞赛的分类任务第二名和定位任务第一名,主要贡献在于证明了使用3x3小卷积核,增加网络深度可以有效提升模型性能,并且对于其他数据集也有很好的泛化性能。论文链接:...原创 2018-10-26 18:39:30 · 10349 阅读 · 0 评论 -
Keras load_model 导入错误
在使用Keras load_model时,会出现以下报错:ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.解决办法:$ pip install pydot$ sudo apt-get install graphviz ...原创 2018-10-26 20:59:28 · 14089 阅读 · 8 评论 -
【深度学习】GoogLeNet系列解读 —— Inception v4
目录GoogLeNet系列解读Inception v1Inception v2Inception v3Inception v4简介在介绍Inception v4之前,首先说明一下Inception v4没有使用残差学习的思想。大部分小伙伴对Inception v4存在一个误解,认为它是Inception module与残差学习的结合,其实并不是这样,Inception ...原创 2018-10-29 14:11:15 · 31143 阅读 · 1 评论 -
【深度学习】GoogLeNet系列解读 —— Inception v3
目录GoogLeNet系列解读Inception v1Inception v2Inception v3Inception v4Inception v3Inception v3整体上采用了Inception v2的网络结构,并在优化算法、正则化等方面做了改进,总结如下:1. 优化算法使用RMSProp替代SGD。2. 使用Label Smoothing Regul...原创 2018-10-28 17:04:23 · 11565 阅读 · 0 评论 -
【深度学习】GoogLeNet系列解读 —— Inception v2
目录GoogLeNet系列解读Inception v1Inception v2Inception v3Inception v4简介GoogLeNet凭借其优秀的表现,得到了很多研究人员的学习和使用,因此Google又对其进行了改进,产生了GoogLeNet的升级版本,也就是Inception v2。论文地址:Rethinking the Inception Arch...原创 2018-10-28 14:23:19 · 14814 阅读 · 2 评论 -
Ubuntu16.04下安装Keras(Anaconda3+TensorFlow)
依赖:TensorFlow,AnacondaTensorFlow(附Anaconda安装)安装教程参考:GPU:https://blog.csdn.net/zzc15806/article/details/80652749CPU:https://blog.csdn.net/zzc15806/article/details/73662491Keras安装:pip install...原创 2018-06-11 16:06:54 · 2585 阅读 · 0 评论 -
TypeError: Unexpected keyword argument passed to optimizer: amsgrad解决办法
当我们在load keras模型的时候,可能会出现以下报错:TypeError: Unexpected keyword argument passed to optimizer: amsgrad原因:AMSgrad只支持2017年12月11日后发行的keras版本。解决办法:pip install --upgrade keras...原创 2018-03-29 09:43:47 · 8280 阅读 · 5 评论 -
Keras可视化工具
Keras可通过TensorBoard来可视化训练过程,以回调函数的形式提供TensorBoard的功能。TensorBoard是TensorFlow提供的可视化工具,该回调函数将日志信息写入TensorBorad,使得你可以动态的观察训练和测试指标的图像以及不同层的激活值直方图。keras.callbacks.TensorBoard(log_dir='./logs', histogra...原创 2018-03-27 12:34:49 · 3805 阅读 · 0 评论 -
Keras学习率调整
Keras提供两种学习率适应方法,可通过回调函数实现。1. LearningRateSchedulerkeras.callbacks.LearningRateScheduler(schedule)该回调函数是学习率调度器.参数schedule:函数,该函数以epoch号为参数(从0算起的整数),返回一个新学习率(浮点数)代码import keras.backend a...原创 2018-03-27 12:20:25 · 71769 阅读 · 18 评论 -
Keras“冻结”层
“冻结”层指的是该层不参加网络训练,即该层的参数不会更新。“冻结”层主要有以下两个应用场景:1)使用预训练模型进行fine-tune时,我们需要在预训练模型后面添加几层进行训练,而前面的预训练模型不进行参数更新;2)当我们训练好模型,需要取出中间层的embedding再进行后续处理的时候,也需要这个操作。Keras层是否进行参数更新可通过属性trainable来控制。我们可以直接在定义...原创 2019-04-09 11:00:54 · 8643 阅读 · 0 评论