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 相关文章推荐
windows下安装python paramiko模块的代码
Feb 10 Python
Python的SQLAlchemy框架使用入门
Apr 29 Python
python cx_Oracle模块的安装和使用详细介绍
Feb 13 Python
python逆序打印各位数字的方法
Jun 25 Python
Python解压 rar、zip、tar文件的方法
Nov 19 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
Mar 23 Python
python数据分析工具之 matplotlib详解
Apr 09 Python
django 外键创建注意事项说明
May 20 Python
Python基于xlrd模块处理合并单元格
Jul 28 Python
详解pandas赋值失败问题解决
Nov 29 Python
python实现控制台输出颜色
Mar 02 Python
Python中threading库实现线程锁与释放锁
May 17 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 CKEditor 上传图片实现代码
2009/11/06 PHP
在PHP中利用wsdl创建标准webservice的实现代码
2011/12/07 PHP
PHP中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
php实现的Captcha验证码类实例
2014/09/22 PHP
ThinkPHP框架实现FTP图片上传功能示例
2019/04/08 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
2008/03/22 Javascript
不要使用jQuery触发原生事件的方法
2014/03/03 Javascript
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
2016/07/26 NodeJs
浅析JavaScript中作用域和作用域链
2016/12/06 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
Vue组件之全局组件与局部组件的使用详解
2017/10/09 Javascript
vue 使用eventBus实现同级组件的通讯
2018/03/02 Javascript
官方推荐react-navigation的具体使用详解
2018/05/08 Javascript
关于vue-router的那些事儿
2018/05/23 Javascript
Vue中的作用域CSS和CSS模块的区别
2018/10/09 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
详解Vue template 如何支持多个根结点
2020/02/10 Javascript
[19:24]DOTA2客户端使用指南 一分钟快速设置轻松超神
2013/09/24 DOTA
Django集成百度富文本编辑器uEditor攻略
2014/07/04 Python
windows下python连接oracle数据库
2017/06/07 Python
python 用lambda函数替换for循环的方法
2018/06/09 Python
python自动发送测试报告邮件功能的实现
2019/01/22 Python
利用Python实现微信找房机器人实例教程
2019/03/10 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
2019/08/14 Python
python cv2在验证码识别中应用实例解析
2019/12/25 Python
PyTorch的SoftMax交叉熵损失和梯度用法
2020/01/15 Python
Python写捕鱼达人的游戏实现
2020/03/31 Python
Pycharm 跳转回之前所在页面的操作
2021/02/05 Python
Silk Therapeutics官网:清洁、抗衰老护肤品
2020/08/12 全球购物
聘用意向书
2014/07/29 职场文书
小学教师师德整改措施
2014/09/29 职场文书
消费者理赔投诉书
2015/07/02 职场文书
python爬虫--selenium模块
2021/03/31 Python
用Python远程登陆服务器的步骤
2021/04/16 Python