NDArray IO

1. 将数组保存到以 .npy 为扩展名的文件

  • Python
    Numpy 可以读写磁盘上的文本数据或二进制数据。
    NumPy 为 ndarray 对象引入了一个简单的文件格式:npy。
    npy 文件用于存储重建 ndarray 所需的数据、图形、dtype 和其他信息。
    常用的 IO 函数有:
    load() 和 save() 函数是读写文件数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 .npy 的文件中。
    savez() 函数用于将多个数组写入文件,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 .npz 的文件中。
import numpy as np a = np.array([1,2,3,4,5]) # 保存到 outfile.npy 文件上
np.save('outfile.npy',a) # 我们可以查看文件内容:
$ cat outfile.npy
?NUMPYv{'descr': '<i8', 'fortran_order': False, 'shape': (5,), }  # 可以看出文件是乱码的,因为它们是 Numpy 专用的二进制格式后的数据。
  • Java
NDArray a = manager.create(new int[]{1,2,3,4,5});
NDList encoded = new NDList(a);
encoded.encode();
OutputStream os = Files.newOutputStream(Paths.get("src/test/resources/outfile.npy"));
encoded.encode(os, true);# 输出结果如下:
src/test/resources/outfile.npy

2. 读取 .npy 文件

  • Python
    我们可以使用 load() 函数来读取数据就可以正常显示了:
import numpy as np b = np.load('outfile.npy')
print (b)# 输出结果如下:
[1 2 3 4 5]
  • Java
byte[] data = readFile("arr.npy");
NDList decoded = NDList.decode(manager, data);
NDArray array = decoded.get(0);
System.out.println(array.toDebugString(100, 10, 100, 100));# 输出结果如下:
ND: (5) cpu() int32
[ 1,  2,  3,  4,  5]

3. 将多个数组保存到以 npz 为扩展名的文件

  • Python
    numpy.savez() 函数将多个数组保存到以 npz 为扩展名的文件中。
import numpy as np a = np.array([[1,2,3],[4,5,6]])
b = np.arange(0, 1.0, 0.1)np.savez("runoob.npz", a, b)# 输出结果如下:
runoob.npz
  • Java
a = manager.create(new int[][]{{1, 2, 3}, {4, 5, 6}});
NDArray b = manager.arange(0f, 1f, 0.1f);
encoded = new NDList(a, b);
encoded.encode();
os = Files.newOutputStream(Paths.get("src/test/resources/runoob.npz"));
encoded.encode(os, true);# 输出结果如下:
src/test/resources/runoob.npz

4. 读取 npz 文件

  • Python
import numpy as np r = np.load("runoob.npz")
print(r.files) # 查看各个数组名称
print(r["arr_0"]) # 数组 a
print(r["arr_1"]) # 数组 b# 输出结果如下:
['sin_array', 'arr_0', 'arr_1']
[[1 2 3][4 5 6]]
[0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
  • Java
data = readFile("runoob.npz");
decoded = NDList.decode(manager, data);
a = decoded.get(0);
b = decoded.get(1);
System.out.println(a.toDebugString(100, 10, 100, 100));
System.out.println(b.toDebugString(100, 10, 100, 100));# 输出结果如下:
ND: (2, 3) cpu() int32
[[ 1,  2,  3],[ 4,  5,  6],
]ND: (10) cpu() float32
[0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]

代码下载地址:

Github链接

Gitee链接

点击返回目录

Java版的NumPy IO - npy,npz保存与读取相关推荐

  1. 仙剑java_xianjian 仙剑游戏JAVA版源码,早期练习保存的资料 Develop 244万源代码下载- www.pudn.com...

    文件名称: xianjian下载  收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 636 KB 上传时间: 2015-10-06 下载次数: 0 提 供 者: 黄 详 ...

  2. numpy 读写 npy npz 文件

    文章目录 创建数组 保存单个数组 读取单个数组 创建第二个数组 保存多个数组 读取多个数组 import numpy as np 创建数组 a1 = np.arange(0,12).reshape(2 ...

  3. Java版的NumPy - NDArray 介绍

    NDArray 的背景介绍 在Python的世界,调用NDArray的标准包叫做NumPy.为了给Java开发者创造同一种工具,亚马逊云服务开源了DJL,一个基于Java的深度学习库.尽管它包含了深度 ...

  4. python读取sav文件_Numpy中数据的常用的保存与读取方法

    小书匠 深度学习 文章目录: 在经常性读取大量的数值文件时(比如深度学习训练数据),可以考虑现将数据存储为Numpy格式,然后直接使用Numpy去读取,速度相比为转化前快很多. 下面就常用的保存数据到 ...

  5. python中ndarray怎么保存_Numpy数组应该怎么保存与读取

    这次给大家带来Numpy数组应该怎么保存与读取,Numpy数组保存与读取的注意事项有哪些,下面就是实战案例,一起来看一下. 1. 数组以二进制格式保存 np.save和np.load是读写磁盘数组数据 ...

  6. Numpy IO:npy、npz

    参考:菜鸟教程 1. Numpy IO Numpy 可以读写磁盘上的文本数据或二进制数据: NumPy 为 ndarray 对象引入了一个简单的文件格式:npy ,用于存储重建 ndarray 所需的 ...

  7. 如何用matlab读取npz文件,Python Numpy中数据的常用的保存与读取方法

    在经常性读取大量的数值文件时(比如深度学习训练数据),可以考虑现将数据存储为Numpy格式,然后直接使用Numpy去读取,速度相比为转化前快很多. 下面就常用的保存数据到二进制文件和保存数据到文本文件 ...

  8. JAVA学生信息管理系统IO流版

    JAVA学生信息管理系统IO流版 1. Student类 public class Student implements Serializable{//学号private int sid;//姓名pr ...

  9. python怎么读取txt文件数据保存数组中-Python Numpy中数据的常用的保存与读取方法...

    在经常性读取大量的数值文件时(比如深度学习训练数据),可以考虑现将数据存储为Numpy格式,然后直接使用Numpy去读取,速度相比为转化前快很多. 下面就常用的保存数据到二进制文件和保存数据到文本文件 ...

最新文章

  1. MBR区、DBR区、FAT区、DIR区和DATA区的区别
  2. 大家说火箭进决赛的机会有多大?
  3. 【CyberSecurityLearning 47】PHP 数组
  4. 拉格朗日插值法matlab上机,拉格朗日插值法使用MATLAB做的例题
  5. win7蓝屏0x000000f4修复_注意:关于近期多数电脑蓝屏的处理和预防方法
  6. java循环遍历类属性_java循环遍历类属性 get 和set值方法
  7. hao123电脑版主页_建议Lenovo用户卸载监守自盗的联想电脑管家
  8. matlab fair,matlab练习程序(加权最小二乘)
  9. 基本数据类型的包装类和随机数
  10. android studio2.3.6,Android Studio 2.3 问题汇总 - 解决一切障碍,为了更好的时代
  11. 计算机科学导论第5版ppt,计算机科学导论第5讲-1.ppt
  12. MapGIS目录的设置
  13. Android IPC —— AIDL的原理
  14. 万字综述自动驾驶数据闭环
  15. Web前端面试常见问题
  16. ffmpeg h264 视频编码 模糊问题、MP4播放速度快问题
  17. labview dsn连接mysql_labview使用DSN与数据库的连接包括access,mysql
  18. antDesignPro线上刷新404 和 liunx部署使用mock数据 umi-serve + pm2
  19. json to excel java_java解析json生成excel
  20. 智能门锁物联卡开启智能家庭新模式,引领智能家居新征程

热门文章

  1. matlab中col什么意思,col是什么意思_col的翻译_音标_读音_用法_例句_爱词霸在线词典...
  2. 面向切面的 Spring —— 什么是面向切面编程?
  3. jacob 将两个word文档合并
  4. java pmml_java – PMML文档解析
  5. echarts的坐标轴添加滚轮
  6. 火星玩家首款电核装备即将亮相COSP深圳国际户外展
  7. POI之Word转化为Html-yellowcong
  8. android 嵌套h5百度地图实现打卡功能
  9. Scikit-learn_回归算法_随机森林回归算法
  10. 能通话的Apple Watch,为什么只有联通可以首发?