Julia: save 和load的用法 和与Matlab的效率比较
不得不说一下,matlab的save和load做的真是好,这是主要是针对较大的文件时,其功能相当的强大。我平时大部分数据,原来都是通过matlab的SAVE成.MAT文件后,再LOAD一下,真是方便。文件不管大小,不管种类,特别好用。
那么,Julia的save 和load又如何?
一、save 和load
在加载了HDF5包后,usingHDF5, JLD (二个都不能少!)后,就可以象MATLAB一样使用save 和load了。
julia> d =rand(1000,1);
# 把变量d 写入硬盘
julia> @save "C:\\Users\\Administrator\\Desktop\\d.jld"d
# 效率 : 远远在序列化之上!!
julia> test =rand(1000000,1)
1000000x1 Array{Float64,2}:
0.399838
0.983189
0.863656
0.135777
........
julia> @time @save"C:\\Users\\Administrator\\Desktop\\test.jld" test
elapsed time: 0.055807782 seconds (519268 bytes allocated)
二、和MATLAB的比较
从功能和用法上看,Julia的HDF5库使用上也简单方便,以下,主要比较一下二者的效率。
1、小数据
(1)save
>> tic;Test =rand(1000000,1);toc
Elapsed time is 0.029130 seconds.
>>tic;save('C:\Users\Administrator\Desktop\Test.mat','Test');toc
Elapsed time is 0.523215 seconds.
julia> @time test =rand(1000000,1)
elapsed time: 0.005679041 seconds (8001560 bytes allocated)
或者:
julia> tic();test =rand(1000000,1);toc();
(2) load
# 把变量d载入内存
bb=@load "C:\\Users\\Administrator\\Desktop\\d.jld"
# 效率
julia> @time @load"C:\\Users\\Administrator\\Desktop\\d.jld"
elapsed time: 0.002416908 seconds (10620 bytes allocated)
可以看出,JULIA在这二个步骤上都更优!大约性能提高十倍左右。
2、大数据
需要指出的是,JULIA@save后的文件变得太大,有些文件时间需要过长,并没有MATALB效率高,在适应性上也有一定的问题。
我测试了几个稍大的数据文件,在效率上,MATLAB要比JULIA快2-10倍不等。
3、字符串
julia对于字符串处理的效率比较低,是其突出的一个弱点。
@time @save"C:\\Users\\Administrator\\Desktop\\testdata.jld" ["ssadadddddddddddddddddddddddddddddddddddddddddddddddd"]
elapsed time: 0.041504262 seconds (54340 bytes allocated)
4、julia的注意事项
另外,Julia在使用@save 和@load需要注意,尽量不使用描象类型(如String),可以用具体类型替代(AsciiString).如果使用具体类型,速度可以提高很多。
此外,HDF5包可能无法识别包括有中文在内的路径。
所以,总体上,我认为MATLAB在save 和load上目前,综合性能上有优势。期待HDF5进行进一步优化!
Julia: save 和load的用法 和与Matlab的效率比较相关推荐
- keras/tensorflow 模型保存后重新加载准确率为0 model.save and load giving different result
我在用别人的代码跑程序的时候遇到了这个问题: keras 模型保存后重新加载准确率为0 GitHub上有个issue:model.save and load giving different resu ...
- jquery load 事件用法
jquery load 事件用法 如果绑定给window对象,则会在所有内容加载后触发,包括窗口,框架,对象和图像.如果绑定在元素上,则当元素的内容加载完毕后触发. 注意:只有当在这个元素完全加载完之 ...
- pytorch_basics Save and load model
# Save and load the entire model. torch.save(resnet, 'model.ckpt') model = torch.load('model.ckpt')# ...
- pytorch教程:save and load
torch有一个"save and load"机制,即训练意外终止了,可以保存训练的中间文件(ckpt.mdl),然后恢复训练的最开始重新加载进来.
- [转帖]Docker save and load镜像保存
Docker save and load镜像保存 https://www.cnblogs.com/zhuochong/p/10064350.html docker save 和 load 以及 imp ...
- matlab中load seamout,matlab中的save与load函数
matlab中的save与load函数 用save函数,可以将工作空间的变量保存成txt文件或mat文件等. 比如: save peng.mat p j 就是将工作空间中的p和j变量保存在peng.m ...
- matlab中load函数是什么意思,MATLAB中load函数的用法
转载自https://ww2.mathworks.cn/help/matlab/ref/load.html load 将文件变量加载到工作区中全页折叠 语法load(filename)load(fil ...
- $.load()的用法
jquery load 事件用法 jquery load 事件用法 如果绑定给window对象,则会在所有内容加载后触发,包括窗口,框架,对象和图像.如果绑定在元素上,则当元素的内容加载完毕后触发. ...
- Docker - 本地镜像的导出、导入(export、import、save、load)
Docker - 本地镜像的导出.导入(export.import.save.load)
- DB2 Load的用法
Source:点击打开链接 最近有个好朋友因为load问题导致了生产故障,所以特意写篇文章总结一下load的用法及注意事项. 1.load概述 数据的导入方法有insert,import和load三种 ...
最新文章
- 计算机网络数据容量100M,华工网络教育计算机网络作业及答案
- linux网络服务器框架转载
- Apache Kafka-通过设置Consumer Group实现广播模式
- linux x和s 的区别,Hadoop1.x和2.X的HDFS fsimage和edits文件运行机制对比
- [微软面试100题]61-70
- 女神节爆猛料!. NET程序员男女比例公布!
- 【LeetCode】3月22日打卡-Day7
- java反编译 混淆_Java反编译反混淆神器 - CFR
- 如何在Vue项目中使用websql数据库
- Ffmpeg视频压缩
- API文档与模拟数据接口
- 微信小程序开发(十五)小程序使用scrollview实现滚动导航栏
- 免费天气API,全国天气 JSON API接口,可以获取五天的天气预报
- 注册公司的步骤及费用
- 使用群晖作mineportalbox(1):合理且不折腾地使用群晖硬件和套件
- OS及Mac开源项目和学习资料【超级全面】
- 动态半导体ram依据什么存储信息_静态ram和动态ram的区别是什么
- 广州未成年子女落户政策需要什么申请条件和申办材料
- 存储基础知识之存储介质(机械式硬盘)
- 移动页面禁止左右滑动
热门文章
- iOS pragma mark的用法
- Chrome 地址栏如何设置显示 http/https 和 www
- vue+elementUI+node实现登录模块--验证用户名是否正确
- LeetCode 16. 3Sum Closest(最接近的三数之和)
- Ubuntu下对executable (application/x-executable)文件创建快捷方式
- Java 构造器 通过私有构造器强化不可实例化的能力
- IDEA里面添加lombok插件,编写简略风格Java代码(转)
- 字符串的一般性和特殊性
- 线程之线程池(ExecutorService)
- Webservice 安全性访问