深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件
文章目录:
- 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配置文件相关推荐
- 如何在实际中计划和执行一个机器学习和深度学习项目
2019-11-27 20:27:28 作者:Sayak Paul 编译:ronghuaiyang 导读 做研究打比赛和真正的做一个机器学习和深度项目是不一样的,如果你有这方面的困惑的话,可以看看这篇 ...
- 国人独有(写诗、对对联)--国学中的深度学习项目
中华文化博大精深,今天就要分享下国人才会使用的深度学习项目,一个是自动写诗的项目,一个是出上联,对下联的对对联项目项目. ** 1.自动写诗 ** tensorflow_poems项目是能够完成中文古 ...
- 深度学习新技术在搜狗搜索广告中的深化应用
大家好,我是来自搜狗搜索广告应用策略研究组的舒鹏,目前主要负责搜索广告算法研究工作,今天的题目是深度学习新技术在搜狗搜索广告中的深化应用.深度学习技术已经出现很多年,它在各个场景中都有应用,本次演讲的 ...
- 【深度学习浅尝】web自动化测试中识别图片算术验证码
本文参考实验楼课程:Python实现深度神经网络. 声明 我也是机器学习零基础,在本次实践中,仅仅是个人对机器学习的理解,由于水平有限,难免存在不对之处.因此对机器学习中涉及到的原理和概念还是建议参考 ...
- 深度学习在美团配送ETA预估中的探索与实践
1.背景 ETA(Estimated Time of Arrival,"预计送达时间"),即用户下单后,配送人员在多长时间内将外卖送达到用户手中.送达时间预测的结果,将会以&quo ...
- 深度学习在遥感图像目标检测中的应用综述
深度学习在遥感图像目标检测中的应用综述 1 人工智能发展 1.1 发展历程 1.2 深度学习的应用 2 深度学习 2.1 机器学习概述 2.2 神经网络模型 2.3 深度学习 2.4 深度学习主要模型 ...
- 【C语言进阶深度学习记录】五 C语言中变量的属性
上一篇文章学习了C语言中的类型转换,点击链接查看:[C语言进阶深度学习记录]四 C语言中的类型转换. 文章目录 1 C语言的变量属性 1.1 auto关键字 1.2 register关键字 1.3 s ...
- 深度学习在美团配送ETA预估中的探索与实践 1
1.背景 ETA(Estimated Time of Arrival,"预计送达时间"),即用户下单后,配送人员在多长时间内将外卖送达到用户手中.送达时间预测的结果,将会以&quo ...
- 机器学习(Machine Learning)、深度学习(Deep Learning)、NLP面试中常考到的知识点和代码实现
网址:https://github.com/NLP-LOVE/ML-NLP 此项目是机器学习(Machine Learning).深度学习(Deep Learning).NLP面试中常考到的知识点和代 ...
最新文章
- 酷派android手机怎么截屏,酷派S688怎么截屏截图?
- 几个WIindows函数。坐标转换
- javascript 和 jq 的调试 用console.log() 函数
- 《转》cout和printf的混用而产生的顺序问题
- 使用ffmpeg录音
- Java IO: Reader和Writer
- 搜索引擎优化系统知名乐云seo_seo技术出名 乐云seo:如何进行搜索引擎优化?
- ARKit:增强现实技术在美团到餐业务的实践
- 大学生必犯的N大错误(开篇)
- 算法知识点——(3)监督学习——决策树
- docker 查看镜像版本_Docker 安装及入门介绍 - 荏苒经十载
- 2022高压电工考试模拟100题及模拟考试
- 科目三考试挂掉原因分析
- Visio 去掉页边距和空白页的方法
- Sentinel限流熔断
- 马克思逝世140周年纪念|朋友一生一起走!马克思与恩格斯之间的感情有多深?...
- matlab atem(),非特定人的英文
- 在java语言中 ()方法是不可以继承的_Java 语言中,构造方法是不可以继承的。( )_学小易找答案...
- tex live iso linux,TeX Live安装教程
- 数据定义语言 - DDL
热门文章
- 关于 use-default-filters 属性的说明
- [鸟哥的Linux私房菜] X Window 与 纯文本模式的切换
- DevExpress 动态换肤
- mysql odbc 安装配置过全过程
- java下拉框及响应函数_Java 下拉框JComboBox和单选按钮JRadioButton简单举例使用 | 学步园...
- python 为什么每次代码运行时间不同-python – 气流在同一个dag的不同时间运行任......
- python怎么读文件里的指定几行-Python从文件中读取指定的行以及在文件指定位置写入...
- 有没有通俗易懂的python课程-有没有简单易懂的入门级Python辅导书或网络课程?...
- python利器app-有了这个神器,轻松用 Python 写 APP !
- python的下载和安装步骤-PyCharm下载和安装详细步骤