gpt4 book ai didi

serialization - MX 文件的快速加载跨平台替代品 (Mathematica)

转载 作者:行者123 更新时间:2023-12-04 02:23:42 27 4
gpt4 key购买 nike

在 Mathematica 中,可以使用 Save 保存中间结果/工作区的部分状态。 (.m 文件)或 DumpSave (.mx 文件)。

.m 文件是可移植的,但加载速度很慢(数据量大)。

.mx 文件加载速度快,但不能在平台/架构之间移植。

有没有办法以一种加载速度快的方式保存通用的 Mathematica 表达式,并且它们可以在平台之间移植?有没有人尝试过/对不同的方法进行基准测试来做到这一点?

一种可能的解决方案是保存 .m 文件(跨平台),然后在新平台上开始工作时将它们转换为 .mx 文件(一次性操作)。是否有全自动方式将 .m 文件转换为 .mx 文件?

最佳答案

  • 从阿列克谢链接的帖子中:
    str=OpenWrite[file,BinaryFormat->True];

    BinaryWrite[str,Compress[expr],"TerminatedString"];

    Close[str];

    这不像使用 mx 文件那么快,但它仍然非常快。

    大卫·贝利

    另一种选择似乎是 WDX (Wolfram Data eXchange) 我是
    在各种机器上使用都没有问题,而且似乎也
    可移植,可以像 MX 文件一样使用,是二进制的,有文档记录
    因此我会考虑得到官方支持。它被使用
    数据包功能,所以我想它的性能相当好,而且
    在所有系统上都经过良好测试(我的经验所做的假设
    支持到现在)。

    (摘自 Albert Retey 的回答,也来自 Alexey 的链接)

  • 但这些不适用于 Save/ DumpSave确实如此,因为它不保存 FullDefinitionexpr ,只有 expr 的显式值.

    关于serialization - MX 文件的快速加载跨平台替代品 (Mathematica),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6136266/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com