深度学习参数要固定(深度学习代码模板)
深度学习参数要固定(深度学习代码模板)定义一个类:BaseOptions(3)文件base_options.py :③test_options.py : 定义测试时需要的命令行参数,如保存测试结果的文件夹路径。④train_options.py : 定义训练时需要的命令行参数,如学习率等(2)文件__init__.py的代码:
深度学习代码模板(一):命令行参数options
(1)options文件夹下文件介绍:
如下图,options文件夹下有四个文件:
①__init__.py : 必不可少的文件,内容可以为空,存在这个文件,options才可以作为模块,被其他函数导入,from options import *.
②base_options.py : 定义基础的命令行参数,一般训练和测试都需要的且值不变的命令行参数大多定义在这个文件夹里,如数据集的路径等。
③test_options.py : 定义测试时需要的命令行参数,如保存测试结果的文件夹路径。
④train_options.py : 定义训练时需要的命令行参数,如学习率等
(2)文件__init__.py的代码:
- __init__.py文件是为了使得options文件夹可以作为模块进行导入
- 必须存在,但是文件里面可以为空。
- 如果不存在__init__.py文件,那么其他文件使用from options import *.导入便会报错
(3)文件base_options.py :
定义一个类:BaseOptions
导入代码:train_options.py和test_options.py中均导入了
from .base_options import BaseOptions
这个文件是options文件夹下最为复杂的一个文件,这里除了定义基础的命令行参数,还对某一些参数进行了处理,输出参数的命令也在这里,不过对于我们去使用它却是十分简单的。
- 使用方法:
- 只更改命令行参数定义部分,也就是initialize中,加上你需要的命令行参数,删去不需要的。
- 更改命令行参数方法参照参考资料,以前写的关于命令行参数argparse模块
(4)文件train_options.py :
- 这个文件使用方法十分简单。
- 使用方法:
- 首先,导入base_options模块
from .base_options import BaseOptions
- 其次,根据需要更改命令行参数定义
(5)文件test_options.py :
- 使用方法如同train_options
(6)使用规范
定义了命令行参数必然需要知道在其他函数中怎么使用呀!
例如在train.py文件中怎么使用命令行参数呢?
首先,自然是导入,这里导入训练参数
from options.train_options import TrainOptions
注意:如果没有写__init__.py文件会报错哦
其次,则是定义获取参数啦
opt = TrainOptions().parse()
然后,便可以通过opt.XX对命令行参数进行使用啦!
opt.XX
相关内容可以参考以前文章,下面有链接,下一次关于代码的就是如何写数据模块data啦~
参考资料:
代码模板简介:https://www.toutiao.com/i6601732963245752846/
命令行参数argparse模块:https://www.toutiao.com/i6601685753787318791/