学习陈云老师的《深度学习框架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,没有错误了,但不知道原理。