❀yolov5的学习 ❀关于代码的文件类型

目录

什么是.yaml文件?

什么是.json文件?

什么是.sh文件?

什么是.cfg文件?

How .txt/.csv to work in Deep Learning  ?

DataProcess

DataFormat Change

参考文章:


1.什么是.yaml文件?

一种用来写配置文件的序列化语言,跟json有些像,yaml又称作json的超集,yaml的设计则是为了友好可读性,主要用于配置信息的书写,而json设计的目的则是为了简单和通用,主要用于存储数据和应用层数据通信使用。

yaml主要有三种类型的数据原语:Maps,Lists,Scales(按照官方法表达:“mappings (hashes/dictionaries), sequences (arrays/lists) and scalars (strings/numbers)”),基于这三种数据原语可以组合出任何数据结构。

  • 破折号和空格( “-” ):Lists集合
  • 冒号和空格( : ) Maps键值对
  • 井号( “#” ):注释
  • 三个破折号( ---” ):文档内容分隔线(多用于文档开始的地方)
  • 三个冒号( ...” ):表示文档的结束
  • 锚点(“&”),重复项抛锚(“*”):两者成对表达,像定义变量a,再引用变量a的关系,是一种重复项的替换。

  yaml基于缩进的作用域跟python语法格式比较相似,缩进块方便数据的结构化。

注意:yaml文件大小写敏感,不允许使用用tab制表符号代替空格。

2.什么是.json文件?

JSON (JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。数据传输是我们在敲代码时,经常遇到的一个场景,前后端交互。给数据一个统一的格式有利于我们编写和解析数据。json,是一种数据格式,在与后端的数据交互中有较为广泛的应用。

JSON 的语法规则
JSON 的语法规则十分简单,可称得上“优雅完美”,总结起来有:
数组(Array)用方括号(“[]”)表示。
对象(Object)用大括号(”{}”)表示。
名称/值对(name/value)组合成数组和对象。
名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组。
并列的数据之间用逗号(“,”)分隔。

 

3.什么是.sh文件?

 是UNIX/LINUX 操作系统的脚本文件。
  sh是linux,unix命令。  
  用途:调用缺省 shell。
  语法:请参阅 ksh 命令的语法。将 /usr/bin/sh 文件链接到 Korn shell。
  描述:sh 命令调用缺省 shell 并使用它的语法和标志。链接到 /usr/bin/sh 路径的 shell 是缺省的 shell。操作系统的标准配置把 /usr/bin/sh 路径链接到 Korn shell。关于 Korn shell 功能的具体信息,请参阅《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『Korn Shell 或 POSIX Shell 命令』。  
  标志:请参阅 Korn shell(ksh 命令)的标志。
  文件:/usr/bin/sh 包含 sh 命令。

4.什么是.cfg文件?

CFG文件格式

大多数情况下,很多程序都要保存用户的设置,办法有很多:注册表,日志文件...... 而很多程序都使用了一个专用的文件。为了方便起见,常常命名为*.cfg,有时甚至直接命名为Config.cfg。

这只是一个为开发及使用方便而"发明"的一个后缀名。所以,这种文件没有固定的格式,其实也并不能算作是一种文件类型。用途也仅仅是保存用户的设置,平常没有必要打开。

同样,为了方便起见,里面的内容大多数时候也确实是文本。可以用任何文本编辑器打开,比如QUAKE的config.cfg。不妨用记事本打开看看,如果出现乱码,则不要去动它。 

5.什么是.h5文件?

H5文件是层次数据格式第5代的版本(Hierarchical Data Format,HDF5),它是用于存储科学数据的一种文件格式和库文件。由美国超级计算中心与应用中心研发的文件格式,用以存储和组织大规模数据.

H5将文件结构简化成两个主要的对象类型:
1 数据集dataset,就是同一类型数据的多维数组
2 组group,是一种容器结构,可以包含数据集和其他组,若一个文件中存放了不同种类的数据集,这些数据集的管理就用到了group

直观的理解,可以参考我们的文件系统,不同的文件存放在不同的目录下:
目录就是hdf5文件中的group,描述了数据集DataSet的分类信息,通过group有效的将多种dataset进行管理和划分
文件就是hdf5文件中的dataset,表示具体的数据[7]

6.什么是.pth文件?

pytorch进行模型保存的时候,一般有两种保存方式,一种是保存整个模型,另一种是只保存模型的参数。

torch.save(model.state_dict(), "my_model.pth") # 只保存模型的参数
torch.save(model, "my_model.pth") # 保存整个模型
保存的模型参数实际上一个字典类型,通过key-value的形式来存储模型的所有参数,本文以自己在实践过程中使用的一个.pth文件为例来说明,使用的是整个模型。

6-1.h5和pth的区别是什么?

不同模型权重保存的格式

weights一般是YOLO darknet的模型保存格式

pth一般是PyTorch的模型保存格式

ckpt一般是tenseflow的模型保存格式

How .txt/.csv to work in Deep Learning  ?

DataProcess

DataFormat Change
 

参考文章:

 百度百科

 JSON是什么?如何正确理解?_阿嚏乱码的地方-CSDN博客_json是什么

[7]  h5文件简介_嗯哼哈嘿的博客-CSDN博客_h5文件

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏天|여름이다

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值