好吧,你可以毫不费力地计算粗体矩阵!

假设您有两个变量:

x = tf.Variable(np.random.random_sample(), dtype=tf.float32)

y = tf.Variable(np.random.random_sample(), dtype=tf.float32)

以及使用这两个变量定义的函数:

f = tf.pow(x, cons(2)) + cons(2) * x * y + cons(3) * tf.pow(y, cons(2)) + cons(4) * x + cons(5) * y + cons(6)

哪里:

def cons(x):

return tf.constant(x, dtype=tf.float32)

所以在代数术语中,这个函数是

现在我们定义一个计算粗麻布的方法:

def compute_hessian(fn, vars):

mat = []

for v1 in vars:

temp = []

for v2 in vars:

# computing derivative twice, first w.r.t v2 and then w.r.t v1

temp.append(tf.gradients(tf.gradients(f, v2)[0], v1)[0])

temp = [cons(0) if t == None else t for t in temp] # tensorflow returns None when there is no gradient, so we replace None with 0

temp = tf.pack(temp)

mat.append(temp)

mat = tf.pack(mat)

return mat

并称之为:

# arg1: our defined function, arg2: list of tf variables associated with the function

hessian = compute_hessian(f, [x, y])

现在我们抓住tensorflow会话,初始化变量,然后运行hessian:

sess = tf.Session()

sess.run(tf.initialize_all_variables())

print sess.run(hessian)

注意:由于我们使用的函数本质上是二次的(并且我们进行了两次微分),所以返回的粗体将具有恒定值,而与变量无关.

输出是:

[[ 2. 2.]

[ 2. 6.]]

python求高阶导数_python – TensorFlow:计算Hessian矩阵(和更高阶导数)相关推荐

  1. python求高阶导数_TensorFlow:计算Hessian矩阵(和高阶导数)

    好吧,你可以不费吹灰之力就计算出海森矩阵! 假设有两个变量:x = tf.Variable(np.random.random_sample(), dtype=tf.float32) y = tf.Va ...

  2. python 求系数矩阵_python - 如何在数据矩阵中计算nans的相关矩阵

    当数据中存在NaN时,我找不到计算包含多于两个变量的观测值的数组的相关系数矩阵的函数 . 有一些函数可以为变量对执行此操作(或者只使用~is.nan()来掩盖数组) . 但是通过循环遍历大量变量来使用 ...

  3. python求均方根_Python科学计算

    任意波形的生成 (geneartion of arbitrary waveform) 在商业,军事等领域都有着重要的应用,诸如空间光通信 (free-space optics communicatio ...

  4. python求峰面积_Python:计算contou的面积

    我想计算一个未知函数轮廓内的面积.我的函数值保存在一个Numpy数组中,绘制时如下所示: 我想计算不同高度的横截面积,例如峰高的50%.在 此外,有时特征周围会有噪声,因此会出现其他峰值,这意味着特定 ...

  5. python求相关系数_python pandas 计算相关系数

    pandas 中df 对象自带相关性计算方法corr() , 可以用来计算DataFrame对象中所有列之间的相关系数(包括pearson相关系数.Kendall Tau相关系数和spearman秩相 ...

  6. python sympy求多元函数的梯度、Hessian矩阵

    1 求梯度 sympy实际上提供了求梯度的方法,但个人认为不是很直观,求出的是∂f∂xi⃗+∂f∂yj⃗+∂f∂zk⃗\frac{\partial f}{\partial x} \vec {i}+\f ...

  7. python求乘积_Python实现求笛卡尔乘积的方法

    Python实现求笛卡尔乘积的方法 本文实例讲述了Python实现求笛卡尔乘积的方法.分享给大家供大家参考,具体如下: 在数学中,两个集合X和Y的笛卡尓乘积(Cartesian product),又称 ...

  8. Maltab计算hessian矩阵 hessian function简单例子

    Hessian矩阵其实就是一个多元函数的所有二次偏导数构成的雅克比矩阵,matlab中求解的方法是对雅克比矩阵再求雅克比矩阵. 例如 syms x y z f=x^2+y^2+z^2+x*y*z; J ...

  9. python求积分_python 求定积分和不定积分示例

    求f(x) = sin(x)/x 的不定积分和负无穷到正无穷的定积分 sin(x)/x 的不定积分是信号函数sig ,负无穷到正无穷的定积分为pi import math import numpy a ...

最新文章

  1. unicode,ansi,utf-8,unicode big endian编码的区别
  2. Vue-CLI + Webpack 搭建 Vue 项目最全分析
  3. pytorch mseloss测试
  4. 机器学习基础(HGL的机器学习笔记1)
  5. Windows8 Metro开发 (02) : AppBar控件之TopAppBar
  6. C++编程模拟生产者消费者模型
  7. 老照片特效 php,一键制作破旧复古老照片特效PS动作
  8. HALCON示例程序color_fuses_lut_trans.hdev通过颜色对保险丝进行分类
  9. flash调用js中的方法,让js传递变量给flash (兼容 IE FF) (转)
  10. 将python算法转为scala_将Python转换为scalaasp
  11. Redis,真的不完美!
  12. linux查看磁盘io性能
  13. mysql数据库和表的关系_MySQL数据库学习【第六篇】表与表之间的关系
  14. 删除mysql指令_MySQL常用命令学习笔记
  15. bzoj4407: 于神之怒加强版
  16. LCT(Link Cut Tree)总结
  17. OD教程(汇编基础)
  18. C#+sqlserve实现登陆界面
  19. 打开Idea,弹出Server‘s certificate is not trusted 解决方法
  20. 驱动开发遇到version magic不匹配

热门文章

  1. 【前端】数组元素过滤
  2. Tensor的索引与切片
  3. linux执行jmeter脚本解决响应数据为空
  4. 用存储过程生成实体类
  5. 基于ipv6的数据包分析(GNS3)
  6. C++笔记(2018/2/7)
  7. 计算机数制和运算的一点总结.
  8. 探寻C++最快的读取文件的方案
  9. Kotlin(android)协程中文翻译
  10. Android组件化demo实现以及遇坑分享