Wolfram mathematica 保存FittedModel是一辆马车

Wolfram mathematica 保存FittedModel是一辆马车,wolfram-mathematica,mathematica-8,Wolfram Mathematica,Mathematica 8,使用Mathematica 7和8,我们发现Mathematica无法正确保存并获得拟合例程的结果。我希望这里的人知道:解决这个bug的最佳实践是什么 我们的任务是用非线性模型拟合大量数据集,非线性模型为每个数据集返回一个拟合模型。这些匹配需要一段时间,我们尝试使用Save和DumpSave将结果存储到文件中。后续分析使用Get将FittedModel拉回到中 Mathematica在没有警告的情况下执行Save&Get,但返回的FittedModel有缺陷。我们调用Get并从磁盘加载Fitte

使用Mathematica 7和8,我们发现Mathematica无法正确保存并获得拟合例程的结果。我希望这里的人知道:解决这个bug的最佳实践是什么

我们的任务是用非线性模型拟合大量数据集,非线性模型为每个数据集返回一个拟合模型。这些匹配需要一段时间,我们尝试使用Save和DumpSave将结果存储到文件中。后续分析使用Get将FittedModel拉回到中

Mathematica在没有警告的情况下执行Save&Get,但返回的FittedModel有缺陷。我们调用Get并从磁盘加载FittedModel,将结果调用为“foo”。Trying foo[10]使用输入10评估拟合模型。我们看到的错误是foo[“BestFitParameters”]应该返回一个列表和一个规则,但是将字符串插入函数中,因为它是一个类似于10的数字。尝试foo[{“BestFitParameters”,“BestFitParameters”}]应该在一个列表中给出两次规则,但使用buggy foo时保持未计算状态

除此之外,还有一种奇怪的误导行为,这取决于我们是删除/清除foo还是退出内核:

  • 将FittedModel计算为foo
  • 保存或转储将foo保存到磁盘
  • 移除和/或清除foo
  • 从磁盘获取foo
  • 傅工作很好
但是如果我们重新启动内核,它就会失败

  • 将FittedModel计算为foo
  • 保存或转储将foo保存到磁盘
  • 杀死并重新启动内核
  • 从磁盘获取foo
  • 福是马车
以前有人见过这种行为吗

这个错误背后有什么好的解释吗


有好的解决方法吗?

这是一个已知的错误,幸运的是有一个简单的解决方法。在评估
Get
读取保存的
FittedModel
之前,请评估虚拟装配模型代码

In[1]:= NonlinearModelFit[Range[5], a x, x, a];

In[2]:= Get[FileNameJoin[{$HomeDirectory, "Desktop", "bignlm.mx"}]];

In[3]:= AbsoluteTiming[nlm["BestFitParameters"]]

Out[3]= {17.6010000, {a -> 1.45015, b -> 2.33999}}

如果跳过此初始评估,则由于未能自动加载实现该功能的所有相关代码,所安装的型号似乎无法正常工作。[1]中对
的评估基本上是强制加载的。

您能添加一个简短的代码示例吗?我们将在早上(英国时间)的第一件事中进行尝试!