在神經(jīng)網(wǎng)絡(luò)中經(jīng)常使用到numpy误趴,那么numpy選用哪種存儲(chǔ)方式盅抚,更好银受?
1.先了解numpy數(shù)組占用內(nèi)存空間的大小
以下代碼請(qǐng)參考原文:【原文】
一個(gè)空的?numpy?數(shù)組,無(wú)論什么類型思瘟,都是占用?96?個(gè)字節(jié)(byte)。
一個(gè)?int32?和一個(gè)?float32?都是占用?4?個(gè)字節(jié)闻伶,而64位的都占用?8?個(gè)字節(jié)滨攻。
假設(shè)一個(gè)矩陣是50萬(wàn)*50萬(wàn),每個(gè)位置存一個(gè)int32的整數(shù),需要多大內(nèi)存光绕?
500000*500000*4Byte = 500000*500*4KB=500*500*4MB=50*4GB=200GB? (每次除以1000)
假設(shè)一個(gè)矩陣是50萬(wàn)*50更鲁,每個(gè)位置存一個(gè)int32的整數(shù),需要多大內(nèi)存奇钞?
500000*50*4Byte=500*50*4KB=5*5*4MB=100MB (每次除以1000)
果然詞向量表示的方式澡为,解決了one-hot維度災(zāi)難問(wèn)題。
2.了解一下numpy數(shù)組的存儲(chǔ)方式
其他相關(guān)知識(shí)點(diǎn)景埃,待補(bǔ):稀疏矩陣存法
參考文章: