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发送邮件示例(支持中文邮件标题)
Feb 16 Python
Python基础语法(Python基础知识点)
Feb 28 Python
Python实现自动添加脚本头信息的示例代码
Sep 02 Python
今天 平安夜 Python 送你一顶圣诞帽 @微信官方
Dec 25 Python
python SMTP实现发送带附件电子邮件
May 22 Python
面向初学者的Python编辑器Mu
Oct 08 Python
Django框架视图函数设计示例
Jul 29 Python
python单例设计模式实现解析
Jan 07 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
Mar 16 Python
python 弧度与角度互转实例
Apr 15 Python
Python实现捕获异常发生的文件和具体行数
Apr 25 Python
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
Aug 30 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统一页面编码避免乱码问题
2015/04/09 PHP
利用ajax和PHP实现简单的流程管理
2017/03/23 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
使用JQuery进行跨域请求
2010/01/25 Javascript
innerHTML 和 getElementsByName 在IE下面的bug 的解决
2010/04/09 Javascript
jquery 回车事件实现代码
2011/08/23 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
2012/12/16 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
javascript与cookie 的问题详解
2013/11/11 Javascript
讨论html与javascript在浏览器中的加载顺序问题
2013/11/27 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
javascript实现支持移动设备画廊
2015/08/24 Javascript
javascript中eval和with用法实例总结
2015/11/30 Javascript
jQuery使用$.ajax进行即时验证的方法
2015/12/08 Javascript
jQuery实现边框动态效果的实例代码
2016/09/23 Javascript
jQuery给表格添加分页效果
2017/03/02 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
React中this丢失的四种解决方法
2019/03/12 Javascript
浅谈JavaScript面向对象--继承
2019/03/20 Javascript
vue.js实现二级菜单效果
2019/10/19 Javascript
[59:08]Ti4 冒泡赛第二天 NEWBEE vs Titan 2
2014/07/15 DOTA
粗略分析Python中的内存泄漏
2015/04/23 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
2018/05/25 Python
Python中的Django基本命令实例详解
2018/07/15 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
从0开始的Python学习016异常
2019/04/08 Python
Python 类的私有属性和私有方法实例分析
2019/09/29 Python
Python3直接爬取图片URL并保存示例
2019/12/18 Python
浅谈Django QuerySet对象(模型.objects)的常用方法
2020/03/28 Python
美国宠物商店:Wag.com
2016/10/25 全球购物
SmartBuyGlasses比利时:购买品牌太阳镜和眼镜
2019/08/09 全球购物
法国春天百货官网:Printemps.com
2020/06/29 全球购物
业务员辞职信范文
2015/03/02 职场文书
婚宴来宾致辞
2015/07/28 职场文书
TypeScript 使用 Tuple Union 声明函数重载
2022/04/07 Javascript