2017-03-21 34 views
0

我寫這一段代碼來計算weights以字節爲單位所採取的記憶:權重需要多少個字節的內存?

import tensorflow as tf 
import sys 

n_input = 784 # MNIST data input (img shape: 28*28) 
n_classes = 10 # MNIST total classes (0-9 digits) 
# Weights & bias 
weights = tf.Variable(tf.random_normal([n_input, n_classes])) 
bias = tf.Variable(tf.random_normal([n_classes])) 


model = tf.global_variables_initializer() 
with tf.Session() as session: 
session.run(model) 
print(session.run(weights)) 

print(sys.getsizeof(session.run(weights))) 
#31472 

似乎這不是查不到weights大小的幫助。 有人可以請建議正確的方法?

謝謝。

+0

對我來說這似乎是正確的,'784 * 10 * 4 = 31,360'(形狀* 4,因爲默認類型是浮動)。可能有112字節的開銷。所以它給你31,472字節。你還想要什麼? – umutto

回答

1

我認爲你得到的字節量是正確的。權重是784×10的矩陣。每個值由四個字節組成。這給你784 * 10 * 4 = 31360字節。 Sys說它是更多的31472 - 31360 = 112個字節。這看起來像一個很好的開銷(28 4字節值)給我!

讓我們知道你是否有更多的問題!

相關問題