【问题标题】:Python script continues after killing the executionPython脚本在终止执行后继续
【发布时间】:2020-03-21 05:13:37
【问题描述】:

我训练了一个神经网络,在执行脚本时,它似乎在一段时间后停止了。 什么都没有打印出来(超过 20 分钟,通常它几乎每秒打印一次)。

所以我认为会出现问题并通过二次按钮终止执行。 按下后立即执行!?

没有发生异常或类似的事情。好像从无到有。

但是在按下按钮后它会持续很短的时间,比如 5 秒,然后它会完全停止(没有到达脚本的结尾)。也许是因为我按下了按钮?

首先我认为 Spyder IDE 可能是原因,也许它不能正常工作。所以我测试了 JupyterLab,但结果完全一样!

谁能帮帮我?如果它可以工作,我会非常高兴... 您需要代码(它真的很长)或我忘记的其他信息吗?

非常感谢!

【问题讨论】:

    标签: python keras spyder


    【解决方案1】:

    尽管如此,我不明白为什么在按下停止按钮后继续执行,我认为奇怪行为的原因是由于执行错误的 while 循环。我忘记了嵌套 if 子句中的 break 语句。

    大概我很确定 py-scripts 和 jar-files 的执行基本上是不同的。在 Java 中(我仍然习惯于 Java),控制台打印在停止执行后将永远不会继续。 :D 这正是让我寻找与编码错误不同的原因的原因。

    不过,改正错误后就可以正常使用了。

    【讨论】:

    • 这与 while 循环无关。大多数库,尤其是对于深度神经网络的库,都是并行化的,并且通常需要一些时间来停止它们,因为键盘中断命令“等待”所有进程或线程结束。这就是为什么它有时甚至在杀死它之后还会继续的原因。你在窗户上工作吗?然后有一大堆与windoof相关的问题可能会导致更长的延迟。我假设您的 while 循环是在一个循环中执行的,可能会产生死锁或其他东西。两次使用kill命令有帮助吗?
    • 我使用的是 Windows 7。确实,添加缺少的 break-statement 解决了这个问题。因此,我认为这就是原因 - 尽管我觉得很奇怪,它在杀死执行后继续。
    • 也许,检查您的 python 和 keras 版本等,并尝试向相应的开发人员报告此行为,这确实可能是其中一个库中的错误,因为这很不寻常。我认为你的问题只引起了这么少的关注,这很奇怪。也许还会发布导致麻烦的代码sn-p。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-04
    • 2015-04-24
    • 1970-01-01
    相关资源
    最近更新 更多