权重需要多少字节的内存?

时间:2017-03-21 06:56:20

标签: python memory tensorflow

我正在编写这段代码来计算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的大小。 有人可以建议正确的方法吗?

感谢。

1 个答案:

答案 0 :(得分:3)

我认为你获得的字节数是正确的。权重是784乘10的矩阵。每个值由四个字节组成。这给你784 * 10 * 4 = 31360字节。系统说它是31472 - 31360 = 112字节。这看起来像是一个很好的开销(28个4字节值)给我!

如果您有更多问题,请告诉我们!