当前位置: 首页 > 网络应用技术

Python解析参数的三种方法

时间:2023-03-07 12:07:08 网络应用技术

  我们今天分享的主要目的是通过使用python中的命令行和配置文件来提高代码的效率。我们在机器学习中的参考过程中练习。有三种方法可以选择。第一个选项是使用ArgParse,它是一个流行的Python模块,专门用于命令行分析。另一种方法是读取JSON文件,我们可以将所有Super -Re -Reinforced数字放入其中;第三个也鲜为人知 - 已知。该方法是使用YAML文件!好奇,让我们开始吧!

  在以下代码中,我将使用Visual Studio Code,这是一个非常有效的集成Python开发环境。该工具的优点是,它通过安装扩展,集成终端并允许同时处理大量Python脚本来支持每个编程语言和Justter笔记本电脑

  当然,如果您不知道如何配置VScode,则可以在此处查看

  处理者将视觉工作室代码变成Python开发工具

  数据集,使用Kaggle上的共享自行车数据集,您可以在文本末尾下载或在此处获取。

  https://www.kaggle.com/datasets/lakshmmi25npathi/bike-shaaring-dataset

  如上图所示,我们有一个标准结构来组织我们的小项目:

  首先,我们可以创建一个文件train.py,我们拥有用于导入数据,培训培训模型并在测试集上进行评估的基本程序:

  在代码中,我们还介绍了options.py文件中包含的train_options函数。后一个文件是一个python文件。我们可以更改train.py中的超级参数考虑:

  在此示例中,我们使用ArgParse库,该库在解析命令行参数时非常流行。首先,我们最初求解分析仪,然后我们可以添加要访问的参数。

  这是运行代码的示例:

  有两种方法可以更改超级衰退的默认值。第一个选项是在选项中设置不同的默认值。PY文件。其他选项是从命令行传递OVER参数值:

  我们需要指定要更改的超级到redee数字的名称和相应值。

  像正面一样,我们可以维护类似的文件结构。在这种情况下,我们用json文件替换options.py文件。train.py file.com用argparse库,json文件可以是快速,直观的替代方案,它使用键值存储数据。BELOW我们创建一个options.json文件,其中包含我们需要将数据传递给其他代码的数据。

  如上所述,它与python dictionary非常相似。但是与词典不同,它包含文本/字符串格式中的数据。加上一些常见的数据类型,具有略有不同的语法。Python识别false/true。JSON中的其他可能值是数组,由Square Brackets表示为Python列表。

  在Python中使用JSON数据的优点在于,它可以通过负载方法将其转换为Python词典:

  要访问特定项目,我们只需要在方括号中引用其关键名称:

  最后的选择是使用yaml的潜力。就像json文件一样,我们在python代码中读取yaml文件作为词典来访问super -reasser.yaml的值。yaml是代表语言的可读数据。层次结构由双empty字符表示,而不是像json文件那样的括号。below我们显示选项的内容。yaml文件:

  在train.py中,我们打开options.yaml文件。该文件将始终使用加载方法将其转换为Python词典。这次,它是从YAML库中导入的:

  像正面一样,我们可以使用词典所需的语法来访问超级要求的值。

  配置文件的汇编非常快,ArgParse需要为我们要添加的每个参数编写代码行。

  因此,我们应该根据不同情况选择最合适的方式

  例如,如果我们需要向参数添加注释,则JSON是不合适的,因为它不允许注释,YAML和ARGPARSE可能非常合适。

  好的,这是今天共享的所有内容。如果您喜欢,请喜欢?