要使用Keras获得关于权重的模型输出的梯度,您必须使用Keras后端模块 . 我创建了这个简单的例子来准确说明该做什么:

from keras.models import Sequential

from keras.layers import Dense, Activation

from keras import backend as k

model = Sequential()

model.add(Dense(12, input_dim=8, init='uniform', activation='relu'))

model.add(Dense(8, init='uniform', activation='relu'))

model.add(Dense(1, init='uniform', activation='sigmoid'))

model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

要计算梯度,我们首先需要找到输出张量 . 对于模型的输出(我最初提出的问题),我们只需调用model.output . 我们还可以通过调用model.layers [index] .output找到其他层的输出梯度

outputTensor = model.output #Or model.layers[index].output

然后我们需要选择与梯度相关的变量 .

listOfVariableTensors = model.trainable_weights

#or variableTensors = model.trainable_weights[0]

我们现在可以计算梯度 . 它很简单如下:

gradients = k.gradients(outputTensor, listOfVariableTensors)

要实际运行给定输入的渐变,我们需要使用一点Tensorflow .

trainingExample = np.random.random((1,8))

sess = tf.InteractiveSession()

sess.run(tf.initialize_all_variables())

evaluated_gradients = sess.run(gradients,feed_dict={model.input:trainingExample})

这就是它!

java调用keras theano模型_使用Keras获得模型输出的梯度w.r.t权重相关推荐

  1. java调用keras theano模型_使用Keras / Theano和LSTM进行多标签文本分类

    尝试使用Keras / Theano运行LSTM多标签文本分类 . 我有一个文本/标签csv . 文本是纯文本,标签是数字,总共9个,从1到9 . 我想我没有为这个问题正确配置模型 . 我的代码到目前 ...

  2. java 调用笔记本摄像头拍照_教程:如何使用Java和C++在应用程序中实现面部识别

    全文共8470字,预计学习时长25分钟 来源:xaecong HOG:梯度方向直方图(histogram of orientedgradients)是一种图片描述符格式,它能够汇总图像(例如人脸)的主 ...

  3. java 调用python脚本过程_通过Java调用Python脚本

    在进行开发的过程中,偶尔会遇到需要使用Java调用Python脚本的时候,毕竟Python在诸如爬虫,以及科学计算等方面具有天然的优势.最近在工作中遇到需要在Java程序中调用已经写好的Python程 ...

  4. java调用c 返回值_推荐--Linux平台下Java调用C函数(补充关于String类型函数返回值)...

    平台介绍 系统:ubuntu10.04 jdk:Java(TM) SE Runtime Environment (build 1.6.0_20-b02) gcc:gcc version 4.4.3 ( ...

  5. 机器学习结构化学习模型_生产化机器学习模型

    机器学习结构化学习模型 The biggest issue in the life-cycle of ML project isn't to create a good algorithm or to ...

  6. 一般线性模型和线性回归模型_您的线性回归模型指南

    一般线性模型和线性回归模型 Interpretability is one of the biggest challenges in machine learning. A model has mor ...

  7. [并发并行]_[线程模型]_[Pthread线程使用模型之一管道Pipeline]

    场景 1.经常在Windows, MacOSX 开发C多线程程序的时候, 经常需要和线程打交道, 如果开发人员的数量不多时, 同时掌握Win32和pthread线程 并不是容易的事情, 而且使用Win ...

  8. 软件工程生命周期模型_软件生命周期模型比较| 软件工程

    软件工程生命周期模型 软件生命周期模型 (Software Lifecycle Models) There are five software lifecycle models that are co ...

  9. 空间计量模型_截面数据空间计量模型空间误差模型及Stata操作和应用

    来源:计量经济学服务中心编辑整理,转载请联系1 前言 空间分析起源于地理学.空间经济学和相关学科.到目前为止,它被认为是专业的领域,因此不是大多数统计软件的标准部分.就stata而言,有许多用户编写的 ...

最新文章

  1. Java常用实体类--System类
  2. Java多线程分析案例
  3. autorunner测试java代码,AutoRunner自动化测试工具介绍
  4. 知识图谱运用于推荐系统
  5. Docker 创建新的开源社区,开发 Compose Specification
  6. 轮播 一张中间 两张在旁边_黄渤为《五哈》做海报,邓超陈赫都只有一张,唯独对鹿晗待遇不同...
  7. L1-032. Left-pad-PAT团体程序设计天梯赛GPLT
  8. Python 爬虫 ——html 页面的认识
  9. C 编译器、链接器、加载器详解
  10. 在线预览word,excel,ppt
  11. 如何将MID音乐转换成MP3
  12. JAVA毕设项目图书馆预约占座系统(java+VUE+Mybatis+Maven+Mysql)
  13. 一行代码完成模型训练,30倍加速,3毫秒急速识别,超强图像分类算法开源!...
  14. 单片机数码管动态显示时钟C语言,8位数码管显示电子时钟c51单片机程序
  15. 利用Cytoscape进行生物相互作用网络可视化及拓扑分析
  16. 未来十年最紧缺的职业
  17. push ebp到底是什么意思
  18. 基于element-ui 搭建管理后台
  19. CF中dns服务器简单配置
  20. python中的变量是动态类型的什么意思_Python零基础入门(一):对Python的简单认识...

热门文章

  1. smartdns使用指南_Windows10 玩SmartDNS告别污染
  2. linux的lnmp环境,Ubuntu 16.04 LTS下LNMP环境配置简述
  3. java.lang.ClassNotFoundException: Cannot find class: com.mysql.jdbc.Driver解决办法
  4. 【软件设计师】2020-08-05
  5. 天津全国计算机考试报名时间2015,2018年天津上半年计算机等级考试报名时间
  6. c语言大作业教室预约管理系统,C语言程序设计——教室管理系统(源代码))
  7. Java学习笔记_方法
  8. LQ训练营(C++)学习笔记_广度优先搜索
  9. python通过下载链接下载_Python根据URL地址下载文件——wget
  10. 对Android源码分析总结(Z)