问题描述
嗨,我正在做一个关于探针的深度学习项目, 不断遇到“未绑定的本地错误”
def call(self,x):
if self.layer_num == -1: # for network training
for (i,layer) in enumerate(self.my_layers):
if i == 10:
x = self.dense(x)
x = layer(x)
return x
else:
for layer in self.my_layers[0:self.layer_num]:
x = layer(x)
x = tf.stop_gradient(x)
probe = self.my_probes[self.layer_num]
return probe(x)
然后,在另一个定义下
def probe_training(weights): ...
for layer_num in model.my_probes.keys():
model.layer_num = layer_num
model(X_train[0:Batch])
weights = model.get_weights()
UnboundLocalError Traceback (most recent call last)
<ipython-input-17-168198d8affe> in <module>()
42 for layer_num in model.my_probes.keys():
43 model.layer_num = layer_num
---> 44 model(X_train[0:Batch])
45 weights = model.get_weights()
46
1 frames
<ipython-input-16-a9dee0e32692> in call(self,x)
70 x = tf.stop_gradient(x)
71 probe = self.my_probes[self.layer_num]
---> 72 return probe(x)
73
74 model = NN()
UnboundLocalError: **local variable 'probe' referenced before assignment**
我认为在定义“探针”之前添加一行 如果self.layer-num == -1 也许可以解决问题,但是//
请帮助
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)