- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我们需要计算双梯度或Hessian时,在tensorflow中,我们可以使用tf.hessians(F(x),x)
,或使用tf.gradient(tf.gradients(F(x),x)[0], x)[0]
。然而,当 x
不是排名第一,我在使用 tf.hessians()
时被告知以下错误.
ValueError: Cannot compute Hessian because element 0 of xs does not have rank one.. Tensor model_inputs/action:0 must have rank 1. Received rank 2, shape (?, 1)
在下面的代码中:
with tf.name_scope("1st scope"):
self.states = tf.placeholder(tf.float32, (None, self.state_dim), name="states")
self.action = tf.placeholder(tf.float32, (None, self.action_dim), name="action")
with tf.name_scope("2nd scope"):
with tf.variable_scope("3rd scope"):
self.policy_outputs = self.policy_network(self.states)
# use tf.gradients twice
self.actor_action_gradients = tf.gradients(self.policy_outputs, self.action)[0]
self.actor_action_hessian = tf.gradients(self.actor_action_gradients, self.action)[0]
# or use tf.hessians
self.actor_action_hessian = tf.hessian(self.policy_outputs, self.action)
当使用tf.gradients()
时,也会导致错误:
in create_variables self.actor_action_hessian = tf.gradients(self.actor_action_gradients, self.action)[0]
AttributeError: 'NoneType' object has no attribute 'dtype'
我该如何解决这个问题,tf.gradients()
也不tf.hessians()
在这种情况下可以使用吗?
最佳答案
第二种方法很好,错误在其他地方,即你的图没有连接。
self.actor_action_gradients = tf.gradients(self.policy_outputs, self.action)[0]
self.actor_action_hessian = tf.gradients(self.actor_action_gradients, self.action)[0]
第二行抛出错误,因为 self.actor_action_gradients 为 None,因此您无法计算其梯度。您的代码中没有任何内容表明 self.policy_outputs 依赖于 self.action (而且它不应该依赖于 self.action,因为它的操作依赖于策略,而不是基于操作的策略)。
一旦你解决了这个问题,你就会注意到,“hessian”并不是真正的 hessian,而是一个向量,以形成 f wrt 的正确 hessian。 x 您必须迭代 tf.gradients 返回的所有值,并独立计算每个值的 tf.gradients。这是 TF 中的一个已知限制,目前没有更简单的方法可用。
关于numpy - 计算 Hessians w.r.t 高阶变量既不能通过 tf.hessians() 也不能通过 tf.gradients() 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45865829/
我有一个需要良好二进制协议(protocol)的新项目。 我正在考虑使用 Hessian ,除非有人有更好的想法。 我正在阅读他们的一些文档,但它并不像我想象的那么简单,所以我有几个简单的问题。 主页
当我们需要计算双梯度或Hessian时,在tensorflow中,我们可以使用tf.hessians(F(x),x) ,或使用tf.gradient(tf.gradients(F(x),x)[0],
我正在尝试在两个 Android 设备之间建立基本的 Hessian 通信。 Client 发送消息的AsyncTask public class AsyncHessian extends Async
1、hessian是什么? 看到这个单词我还不知道怎么读,音标是[hes]读黑森。 Hessian是一个轻量级的远程的数据交换工具,使用简单的方法提供了RMI(远程方法调用
如何使用 Hessian 二进制协议(protocol)创建文件上传/下载 servlet?对于大于 1GB 的文件。我为 Hessian with large binary data 创建测试, 但
我们正在将生产环境转移到客户的数据中心。目前,为了解释该场景,我们有一个 Apache 负载均衡器,它对托管 2 个 Grails 应用程序的 2 个 Apache Tomcat 应用程序服务器的请求
Hessian 协议(protocol)有超时吗? 注意:我没有使用 Hessian4J。相反,我使用 Spring 导出 Hessian 服务,并使用我自己的代码来处理 Hessian 请求。 最佳
我正在使用 Hessian 调用 Java 方法,是否还可以在发送消息之前添加 HTTP header - 这样我就可以将“授权”添加到消息 header 中? 我正在使用 Spring,因此我当前获
已关注 writing hessian serivce我已经在我的 Spring 应用程序中设置了 Hessian Web 服务及其工作。 使用 org.springframework.remotin
我想提取血管中的中心线像素。起初我使用 ginput(1) 命令选择了靠近容器边缘的种子点。这提供了起点并指定了需要执行分析的血管段上的感兴趣区域 (ROI)。 figure; imshow(Igre
有没有办法在SAS的proc逻辑中获得Hessian矩阵?或者哪个是从 proc logitic 开始计算它的选项? 我一直在阅读函数文档,但看不到有办法将它包含在输出表中。 最佳答案 我搜索了 SA
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我必须调用 Hessian 服务来获取大量数据,该服务非常慢。因为 Hessian 调用不会更新数据,结果也很少改变。我想知道是否可以在预定义的时间内根据服务名称和参数缓存结果。我将 Hessian
在使用 scipy.optimize.minimize 和 trust-constr 方法时,我得到了这个 UserWarning: scipy\optimize\_hessian_update_s
Hessian 的官方 J2ME 实现似乎有严重的局限性:不支持复杂的对象。 在线文档中没有提到这个局限性,但是如果你谷歌“hessian j2me”你会找到关于这个的帖子问题。虽然谷歌没有找到解决方
我正在使用牛顿法实现回归的梯度下降,如《机器学习概率视角》(Murphy)一书中的 8.3 部分所述。我在此实现中使用二维数据。我正在使用以下符号。 x = 输入数据点 m*2 y = 对应于输入数据
我正在研究处理从 Spring Hessian 连接中断中恢复的方法。如果连接断开,Hessian 代理可能抛出哪些异常? 最佳答案 这是一个示例堆栈跟踪,每次您尝试连接到不可用的 Hessian 远
我有一个 Java 1.4 网络应用程序,它使用 Hessian 来进行网络服务调用。我试图将它写得尽可能健壮和透明。在调用代理时,我不希望任何 hessian 异常使其脱离我的委托(delegate
我正在使用 spring 3.1.0、com.springsource.com.caucho-3.2.1.jar 和 tomcat-6.0.33 双方(客户端/服务器)。除了长时间接受服务(超过 9/
我有一个张量 X,大小为 M x D。我们可以将 X 的每一行解释为训练样本,将每一列解释为一个特征。 X 用于计算大小为 M x 1 的张量 u(换句话说,u 依赖于计算图中的 X)。我们可以将其解
我是一名优秀的程序员,十分优秀!