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聚类算法之DBSACN实例分析
Nov 20 Python
Django实现全文检索的方法(支持中文)
May 14 Python
详解Python locals()的陷阱
Mar 26 Python
python里运用私有属性和方法总结
Jul 08 Python
python-Web-flask-视图内容和模板知识点西宁街
Aug 23 Python
python实现从wind导入数据
Dec 03 Python
TensorFlow 读取CSV数据的实例
Feb 05 Python
python可视化text()函数使用详解
Feb 11 Python
python 爬取B站原视频的实例代码
Sep 09 Python
10款最佳Python开发工具推荐,每一款都是神器
Oct 15 Python
Python基于Faker假数据构造库
Nov 30 Python
详解java调用python的几种用法(看这篇就够了)
Dec 10 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实现将GB编码转换为UTF8
2006/11/25 PHP
在PHP中利用wsdl创建标准webservice的实现代码
2011/12/07 PHP
浅谈PHP中foreach/in_array的使用
2015/11/02 PHP
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
jQuery弹出层插件popShow用法示例
2017/01/23 Javascript
js Canvas绘制圆形时钟效果
2017/02/17 Javascript
AngularJS实现页面定时刷新
2017/03/14 Javascript
vue+springmvc导出excel数据的实现代码
2018/06/27 Javascript
微信小程序修改数组长度的问题的解决
2019/12/17 Javascript
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
JavaScript变量Dom对象的所有属性
2020/04/30 Javascript
js模拟实现百度搜索
2020/06/28 Javascript
解决vscode进行vue格式化,会自动补分号和双引号的问题
2020/10/26 Javascript
Vue中的nextTick作用和几个简单的使用场景
2021/01/25 Vue.js
python根据出生日期获得年龄的方法
2015/03/31 Python
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
Python基于PycURL自动处理cookie的方法
2015/07/25 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
批量获取及验证HTTP代理的Python脚本
2017/04/23 Python
python将unicode转为str的方法
2017/06/21 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
2019/10/06 Python
python opencv图片编码为h264文件的实例
2019/12/12 Python
Python 中由 yield 实现异步操作
2020/05/04 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
档案检查欢迎词
2014/01/13 职场文书
运动会开幕式主持词
2014/03/28 职场文书
教师民族团结演讲稿
2014/08/27 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
公安局副政委班子个人对照检查材料
2014/10/04 职场文书
教育合作协议范本
2014/10/17 职场文书
长城的导游词
2015/01/30 职场文书
2015年营业员工作总结
2015/04/23 职场文书
2015年财政所工作总结
2015/04/25 职场文书
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android