我运行了一个关于深度学习网络的代码,首先我训练了网络,它运行良好,但是运行到验证网络时出现此错误。
我有五个 epoch,每个 epoch 都有一个训练和验证的过程。我在第一个纪元验证时遇到了错误。所以我没有运行验证代码,我发现代码可以运行到第二个纪元并且没有错误。
我的代码:
for epoch in range(10,15): # epoch: 10~15
if(options["training"]["train"]):
trainer.epoch(model, epoch)
if(options["validation"]["validate"]):
#if(epoch == 14):
validator.epoch(model)
Run Code Online (Sandbox Code Playgroud)
我觉得验证代码可能有一些错误。但我找不到那个。
我已经阅读了python docs
for list
和del
运算符的工作方式,但我需要解释以下行为
在这种情况下,c
并l
指向同一个对象(列表),因此对一个进行更改会影响另一个,但删除一个不会删除该对象.那么这里发生了什么?这只是pointer
列表对象丢失了吗?
>>> l = [1,2,3]
>>> c = l
>>> c.append(4)
>>> c
[1, 2, 3, 4]
>>> l
[1, 2, 3, 4]
>>> del c
>>> l
[1, 2, 3, 4]
>>> c
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'c' is not defined
Run Code Online (Sandbox Code Playgroud)
>>> l
[1, 2, 3, 4]
>>> del l[::2]
>>> l
[2, 4]
Run Code Online (Sandbox Code Playgroud)
l[::2] …