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'>的主要内容,如果未能解决你的问题,请参考以下文章

如何使用`tf.gradients`? `TypeError: Fetch argument None has invalid type <type 'NoneType'>`

使用 tf.gradients 和 tf.hessian 时出现 TensorFlow 错误:TypeError: Fetch argument None has invalid type <t

TypeError: QTableView(parent: QWidget = None): 参数 1 具有意外类型“int”

TypeError: QWebEngineView(parent: QWidget = None): 参数 1 有意外类型'PySide2.QtWidgets.QFrame'

Tensorflow TypeError:获取参数None的类型无效<type'NoneType'>?

TypeError: fun() 至少需要 2 个参数(给定 3 个)