TypeError:Fetch 参数 None 的类型无效 <type 'NoneType'>

Posted

技术标签:

【中文标题】TypeError:Fetch 参数 None 的类型无效 <type \'NoneType\'>【英文标题】:TypeError: Fetch argument None has invalid type <type 'NoneType'>TypeError:Fetch 参数 None 的类型无效 <type 'NoneType'> 【发布时间】:2018-01-12 05:24:02 【问题描述】:

我遇到一个错误,代码如下。我想检查功能层的梯度,出现错误:

import numpy as np
import tensorflow as tf

def floor(x):
    return tf.floor(x)

# code
w1 = tf.Variable([[1.5, 0.5, -0.5, -1.5]])
res = floor(w1)

grads = tf.gradients(res, [w1])

with tf.Session() as sess:
    tf.global_variables_initializer().run()
    print(sess.run(grads))

error info

【问题讨论】:

【参考方案1】:

TensorFlow 中 floor() 函数的梯度被定义为返回 None,因为 ⌊x⌋ 的梯度在任何地方(整数除外)都是 0,因此这允许后端代码将其视为没有连接.

有关 git 问题,请参阅 here。

【讨论】:

以上是关于TypeError:Fetch 参数 None 的类型无效 <type 'NoneType'>的主要内容,如果未能解决你的问题,请参考以下文章