python中 .npy文件的读写操作实例


Posted in Python onApril 14, 2022

Numpy binary files (NPY, NPZ)

注:.npy文件是numpy专用的二进制文件。

1. 读取与保存

import numpy as np

arr = np.array([[1, 2, 3],
               [4, 5, 6]])
np.save('weight.npy', arr)

loadData = np.load('weight.npy')

print("----type----")
print(type(loadData))
print("----shape----")
print(loadData.shape)
print("----data----")
print(loadData)

python中 .npy文件的读写操作实例

至于具体API参见:https://docs.scipy.org/doc/numpy/index.html

2. 实战案例

在深度神经网络训练过程中通常需要读取预训练权重,预训练权重通常是 .npy文件,比如vgg16.npy(https://pan.baidu.com/s/1Ru5FJVSPjYTHZwlmzRwRvQ   提取码:ygxw)。本次就以分析vgg16.npy为例进行说明。

import numpy as np

# 注意编码方式
pre_train = np.load("vgg16.npy", allow_pickle=True, encoding="latin1")

print("------type-------")
print(type(pre_train))
print("------shape-------")
print(pre_train.shape)
print("------data-------")
print(pre_train)

python中 .npy文件的读写操作实例

这是个啥?为啥shape没有? 但是可以看出来 pre_train 里元素应该是一个字典,我们尝试取出来。

注:ndarray.item()是复制数组中的一个元素,并将其返回。具体语法参见:https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.item.html?highlight=item#numpy.ndarray.item

import numpy as np

pre_train = np.load("vgg16.npy", allow_pickle=True, encoding="latin1")

data_dic = pre_train.item()

print("------type-------")
print(type(data_dic))
print("------conv1_1  data-------")
print(data_dic['conv1_1'])   # 返回一个列表,该列表有两个array,表示conv1_1的权重w与偏置b
print("------conv1_1  shape-------")
print((data_dic['conv1_1'][0]).shape)

看看结果:

python中 .npy文件的读写操作实例

python中 .npy文件的读写操作实例

可以发现,这是第一个卷积层的权重参数,输入channel是3,输出channel是64。

附:python中 .npy文件的读写操作实例

numpy中的二进制文件的读写:

save

np.save ("./文件名", 数组名):以二进制的格式保存数据

load

np.load("./文件名.npy"): 函数是从二进制的文件中读取数据

savez

np.savez(’./文件名’,数组名1,数组名2,…):savez 函数可以将多个数组保存到一个文件中

(1)save操作

import numpy as np
a=np.arange(5)
np.save('get.npy',a)

(2)load操作

import numpy as np
a=np.load('load.npy')
print(a)

(3)savez操作

import numpy as np
a=np.arange(3)
b=np.arange(4)
c=np.arange(5)
np.savez('array_save.npz',a,b,c)  多个ndarray类型的数组

总结

到此这篇关于python读取npy文件数据的文章就介绍到这了!

Python 相关文章推荐
深入Python解释器理解Python中的字节码
Apr 01 Python
pygame学习笔记(3):运动速率、时间、事件、文字
Apr 15 Python
python实现按任意键继续执行程序
Dec 30 Python
基于Python代码编辑器的选用(详解)
Sep 13 Python
python利用正则表达式排除集合中字符的功能示例
Oct 10 Python
python基于ID3思想的决策树
Jan 03 Python
python安装教程
Feb 28 Python
Python网络编程之TCP套接字简单用法示例
Apr 09 Python
使用python生成杨辉三角形的示例代码
Aug 29 Python
利用python下载scihub成文献为PDF操作
Jul 09 Python
python Timer 类使用介绍
Dec 28 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
Jan 15 Python
Python Matplotlib绘制等高线图与渐变色扇形图
python读取并查看npz/npy文件数据以及数据显示方法
Apr 14 #Python
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
Apr 14 #Python
Python中time标准库的使用教程
Apr 13 #Python
Python函数对象与闭包函数
Apr 13 #Python
Python作用域和名称空间的详细介绍
Apr 13 #Python
You might like
PHP个人网站架设连环讲(四)
2006/10/09 PHP
php图片上传存储源码并且可以预览
2011/08/26 PHP
PHPMailer邮件发送的实现代码
2013/05/04 PHP
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
2014/10/20 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
javascript instanceof,typeof的区别
2010/03/24 Javascript
jquery多浏览器捕捉回车事件代码
2010/06/22 Javascript
javascript中的一些注意事项 更新中
2010/12/06 Javascript
常用一些Javascript判断函数
2012/08/14 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
2014/08/30 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
2015/03/14 Javascript
JavaScript里实用的原生API汇总
2015/05/14 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
2015/08/28 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
jQuery除指定区域外点击任何地方隐藏DIV功能
2017/11/13 jQuery
js实现input密码框显示/隐藏功能
2020/09/10 Javascript
jQuery属性选择器用法实例分析
2019/06/28 jQuery
JS前端知识点总结之内置对象,日期对象和定时器相关操作
2019/07/05 Javascript
Linux环境下MySQL-python安装过程分享
2015/02/02 Python
Python入门学习之字符串与比较运算符
2015/10/12 Python
Python enumerate索引迭代代码解析
2018/01/19 Python
Django实现全文检索的方法(支持中文)
2018/05/14 Python
Python拼接微信好友头像大图的实现方法
2018/08/01 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
2018/11/06 Python
Python库安装速度过慢解决方案
2020/07/14 Python
h5页面背景图很长要有滚动条滑动效果的实现
2021/01/27 HTML / CSS
好莱坞百老汇御用王牌美妆:Koh Gen Do 江原道
2018/04/03 全球购物
薇姿法国官网:Vichy法国
2021/01/28 全球购物
一个SQL面试题
2014/08/21 面试题
《1942》观后感
2015/06/08 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书
Anaconda配置各版本Pytorch的实现
2021/08/07 Python
Ruby处理CSV数据方法详解
2022/04/18 Ruby