文章目录:

  • 1 yaml说明介绍
    • 1.1 yaml介绍
    • 1.2 YAML 相关网址
  • 2 YAML的python包PyYAML的使用
    • 2.1 关于PyYAML的相关网址
    • 2.2 安装PyYAML
    • 2.3 PyYAML快速使用

1 yaml说明介绍

1.1 yaml介绍

1、百度百科对YAML解释

YAML"YAML Ain't a Markup Language"(YAML不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"仍是一种标记语言),但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重命名。

YAML是一种数据序列化格式,优点是:

  • 对于人类可读性更友好
  • 方便与脚本语言进行交互使用

1.2 YAML 相关网址

  • yaml官网:https://yaml.org/
  • yaml语法介绍及使用——菜鸟
  • YAML教程——阮一峰

2 YAML的python包PyYAML的使用

2.1 关于PyYAML的相关网址

PyYAML是关于一个操作yaml文件的python库包,相关网址如下:

  • PyYAML的pypi网址:https://pypi.org/project/PyYAML/

  • PyYAML的github官网:https://github.com/yaml/pyyaml

2.2 安装PyYAML

1、安装yaml的python库包:PyYAML

pip install PyYAML

2、安装注意:

  • 1)虽然,在使用的时候是import yaml,但是安装的时候并不是直接安装yaml名的库包:pip install yaml这种安装方法是错误的,因为安装的并不是PyYAML库包
  • 2)在导入使用的时候,导入的名称为yaml,python中有很多这种安装包名和导入包名不一致的库包,例如opencv,我猜测可能是有人提前在pypi官网上传了某包名,因此导致被占用!

2.3 PyYAML快速使用

1、config.yaml配置文件中定义的可配值信息:

# train parameters setting
optimization: Adam
learning_rate: 0.001
batch_size: 64
epoch: 200

2、使用PyYAML模块解析config.yaml配置文件,主要步骤如下:

  • 使用open()打开config.yaml配置文件,然后使用read()读取
  • 使用yaml.load(stream, Loader)加载读取的配置文件数据,生成一个y的对象
  • 使用字典的形式访问生成的y对象中的配置信息

具体实现代码如下:

import yamlyaml_path = "./config.yaml"def read_yaml(yaml_path):# 使用open()函数读取config.yaml文件yaml_file = open(yaml_path, "r", encoding="utf-8")# 读取文件中的内容file_data = yaml_file.read()print(f"file_date type: {type(file_data)}\nfile_date value:\n{file_data}")yaml_file.close()# 加载数据流,返回字典类型数据y = yaml.load(file_data, Loader=yaml.FullLoader)print(f"y data type: {type(y)}\ny data value: {y}")# 下面就可以使用字典访问配置文件中的数据了print(f"optimization: {y['optimization']}")print(f"learning_rate: {y['learning_rate']}")print(f"batch_size: {y['batch_size']}")print(f"epoch: {y['epoch']}")optimization = y['optimization']learning_rate = y['learning_rate']batch_size = y['batch_size']epoch = y['epoch']print(type(optimization))print(type(learning_rate))return optimization, learning_rate, batch_size, epochif __name__ == '__main__':read_yaml(yaml_path)

输出结果

file_date type: <class 'str'>
file_date value:
# train parameters setting
optimization: Adam
learning_rate: 0.001
batch_size: 64
epoch: 200y data type: <class 'dict'>
y data value: {'optimization': 'Adam', 'learning_rate': 0.001, 'batch_size': 64, 'epoch': 200}optimization: Adam
learning_rate: 0.001
batch_size: 64
epoch: 200
<class 'str'>
<class 'float'>

##2.4 PyYAML使用参考

  • 参考1
  • 参考2
  • 参考3

欢迎大家关注笔者,你的关注是我持续更博的最大动力

原创文章,转载告知,盗版必究
微信:suihailiang0816 QQ:931762054 wx公众号:仰望星空的小随

深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件相关推荐

  1. 如何在实际中计划和执行一个机器学习和深度学习项目

    2019-11-27 20:27:28 作者:Sayak Paul 编译:ronghuaiyang 导读 做研究打比赛和真正的做一个机器学习和深度项目是不一样的,如果你有这方面的困惑的话,可以看看这篇 ...

  2. 国人独有(写诗、对对联)--国学中的深度学习项目

    中华文化博大精深,今天就要分享下国人才会使用的深度学习项目,一个是自动写诗的项目,一个是出上联,对下联的对对联项目项目. ** 1.自动写诗 ** tensorflow_poems项目是能够完成中文古 ...

  3. 深度学习新技术在搜狗搜索广告中的深化应用

    大家好,我是来自搜狗搜索广告应用策略研究组的舒鹏,目前主要负责搜索广告算法研究工作,今天的题目是深度学习新技术在搜狗搜索广告中的深化应用.深度学习技术已经出现很多年,它在各个场景中都有应用,本次演讲的 ...

  4. 【深度学习浅尝】web自动化测试中识别图片算术验证码

    本文参考实验楼课程:Python实现深度神经网络. 声明 我也是机器学习零基础,在本次实践中,仅仅是个人对机器学习的理解,由于水平有限,难免存在不对之处.因此对机器学习中涉及到的原理和概念还是建议参考 ...

  5. 深度学习在美团配送ETA预估中的探索与实践

    1.背景 ETA(Estimated Time of Arrival,"预计送达时间"),即用户下单后,配送人员在多长时间内将外卖送达到用户手中.送达时间预测的结果,将会以&quo ...

  6. 深度学习在遥感图像目标检测中的应用综述

    深度学习在遥感图像目标检测中的应用综述 1 人工智能发展 1.1 发展历程 1.2 深度学习的应用 2 深度学习 2.1 机器学习概述 2.2 神经网络模型 2.3 深度学习 2.4 深度学习主要模型 ...

  7. 【C语言进阶深度学习记录】五 C语言中变量的属性

    上一篇文章学习了C语言中的类型转换,点击链接查看:[C语言进阶深度学习记录]四 C语言中的类型转换. 文章目录 1 C语言的变量属性 1.1 auto关键字 1.2 register关键字 1.3 s ...

  8. 深度学习在美团配送ETA预估中的探索与实践 1

    1.背景 ETA(Estimated Time of Arrival,"预计送达时间"),即用户下单后,配送人员在多长时间内将外卖送达到用户手中.送达时间预测的结果,将会以&quo ...

  9. 机器学习(Machine Learning)、深度学习(Deep Learning)、NLP面试中常考到的知识点和代码实现

    网址:https://github.com/NLP-LOVE/ML-NLP 此项目是机器学习(Machine Learning).深度学习(Deep Learning).NLP面试中常考到的知识点和代 ...

最新文章

  1. 酷派android手机怎么截屏,酷派S688怎么截屏截图?
  2. 几个WIindows函数。坐标转换
  3. javascript 和 jq 的调试 用console.log() 函数
  4. 《转》cout和printf的混用而产生的顺序问题
  5. 使用ffmpeg录音
  6. Java IO: Reader和Writer
  7. 搜索引擎优化系统知名乐云seo_seo技术出名 乐云seo:如何进行搜索引擎优化?
  8. ARKit:增强现实技术在美团到餐业务的实践
  9. 大学生必犯的N大错误(开篇)
  10. 算法知识点——(3)监督学习——决策树
  11. docker 查看镜像版本_Docker 安装及入门介绍 - 荏苒经十载
  12. 2022高压电工考试模拟100题及模拟考试
  13. 科目三考试挂掉原因分析
  14. Visio 去掉页边距和空白页的方法
  15. Sentinel限流熔断
  16. 马克思逝世140周年纪念|朋友一生一起走!马克思与恩格斯之间的感情有多深?...
  17. matlab atem(),非特定人的英文
  18. 在java语言中 ()方法是不可以继承的_Java 语言中,构造方法是不可以继承的。( )_学小易找答案...
  19. tex live iso linux,TeX Live安装教程
  20. 数据定义语言 - DDL

热门文章

  1. 关于 use-default-filters 属性的说明
  2. [鸟哥的Linux私房菜] X Window 与 纯文本模式的切换
  3. DevExpress 动态换肤
  4. mysql odbc 安装配置过全过程
  5. java下拉框及响应函数_Java 下拉框JComboBox和单选按钮JRadioButton简单举例使用 | 学步园...
  6. python 为什么每次代码运行时间不同-python – 气流在同一个dag的不同时间运行任......
  7. python怎么读文件里的指定几行-Python从文件中读取指定的行以及在文件指定位置写入...
  8. 有没有通俗易懂的python课程-有没有简单易懂的入门级Python辅导书或网络课程?...
  9. python利器app-有了这个神器,轻松用 Python 写 APP !
  10. python的下载和安装步骤-PyCharm下载和安装详细步骤