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 相关文章推荐
python3中dict(字典)的使用方法示例
Mar 22 Python
Python读取指定目录下指定后缀文件并保存为docx
Apr 23 Python
Python之Scrapy爬虫框架安装及使用详解
Nov 16 Python
Python切片操作实例分析
Mar 16 Python
Python实现判断一行代码是否为注释的方法
May 23 Python
python爬虫基础教程:requests库(二)代码实例
Apr 09 Python
Python爬虫学习之获取指定网页源码
Jul 30 Python
flask框架jinja2模板与模板继承实例分析
Aug 01 Python
解决Pytorch 加载训练好的模型 遇到的error问题
Jan 10 Python
用opencv给图片换背景色的示例代码
Jul 08 Python
Anaconda的安装与虚拟环境建立
Nov 18 Python
利用python进行文件操作
Dec 04 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
array_multisort实现PHP多维数组排序示例讲解
2011/01/04 PHP
PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
2011/05/25 PHP
php设计模式 FlyWeight (享元模式)
2011/06/26 PHP
PHP的Json中文处理解决方案
2016/09/29 PHP
laravel返回统一格式错误码问题
2019/11/04 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
静态页面的值传递(三部曲)
2006/09/25 Javascript
Tab页界面 用jQuery及Ajax技术实现(php后台)
2011/10/12 Javascript
jQuery实现多按钮单击变色
2014/11/27 Javascript
jQuery中$.each使用详解
2015/01/29 Javascript
Bootstrap布局方式详解
2016/05/27 Javascript
AngularJS路由切换实现方法分析
2017/03/17 Javascript
easyui-datagrid特殊字符不能显示的处理方法
2017/04/12 Javascript
详解用webpack把我们的业务模块分开打包的方法
2017/07/20 Javascript
NodeJs实现定时任务的示例代码
2017/12/05 NodeJs
Vue header组件开发详解
2018/01/26 Javascript
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
[01:51]DAC趣味视频-如何成为职业选手.mp4
2017/04/02 DOTA
[46:20]TFT vs Secret Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python多线程编程(七):使用Condition实现复杂同步
2015/04/05 Python
使用Python编写一个模仿CPU工作的程序
2015/04/16 Python
Python pass详细介绍及实例代码
2016/11/24 Python
python使用KNN算法识别手写数字
2019/04/25 Python
pytorch判断是否cuda 判断变量类型方式
2020/06/23 Python
python 发送get请求接口详解
2020/11/17 Python
css3中用animation的steps属性制作帧动画
2019/04/25 HTML / CSS
英国最大的汽车交易网站:Auto Trader UK
2016/09/23 全球购物
耐克奥地利官网:Nike奥地利
2019/08/16 全球购物
女儿十岁生日答谢词
2014/01/27 职场文书
四年大学生活的自我评价范文
2014/02/07 职场文书
2014年基层党组织公开承诺书
2014/03/29 职场文书
火箭队口号
2014/06/18 职场文书
普通党员对照检查材料
2014/08/28 职场文书
信用卡工作证明模板
2014/09/14 职场文书
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python