极限尺寸JLD2朱莉娅

时间:2018-12-14 13:20:35

标签: julia

在Julia中使用JLD2加载数据是否有大小限制?

相同的代码:

using JLD2
using FileIO
exp=load("myfile.jld2");

似乎可以正常工作,直到达到一定大小的数据为止。对于我运行的一些实验,文件为5GB,我获得以下信息:

  

加载“ /pathtofile/myfile.jld2”时遇到错误。   致命错误:

     

错误:EOF错误:读取文件结尾

     

Stacktrace:

     

[1] handle_error(:: EOFError,:: File {DataFormat {:JLD2}})在/path/.julia/packages/FileIO/Y0Lre/src/error_handling.jl:80

     

[2] handle_exceptions(:: Array {Any,1},:: String)在/path/.julia/packages/FileIO/Y0Lre/src/error_handling.jl:75

     

[3]#load#27(:: Base.Iterators.Pairs {Union {},Union {},Tuple {},NamedTuple {(),Tuple {}}},:: Function,:: File { DataFormat {:JLD2}})在/path/.julia/packages/FileIO/Y0Lre/src/loadsave.jl:193

     

[4] load(:: File {DataFormat {:JLD2}})在/path/.julia/packages/FileIO/Y0Lre/src/loadsave.jl:172

     

[5]#load#13(:: Base.Iterators.Pairs {Union {},Union {},Tuple {},NamedTuple {(),Tuple {}}},:: Function,:: String)在/path/.julia/packages/FileIO/Y0Lre/src/loadsave.jl:118

     

[6] load(:: String)在/path/.julia/packages/FileIO/Y0Lre/src/loadsave.jl:118

     

[7]顶级范围在none:0

我尝试使用jldopen,我完全没有使用经验,但是我也收到类似的错误消息。

我该怎么办?

而且,顺便说一句,load和jldopen(“ my file.jld2”,“ r”)之间有什么区别?

我在Mac OSHighSierra 10.13.6上使用的是Julia版本1.0.2。

1 个答案:

答案 0 :(得分:0)

我定期读取> 5GB的文件,没有问题。因此,我认为由于某种原因,您的文件未正确写入。错误消息也表明了这一点。

要回答另一个问题,load("myfile.jld2")jldopen("myfile.jld2", "r")之间的区别在于前者将文件的所有内容加载到字典中,而后者打开文件并返回{{1} }对象,可用于对数据文件进行细粒度访问。例如,它允许您将多个数据字段写入同一文件(请注意,多个JLDFile命令将覆盖同一文件)。

演示

save