学习TensorFlow教程中'TensorFlow Mechanics 101'时,如果使用Spyder IDE,可能出现如下错误:
Step 1800: loss = 0.30 (0.002 sec)
Step 1900: loss = 0.44 (0.003 sec)
Training Data Eval:
Num examples: 55000 Num correct: 49180 Precision @ 1: 0.8942
Validation Data Eval:
Num examples: 5000 Num correct: 4509 Precision @ 1: 0.9018
Test Data Eval:
Num examples: 10000 Num correct: 9023 Precision @ 1: 0.9023
An exception has occurred, use %tb to see the full traceback.
SystemExit
D:\software\anaconda\envs\tensorflow\lib\site-packages\IPython\core\interactiveshell.py:2870:
UserWarning: To exit: use 'exit', 'quit', or Ctrl-D.
warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)
输入%tb进行追溯:
File "D:\Anaconda3\Lib\site-packages\tensorflow\python\platform\app.py", line 48, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
SystemExit
可以看到抛出了一个SystenExit异常,其实这是因为对main的调用被封装在一个_sys.exit()调用中,该调用在完成后终止程序。 你收到的消息来自在iPython迭代外壳中运行该文件。 sys.exit()引发一个通常用于退出python的SystemExit异常。 但是,iPython的shell会捕获该异常,并显示警告。
但是,这其实不会影响你的程序。 可以忽略这个消息,或者在app.py中移除包装调用main()的_sys.exit()。