为什么以下python代码块有效?我确实定义了函数layer_size()但我还没有定义函数layer_sizes_test_case()。
def layer_sizes( X , Y ):
n_x = X.shape[0]
n_h = 4
n_y = Y.shape[0]
return n_x , n_h , n_y
X_assess, Y_assess = layer_sizes_test_case()
(n_x, n_h, n_y) = layer_sizes(X_assess, Y_assess)
答案 0 :(得分:2)
此代码之所以有效,是因为:
首先,我假设您在Andrew Ng的深度学习(平面数据分类)的第3周遇到了这段代码
检查导入语句:
from testCases_v2 import *
这行代码导入了上述功能:
def layer_sizes_test_case():
np.random.seed(1)
X_assess = np.random.randn(5, 3)
Y_assess = np.random.randn(2, 3)
return X_assess, Y_assess
在提及的链接Github链接上链接.py文件: Github link这个GIT不属于我。出于教育目的张贴在这里。
答案 1 :(得分:0)
首先,return
需要位于函数layer_sizes
内。所以,正确缩进你的代码。像这样:
def layer_sizes( X , Y ):
n_x = X.shape[0]
n_h = 4
n_y = Y.shape[0]
return n_x , n_h , n_y
无论如何,我还是看不到你的代码可以运作。它只是有一个语法错误,我不得不让你知道。如果你实际上意味着return
应该缩进到函数内部并且搞砸了,那么我仍然没有看到你的代码能够工作的任何方式。您必须已导入具有函数layer_size_test_case()
的模块,或者您可能已在此发布的代码块之上的某处定义了此函数,您必须在以后忘记它。如果您可以提供更多信息,我可以编辑我的答案以获得更多支持。