keras-team/keras-docs-zh

Dense的输出是全局变量吗?自定义loss时候未传递输出但是依然可以使用该输出结果

Opened this issue · 3 comments

Dense的输出是全局变量吗?自定义loss时候未传递输出但是依然可以使用该输出结果

@lupupu 这个是 Python 中变量作用域的问题,和 Keras 本身无关,你可以尝试一下下面这个代码:

def add(a, b):
    return c + d

// first print
print(add(1, 2))

c = 2
d = 5

// second print
print(add(1, 2))

第一个 print 语句执行的时候 c 和 d 还没有声明,所以这行会报错,而对于第二个 print 语句,c 和 d 已经声明,所以程序可以正常执行

@lupupu 这个是 Python 中变量作用域的问题,和 Keras 本身无关,你可以尝试一下下面这个代码:

def add(a, b):
    return c + d

// first print
print(add(1, 2))

c = 2
d = 5

// second print
print(add(1, 2))

第一个 print 语句执行的时候 c 和 d 还没有声明,所以这行会报错,而对于第二个 print 语句,c 和 d 已经声明,所以程序可以正常执行

谢谢啦