Python中文
首页
教程
问答
标签
搜索
登录
注册
Python+不断增加的内存分配
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在写一个模块来训练一个大型数据集上的ML模型——它包括0.6米的数据点,每个数据点的维度都是0.15米。我在加载数据集本身时遇到了问题。(全是numpy数组)</p> <p>下面是一个代码片段(它复制了实际代码的主要行为):</p> <pre><code>import numpy import psutil FV_length = 150000 X_List = [] Y_List = [] for i in range(0,600000): feature_vector = numpy.zeros((FV_length),dtype=numpy.int) # using db data, mark the features to activated class_label = 0 X_List.append(feature_vector) Y_List.append(class_label) if (i%100 == 0): print(i) print("Virtual mem %s" %(psutil.virtual_memory().percent)) print("CPU usage %s" %psutil.cpu_percent()) X_Data = np.asarray(X_List) Y_Data = np.asarray(Y_List) </code></pre> <p>这些代码会导致内存分配不断增加,直到被杀死。有没有办法减少<strong>不断增加的内存分配</strong>?在</p> <p>我试过用gc.收集()但它始终返回0。我把variables=None显式地设置为,不再有用。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>这就是我对类似问题所做的。我总是在需要重写空列表时再次创建它。在</p> <pre><code>#initialize X_List = [] Y_List = [] //do something with the list </code></pre> <p>现在,如果不需要旧值,只需再次创建列表</p> ^{pr2}$ <p>但我不知道这对你来说是必要的还是可能的。也许这是最惯用的方法,但它奏效了。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
为什么我的神经网络模型的准确性不能在这个训练集上得到提高?
2 回答
为什么我的神经网络模型的权重变化不大?
7 回答
为什么我的神经网络的成本不断增加?
5 回答
为什么我的神经网络的输入pickle文件是19GB?
3 回答
为什么我的神经网络给属性错误?“非类型”对象没有属性“形状”
2 回答
为什么我的神经网络训练这么慢?
7 回答
为什么我的神经网络输出错误?
7 回答
为什么我的神经网络预测适用于MNIST手绘图像时是正确的,而适用于我自己的手绘图像时是不正确的?
3 回答
为什么我的神经网络验证精度比我的训练精度高,而且它们都是常数?
2 回答
为什么我的私人用户间聊天会显示在其他用户的聊天档案中?
2 回答
为什么我的积分的绝对误差估计值大于积分(使用scipy.integrate.nqad)?
5 回答
为什么我的积层回归器得分比它的组件差?
3 回答
为什么我的移动方法不起作用?
8 回答
为什么我的稀疏张量不能转换成张量
8 回答
为什么我的稀疏张量不能转换成张量?
6 回答
为什么我的程序“停止”了?
4 回答
为什么我的程序一直试图占用所有可用的CPU
1 回答
为什么我的程序不使用指定的代理
9 回答
为什么我的程序不工作(python帮助中的反向函数)?
4 回答
为什么我的程序不工作时,我使用多处理模块
7 回答