人工智能以及linux常常会遇到的基础文件格式
csv文件
最早出现csv文件是为了实现简单的数据存储,是一个纯文本的文件,最广泛的应用是在程序之间转移表格数据,能够兼容各类程序pt文件
.pt 是什么文件? pytorch的模型文件sh文件
linux中.sh文件是脚本文件,一般都是bash脚本。 脚本文件英文为Script。实际上脚本就是程序,一般都是由应用程序提供的编程语言。 应用程序包括浏览器(javaScript、VBScript)、多媒体创作工具,应用程序的宏和创作系统的批处理语言也可以归入脚本之类。 脚本文件类似于DOS操作系统中的批处理文件,它可以将不同的命令组合起来,并按确定的顺序自动连续地执行。 脚本文件是文本文件,用户可使用文本编辑器来创建脚本文件。md文件
.md文件是什么?.md如何打开? 可能有些朋友会看到以md为结尾的文件,但是不知道用什么打开。下面就来说一下.md文件如何打开,markdown文件用什么打开。 1、首先来普及一下什么是md文件, md全称markdown,markdown也是一种标记语言。 2、md文件其实可以用常用的文本编辑器都可以打开,例如记事本、EditPlus、sublime等等。 3、用记事本打开,把markdown文件拖到记事本图标上就可以打开 。 4、用 sublime打开方法也一样 ,当然也可以在文件上右击选择打开方式。 5、当然 打开markdown文件最专业的还是markdownPad软件 。左边是源码,右边可以看展示效果。pyc文件
pyc 是由py文件经过编译后二进制文件,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python 的虚 拟机来执行的。 pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的,2.5编译的pyc文件,2.4版本的 python是无法执行的。 pyc文件也是可以反编译的,不同版本编译后的pyc文件是不同。yaml文件
1,yaml简介 yaml是一种用来写配置文件的序列化语言,跟json有些像,yaml又称作json的超集,yaml的设计则是为了友好可读性,主要用于配置信息的书写, 而json设计的目的则是为了简单和通用,主要用于存储数据和应用层数据通信使用。 2,格式 yaml主要有三种类型的数据原语:Maps,Lists,Scales(按照官方法表达:“mappings (hashes/dictionaries), sequences (arrayssts) and scalars (strings/numbers)”) 基于这三种数据原语可以组合出任何数据结构。 破折号和空格( “- ” ):Lists集合 冒号和空格( “: ” ) :Maps键值对 井号( “#” ):注释 三个破折号( “---” ):文档内容分隔线(多用于文档开始的地方) 三个冒号( “...” ):表示文档的结束 锚点(“&”),重复项抛锚(“*”):两者成对表达,像定义变量a,再引用变量a的关系,是一种重复项的替换。 yaml基于缩进的作用域跟python语法格式比较相似,缩进块方便数据的结构化。 注意:yaml文件大小写敏感,不允许使用用tab制表符号代替空格。pyx文件和pyd 文件
当人们提到 Python 的时候,经常会说到下面两个优点: 写起来方便 容易调用 C/C++ 的库 然而实际上,第一点是以巨慢的执行速度为代价的, 而第二点也需要库本身按照 Python 的规范使用 Python API、导出相应的符号。 因此出现了Cython Cython 可以让我们方便地: 用 Python 的语法混合编写 Python 和 C/C++ 代码,提升 Python 速度 调用 C/C++ 代码 C语言是编译性语言,而Python则是解释性语言,简而言之,就是Python运行是逐行运行,不需要实现编译,而C需要在运行前编译。 Cython的出现就是这个目的,让Python也可以被编译,然后执行。 那么关于.pyx .pyx 文件是由 Cython 编程语言 “编写” 而成的 Python 扩展模块源代码文件。 cython是python语言的一个超集,cyx里面可以运行纯python文件。 .pyx 文件类似于 C 语言的 .c 源代码文件,.pyx 文件中有 Cython 模块的源代码。 不像 Python 语言可直接解释使用的 .py 文件,.pyx 文件必须先被编译成 .c 文件,再编译成 .pyd (Windows 平台) 或 .so (Linux 平台) 文件,才可作为模块 import 导入使用。 .pyd .pyd 文件是非 Python,由其它编程语言 “编写-编译” 生成的 Python 扩展模块。 Python 要导入 .pyd 文件,实际上是在 .pyd 文件中封装了一个 module。在 python 中使用时,把它当成 module 来用就可以了, 即:“import 路径名.modulename” 即可,路径名为 .pyd 文件所在的路径。 基于 Qt/C++ 的 PyQt、PySide GUI (图形用户界面) 开发框架绑定,会为每个 Qt/C++ 库 .dll 文件生成一个中间 .pyd 文件。 PyWin32 项目分发包中,也存在很多 MicroSoft Windows OS 相应 .dll 文件的中间 .pyd 文件。 Cython 可将个人基于 Python 语言编写的 Python 模块编译成具有 C 语言特性的 .pyd 文件。SO文件
SO文件是Linux下共享库文件,它的文件格式被称为ELF文件格式。由于Android操作系统的底层基于Linux系统,所以SO文件可以运行在Android平台上。mat文件
mat数据格式是matlab的数据存储的标准格式。 你可以调用matlab的子程序库,用c或fortan调用mat格式的数据。o文件
.o文件又称对象文件,是可执行文件。 .o文件就是对象文件,是可重定向文件的一种,通常以ELF格式保存,里面包含了对各个函数的入口标记,描述,当程序要执行时还需要链接(link). 链接就是把多个.o文件链成一个可执行文件。ONNX文件
Open Neural Network Exchange(ONNX,开放神经网络交换)格式,是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移。 ONNX是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型。它使得不同的人工智能框架(如Pytorch, MXNet)可以采用相同格式存储模型数据并交互。 ONNX的规范及代码主要由微软,亚马逊 ,Facebook 和 IBM 等公司共同开发,以开放源代码的方式托管在Github上。 目前官方支持加载ONNX模型并进行推理的深度学习框架有: Caffe2, PyTorch, MXNet,ML.NET,TensorRT 和 Microsoft CNTK,并且 TensorFlow 也非官方的支持ONNX。iml文件
iml是intellij idea的工程配置文件,里面是当前project的一些配置信息。 JAVA 一种编程语言,带有这样的扩展名的文件是 JAVA编译出来的源文件(就是代码文件)。 iml 文件是IntelliJ IDEA 自动创建的模块文件,用于Java应用开发,存储一些模块开发相关的信息, 比如一个Java组件, 插件组件,Maven组件等等, 还可能会存储一些模块路径信息,依赖信息以及别的一些设置。gitignore文件
gitignore就是git软件要忽略的文件列表.如果要忽略某些文件,在Git工作区的根目录下创建一个特殊的.gitignore文件, 然后把要忽略的文件名填进去,Git就会自动忽略这些文件。 忽略文件的原则是: 1、忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件; 2、项目运行时产生的业务数据,比如用户缩略图、用户信息等等; 3、忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件扩展资料 Git的功能特性:从一般开发者的角度来看,git有以下功能: 1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。 2、在自己的机器上根据不同的开发目的,创建分支,修改代码。 3、在单机上自己创建的分支上提交代码。 4、在单机上合并分支。 5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。npy文件
npy文件——Numpy专用的二进制格式 np.load()和np.save()是读写磁盘数组数据的两个重要函数。使用时,数组会以未压缩的原始二进制格式保存在扩展名为.npy的文件中。 importnumpy as np#将数组以二进制格式保存到磁盘arr=np.arange(5)np.save('test',arr)#读取数组print(np.load('test.npy')) 保存为.npy文件后如果使用记事本等工具打开浏览会出现乱码,所以如果想在保存后能够浏览内容的话建议不要使用.npy文件npz文件——压缩文件
使用np.savez()函数可以将多个数组保存到同一个文件中。 np.savez()函数的第一个参数是文件名,其后的参数都是需要保存的数组。传递数组时可以使用关键字参数为数组命名,非关键字参数传递的数组会自动起名为arr_0、arr_1…… np.savez()函数输出的是一个扩展名为.npz的压缩文件,它包含多个与保存的数组对应的npy文件(由save()函数保存),文件名对应数组名 读取.npz文件时使用np.load()函数,返回的是一个类似于字典的对象,因此可以通过数组名作为关键字对多个数组进行访问 importnumpy as np #将多个数组保存到磁盘 a = np.arange(5) b= np.arange(6) c= np.arange(7) np.savez('test', a, b, c_array=c) #c_array是数组c的命名 #读取数组 data = np.load('test.npz') #类似于字典{‘arr_0’:a,’arr_1’:b,’c_array’:c} print('arr_0 :', data['arr_0']) print('arr_1 :', data['arr_1']) print('c_array :', data['c_array']) -------------------------------------------------------------------------------- arr_0 : [01 2 3 4]arr_1 : [01 2 3 4 5]c_array : [01 2 3 4 5 6]