|
|
1
7
假设您知道要存储在GPU上的元素数量,您可以轻松计算存储这些元素所需的内存量。 一个简单的例子:
假设头顶常数为0,将打印:
如果您使用的是NVIDIA显卡,并且在计算机上安装了CUDA,那么您可以使用以下代码轻松获得GPU上的总可用内存:
然后输出为以下格式(对于我的机器):
通过监控可用内存量并计算模型/数据的大小,您可以更好地使用GPU内存。但是,请注意
memory fragmentation
可能导致的问题
|
|
2
2
Theano似乎没有任何内置的方法来估计模型的内存大小。最好的办法是创建一个已知大小的模型子集,并使用所描述的内存估计技术 here 在Theano手册中。
我们还需要考虑我们的对象在GPU中的表示方式(我们使用的是
一旦您可以估计一个小模型的大小,您就可以以合理的精度将这些估计值投影到一个大得多的模型的大小。您应该能够编写自己的内存估计函数,该函数可以将许多特征和观察值、张量或图形节点作为参数,并返回内存使用量。 |