python读取npy文件数据实例

 更新时间:2022年04月14日 11:27:56   作者:平凡的久月  
npy文件用于存储重建ndarray所需的数据、图形、dtype 和其他信息,下面这篇文章主要给大家介绍了关于python读取npy文件数据的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

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)

至于具体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)

这是个啥?为啥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)

看看结果:

可以发现,这是第一个卷积层的权重参数,输入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读取npy文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • VSCode Python开发环境配置的详细步骤

    VSCode Python开发环境配置的详细步骤

    这篇文章主要介绍了VSCode Python开发环境配置的详细步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • pandas学习之df.set_index的具体使用

    pandas学习之df.set_index的具体使用

    本文主要介绍了pandas学习之df.set_index的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 使用wxPython和Pandas实现XLSX分析器和网页打开器

    使用wxPython和Pandas实现XLSX分析器和网页打开器

    这篇文章主要为大家详细介绍了如何使用wxPython和Pandas实现XLSX分析器和网页打开器,文中的示例代码讲解详细,感兴趣的可以了解一下
    2024-10-10
  • Python模拟随机游走图形效果示例

    Python模拟随机游走图形效果示例

    这篇文章主要介绍了Python模拟随机游走图形效果,涉及Python随机数概率运算及图形绘制相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • Python常用算法学习基础教程

    Python常用算法学习基础教程

    这篇文章主要学习Python常用算法,Python常用排序算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一
    2017-04-04
  • 使用Python给PDF添加文本超链接和图片超链接

    使用Python给PDF添加文本超链接和图片超链接

    超链接是指向特定资源的链接,作为一种有效的导航工具,它能够帮助读者快速访问相关信息,通过在PDF文档中添加文本超链接和图片超链接,你可以显著提升文档的互动性和用户体验,这篇文章将详细介绍如何使用Python给PDF添加文本超链接和图片超链接,需要的朋友可以参考下
    2025-03-03
  • 详解Python的Django框架中的模版相关知识

    详解Python的Django框架中的模版相关知识

    这篇文章主要介绍了Python的Django框架中的模版相关知识,模版的存在大大简化了创作页面时HTML的相关工作,需要的朋友可以参考下
    2015-07-07
  • Python判断文件或文件夹是否存在的三种方法

    Python判断文件或文件夹是否存在的三种方法

    本文给大家介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句、pathlib模块。感兴趣的朋友一起看看吧
    2017-07-07
  • 在Python的列表中利用remove()方法删除元素的教程

    在Python的列表中利用remove()方法删除元素的教程

    这篇文章主要介绍了在Python的列表中利用remove()方法删除元素的教程,是Python入门中的基础知识,注意其和pop()方法的区别,需要的朋友可以参考下
    2015-05-05
  • Python中生成随机密码的多种超实用实例

    Python中生成随机密码的多种超实用实例

    随机密码生成器是一种常见的工具,用于生成强密码,下面这篇文章主要给大家介绍了关于Python中生成随机密码的多种超实用实例,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-05-05

最新评论