今天是Numpy专题第6篇文章,我们一起来看看Numpy库当中剩余的部分。
数组的持久化
在我们做机器学习模型的研究或者是学习的时候,在完成了训练之后,有时候会希望能够将相应的参数保存下来。否则的话,如果是在Notebook当中,当Notebook关闭的时候,这些值就丢失了。一般的解决方案是将我们需要的值或者是数组“持久化”,通常的做法是存储在磁盘上。
Python当中读写文件稍稍有些麻烦,我们还需要创建文件句柄,然后一行行写入,写入完成之后需要关闭句柄。即使是用with语句,也依然不够简便。针对这个问题,numpy当中自带了写入文件的api,我们直接调用即可。
通过numpy当中save的文件是二进制格式的,所以我们是无法读取其中内容的,即使强行打开也会是乱码。
以二进制的形式存储数据避免了数据类型转化的过程,尤其是numpy底层的数据是以C++实现的,如果使用Python的文件接口的话,势必要先转化成Python的格式,这会带来大量开销。既然可以存储,自然也可以读取,我们可以调用numpy的load函数将numpy文件读取进来。
要注意我们保存的时候没有添加文件后缀,numpy会自动为我们添加后缀,但是读取的时候必须要指定文件的全名,否则会numpy无法找到,会引发报错。
不仅如此,numpy还支持我们同时保存多个数组进入一个

本文是Numpy专题的最后一篇,介绍如何使用C++读取numpy数据,以及numpy的数组持久化、线性代数操作(如点乘、转置和逆矩阵)和随机数生成。通过`numpy.save`和`numpy.load`实现数组的保存与读取,利用`numpy.random`模块生成不同分布的随机数,还涵盖了矩阵点乘、转置和逆矩阵计算,帮助读者掌握Numpy在机器学习和数据处理中的应用。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



