zoukankan      html  css  js  c++  java
  • numpy的文件存储.npy .npz 文件详解

    Numpy能够读写磁盘上的文本数据或二进制数据。

    将数组以二进制格式保存到磁盘

    np.load和np.save是读写磁盘数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中。

    import numpy as np
    a=np.arange(5)
    np.save('test.npy',a)

    这样在程序所在的文件夹就生成了一个test.npy文件

    将test.npy文件中的文件读出来

    import numpy as np
    a=np.load('test.npy')
    print(a)

    注:保存为Numpy专用的二进制格式后,就不能用notepad++等打开看了(乱码)。因此这种方式建议在不需要看保存文件内容的情况下使用。

    np.savez

    如果你想将多个数组保存到一个文件中的话,可以使用numpy.savez函数。savez函数的第一个参数是文件名,其后的参数都是需要保存的数组,也可以使用关键字参数为数组起一个名字,非关键字参数传递的数组会自动起名为arr_0, arr_1, …。

    savez函数输出的是一个压缩文件(扩展名为npz),其中每个文件都是一个save函数保存的npy文件,文件名对应于数组名。load函数自动识别npz文件,并且返回一个类似于字典的对象,可以通过数组名作为关键字获取数组的内容:

    import numpy as np
    a=np.arange(3)
    b=np.arange(4)
    c=np.arange(5)
    np.savez('array_save.npz',a,b,c_array=c)

    这样程序所在文件夹就生成了一个array_save.npz文件

    把npz文件中的数据读出来

    import numpy as np
    A=np.load('array_save.npz')
    print(A['arr_0'])
    print(A['arr_1'])
    print(A['c_array'])
    train_Resnet50 = extract_Resnet50(paths_to_tensor(train_files)) ###x, 1, 1, 2048
    valid_Resnet50 = extract_Resnet50(paths_to_tensor(valid_files)) ###x, 1, 1, 2048
    
    test_Resnet50  = extract_Resnet50(paths_to_tensor(test_files))  ###x, 1, 1, 2048
    
    np.savez('bottleneck_features/DogResnet50Data.npz',train=train_Resnet50,valid=valid_Resnet50,test=test_Resnet50)
    
     
    
    bottleneck_features = np.load('bottleneck_features/DogResnet50Data.npz')
    train_Resnet502 = bottleneck_features['train']
    valid_Resnet502 = bottleneck_features['valid']
    test_Resnet502 = bottleneck_features['test']

    以上这篇numpy的文件存储.npy .npz 文件详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 相关阅读:
    打印空心字符菱形
    良好的布局与风格
    编写递归函数来使字符串逆序
    排序函数重载
    easyui刷新当前页
    Easyui 翻页不保存选中记录
    HTML 字体颜色 色号对照表
    SpringMVC结合ajaxfileupload.js实现文件无刷新上传
    ajax如何传递参数给controller
    eclipse启动tomcat无法访问的解决方法
  • 原文地址:https://www.cnblogs.com/Ph-one/p/12060449.html
Copyright © 2011-2022 走看看