Keras
文章平均质量分 74
Icoding_F2014
相信代码可以变化世界
展开
-
Keras 添加自定义Losses
前言有时候,我们需要往模型里面添加一些自定义的loss。这些自定义的loss主要分为两大类:loss是基于样本的正确标签 yrealy_{real}yreal 和预测的logit ypredy_{pred}ypred 计算得到。这种loss主要集中在对分类损失的改进上,例如Focal Loss等。loss需要模型的中间层信息参与运算。这种loss常见的就是对权重的正则化项,高级一点还有对抗机器学习里面的FGSM的对抗学习正则化项。其中,第一类loss可以通过自定义loss函数,或者los原创 2021-01-11 15:56:22 · 1985 阅读 · 0 评论 -
Keras 载入历史模型报错: AttributeError: ‘str‘ object has no attribute ‘decode‘
Keras 2.3.0 载入历史模型时报错:AttributeError: ‘str’ object has no attribute ‘decode’解决方法:1. 降级h5pypip3 install h5py==2.10.02. 更换模型载入方式上面的报错出现在调用load_weights() 载入模型参数的过程中,然而载入历史模型还可以调用keras.models.load_model函数,按照如下载入即可:model= keras.models.load_model(model_pa原创 2020-12-15 16:43:29 · 10103 阅读 · 4 评论 -
Keras 如何搭建复杂模型?
前言在Keras中,我们最常用到的是使用Sequencial 模型来搭建神经网络模型。Sequencial搭建模型特别的简单、直接,但是缺点是这种途径无法搭建非线性的模型(例如残差网络),无法搭建多个输入、多个输出的模型。本博客就是介绍如何使用Keras里面函数式API 搭建非线性、多输入输出的神经网络模型。Keras 函数式APIKeras 函数式API——翻译前叫做 Keras functional API—— 是指可以将Keras里面创建的层(layer)或者模型(Model) 当做一个函数原创 2020-12-13 11:48:40 · 1060 阅读 · 2 评论 -
Keras 给定输入数据,获取LOSS关于输入的梯度
需求论文需要使用对抗训练 adversarial training,里面需要拿到目标函数的loss关于输入样本的梯度。方法:使用Keras.backbend的function函数要点:想办法把输入feed给模型from keras import backbend as K#model是编译好的模型,with model.session.as_default(): #模型所在的session with model.graph.as_default(): #模型所在的graph原创 2020-11-07 17:24:00 · 3152 阅读 · 7 评论 -
Keras:An operation has `None` for gradient. Please make sure that all of your ops have a gradient
Keras 报错:ValueError: An operation has None for gradient. Please make sure that all of your ops have a gradient defined (i.e. are differentiable). Common ops without gradient: K.argmax, K.round, K.eval.意思是说,构建的模型里面包含一些类似于K.argmax, K.round, K.eval.不可导的操作。原创 2020-11-19 19:23:02 · 1778 阅读 · 0 评论 -
Keras 自定义层以及在Summary时自定义层的参数个数为0的问题
今天 开开心心的实现了一个带降噪功能的残差层:__author__ = 'dk'''' 定义降噪和增强模块'''from keras import backend as Kfrom keras.engine.topology import Layerfrom keras.layers import add,Flatten,Conv1D, AveragePooling1D,Dotimport kerasclass Denoising_layer(Layer): def __i原创 2020-11-18 19:43:00 · 1207 阅读 · 3 评论 -
Keras ValueError: Unknown layer 自定义层历史参数无法载入
导入模型的时候出现: File “/root/anaconda3/lib/python3.6/site-packages/keras/utils/generic_utils.py”, line 140, in deserialize_keras_object': ’ + class_name)ValueError: Unknown layer: Denoising_layerDenoising_layer是我自己写的一个层,现在导入已经训练的模型时报这个错误。解决方法:在模型载入的时候添加类似如.原创 2020-11-17 17:19:22 · 436 阅读 · 0 评论