小编MUA*_*UAS的帖子

PyTorch 内存不足:DefaultCPUAllocator 无法分配内存

我正在尝试优化weigtsPytorch 中的一些权重 ( ) 但我不断收到此错误:

RuntimeError: [CPUAllocator.cpp:64 处强制失败]。DefaultCPUAllocator:无法分配内存:您尝试分配 8000000000000 字节。错误代码 12(无法分配内存)。

也就是说,当我跑步时事情就会爆炸(weights * col).sum() / weights.sum()。Weights 是一个大小为 (1000000,1) 的张量,col 也是一个大小为 (1000000, 1) 的张量。两个张量的大小都合适,但奇怪的是我用完了计算机中的所有内存(8GB)来进行这些操作。

out-of-memory pytorch

10
推荐指数
1
解决办法
2万
查看次数

Grpc 不增加消息的最大大小:收到的消息大于最大值

我正在使用 grpc 发送一些非常大的消息(网络上机器学习模型的参数)。问题是当我进行 grpc 调用时出现以下错误:

grpc: received message larger than max (261268499 vs. 4194304)
Run Code Online (Sandbox Code Playgroud)

正如其他帖子中所建议的,我尝试增加通道和 grpc 服务器上的最大消息大小,但我一直收到相同的错误。关于如何让它发挥作用的任何想法?

我的服务器代码:

maxMsgLength = 1024 * 1024 * 1024
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10),
                     options=[('grpc.max_message_length', maxMsgLength),
                              ('grpc.max_send_message_length', maxMsgLength),
                              ('grpc.max_receive_message_length', maxMsgLength)])
Run Code Online (Sandbox Code Playgroud)

客户端:

maxMsgLength = 1024 * 1024 * 1024
channel = grpc.insecure_channel(ip_port, 
                                options=[('grpc.max_message_length', maxMsgLength),
                                         ('grpc.max_send_message_length', maxMsgLength),
                                         ('grpc.max_receive_message_length', maxMsgLength)])
Run Code Online (Sandbox Code Playgroud)

编辑:

不是解决方案,但也许可以更深入地了解问题。出于某种原因,如果我将最大消息大小设置为 1024 * 1024 * 1024,它最终会默认为 4194304,正如错误消息所暗示的那样。不太确定为什么会这样。但无论如何,我尝试将最大消息大小减小到 1024 * 1024 * 200,它在错误消息 (209715200) 中显示了正确的最大消息大小。似乎存在 grpc 未正确设置最大消息大小的问题。不知道如何解决这个问题。

在错误消息显示正确最大值的情况下,我可以使用的最大数量是 2^28。如果我将最大消息大小设置为 2^29,则默认为 4194304。

python grpc grpc-python

6
推荐指数
1
解决办法
708
查看次数

标签 统计

grpc ×1

grpc-python ×1

out-of-memory ×1

python ×1

pytorch ×1