问题描述
就像你在测试的应用程序的性能特性所见的那样,你也能获得有关内存方面的类似信息。跟踪内存消耗可以告诉你有关数据处理方式或者把数据床底给学习算法的方式中可能发生的问题。memory_profiler包实现了所需功能,该报并没有作为默认的python包来提供,它需要安装。
memory_profiler包的安装
pip3 install memory_profiler
然后在ipython对话框里加载此包
%load_ext memory_profiler
运行文本编码实例
import sklearn.feature_extraction.text as text
sklearn_hashing_trick = text.HashingVectorizer(
n_features=20, binary=True, norm=None)
texts = ['Python for data science','Python for machine learning']
%memit hashing = sklearn_hashing_trick.transform(texts)
# peak memory: 189.14 MiB, increment: 0.18 MiB
%memit dense_hashing = hashing.toarray()
# peak memory: 189.16 MiB, increment: 0.02 MiB
可以看出每一步函数执行所增加的内存消耗。