學習陳雲老師的《深度學習框架PyTorch:入門與實踐 》貓狗二分類實戰時遇到的問題。
運行環境:
問題描述:
(pytorch) D:\SoftWares-Academic\python_workspace\pytorch-best-practice>python main.py help
usage : python file.py <function> [--args=value]
<function> := train | test | help
example:
python main.py train --env='env0701' --lr=0.01
python main.py test --dataset='path/to/dataset/root/'
python main.py help
avaiable args:
Traceback (most recent call last):
File "main.py", line 171, in <module>
import fire
File "D:\SoftWares-Academic\Anaconda3\envs\pytorch\lib\site-packages\fire\core.py", line 138, in Fire
component_trace = _Fire(component, args, parsed_flag_args, context, name)
File "D:\SoftWares-Academic\Anaconda3\envs\pytorch\lib\site-packages\fire\core.py", line 468, in _Fire
target=component.__name__)
File "D:\SoftWares-Academic\Anaconda3\envs\pytorch\lib\site-packages\fire\core.py", line 672, in _CallAndUpdateTrace
component = fn(*varargs, **kwargs)
File "main.py", line 166, in help
from inspect import getsource
NameError: name 'opt' is not defined
很迷的錯誤,跟書附帶的代碼一樣的。在main.py函數頭部已經添加了from config import opt,但是還報錯NameError: name ‘opt’ is not defined。
最後,在調用的方法help裏直接添加from config import opt,沒有錯誤了,但不知道原理。