numpy存取數(shù)據(jù)(tofile/fromfile)的實現(xiàn)
我們知道numpy的array是可以保存到文件的,一個常用的做法是通過to_file()保存到而進行.bin文件中,然后再通過from_file()從.bin文件中將其讀取出來,下面看一個例子。
data_in 是一個二維numpy數(shù)組,其shape為[3,4]
import numpy as np data_in = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]]).astype(np.int64) print(data_in) data_in.tofile("C:/Users/Desktop/data_in.bin") data_out = np.fromfile("C:/Users/Desktop/data_in.bin", dtype=np.int64) print(data_out) print(data_out.shape) print(data_out.reshape(3,4))
接下來將其存入文件中,使用tofile方法即可,參數(shù)填入想要保存到的文件路徑,然后使用fromfile可以將其從文件中讀取出來。
但是可以發(fā)現(xiàn),讀取出來的data_out的shape變成1維了
首先,使用tofile方法,會默認將所有數(shù)據(jù)按順序排成一個向量,然后以二進制形式存入文件中,而讀取的時候自然會變成1維了,如果已知原始數(shù)組的維數(shù),將它reshape一下就行了
有時候data_out的最前面幾個值和之前看到的data_in的值也不一樣啊,這是為什么呢?
這需要 line 14 的數(shù)據(jù)類型和 line 9 的數(shù)據(jù)類型一致
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
[ 1 2 3 4 5 6 7 8 9 10 11 12]
(12,)
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
import numpy as np input = np.random.randn(20, 224, 224, 3) arr1 = np.array(input, dtype=np.float32) print(arr1.shape) print(arr1.dtype) arr1.tofile("resnet50_input_batch20.bin")
參考文章
https://cloud.tencent.com/developer/article/1670550
https://mlhowto.readthedocs.io/en/latest/numpy.html
到此這篇關(guān)于numpy存取數(shù)據(jù)(tofile/fromfile)的實現(xiàn)的文章就介紹到這了,更多相關(guān)numpy存取數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python?Pandas讀取Excel日期數(shù)據(jù)的異常處理方法
Excel文件是傳統(tǒng)的數(shù)據(jù)格式,但面對海量數(shù)據(jù)時,用編程的方法來處理數(shù)據(jù)更有優(yōu)勢,下面這篇文章主要給大家介紹了關(guān)于Python?Pandas讀取Excel日期數(shù)據(jù)的異常處理方法,需要的朋友可以參考下2022-02-02python類:class創(chuàng)建、數(shù)據(jù)方法屬性及訪問控制詳解
下面小編就為大家?guī)硪黄猵ython類:class創(chuàng)建、數(shù)據(jù)方法屬性及訪問控制詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07Python機器學(xué)習(xí)算法庫scikit-learn學(xué)習(xí)之決策樹實現(xiàn)方法詳解
這篇文章主要介紹了Python機器學(xué)習(xí)算法庫scikit-learn學(xué)習(xí)之決策樹實現(xiàn)方法,結(jié)合實例形式分析了決策樹算法的原理及使用sklearn庫實現(xiàn)決策樹的相關(guān)操作技巧,需要的朋友可以參考下2019-07-07