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 相关文章推荐
下载安装setuptool和pip linux安装pip    
Jan 24 Python
Python实现线程池代码分享
Jun 21 Python
浅谈python中requests模块导入的问题
May 18 Python
python迭代dict的key和value的方法
Jul 06 Python
Flask框架配置与调试操作示例
Jul 23 Python
Python 新建文件夹与复制文件夹内所有内容的方法
Oct 27 Python
Python3标准库总结
Feb 19 Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
Aug 09 Python
python列表插入append(), extend(), insert()用法详解
Sep 14 Python
pytorch 自定义卷积核进行卷积操作方式
Dec 30 Python
python mysql 字段与关键字冲突的解决方式
Mar 02 Python
Python实现鼠标自动在屏幕上随机移动功能
Mar 14 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
Terran兵种对照表
2020/03/14 星际争霸
中国的第一台收音机
2021/03/01 无线电
社区(php&&mysql)一
2006/10/09 PHP
smarty实例教程
2006/11/19 PHP
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
Javascript 判断函数类型完美解决方案
2009/09/02 Javascript
Jquery动态添加及删除页面节点元素示例代码
2014/06/16 Javascript
JavaScript中String.prototype用法实例
2015/05/20 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
模拟javascript中的sort排序(简单实例)
2016/08/17 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
完美解决mui框架off-canvas侧滑超出部分隐藏无法滚动的问题
2018/01/25 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
vue中nextTick用法实例
2019/09/11 Javascript
解决layui弹出层layer的area过大被遮挡的问题
2019/09/21 Javascript
微信小程序如何实现在线客服功能
2019/10/16 Javascript
微信小程序实现签字功能
2019/12/23 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
详解Vue 的异常处理机制
2020/11/30 Vue.js
寻找网站后台地址的python脚本
2014/09/01 Python
Python StringIO模块实现在内存缓冲区中读写数据
2015/04/08 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
利用python对Excel中的特定数据提取并写入新表的方法
2018/06/14 Python
PyCharm+Pipenv虚拟环境开发和依赖管理的教程详解
2020/04/16 Python
Python多线程实现支付模拟请求过程解析
2020/04/21 Python
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
制药工程专业应届生求职信
2013/09/24 职场文书
学校安全工作制度
2014/01/19 职场文书
黄金搭档广告词
2014/03/21 职场文书
党员年终个人总结
2015/02/14 职场文书
2015年计生工作总结范文
2015/04/24 职场文书
Python pandas求方差和标准差的方法实例
2021/08/04 Python
python游戏开发之pygame实现接球小游戏
2022/04/22 Python