julia语言在近期算法圈内慢慢开始传播起来了,本人从2016年开始关注这种语言,不过由于本人是传统的工程师出身,大部分时间都花费在工程框架的研究上面,对以算法能力为主导的语言认识不是特别深刻,在此初步介绍下这种语言,以及自己使用后的感悟:
相信很多人其实没有听说过这种语言,对机器学习的整体概念理解也不是特别深刻。我先拿百度百科来短暂介绍这个语言吧:
Julia 是一个面向科学计算的高性能动态高级程序设计语言。其语法与其他科学计算语言相似。在许多情况下拥有能与编译型语言相媲美的性能。Julia 是个灵活的动态语言,适合科学和数值计算,性能可与传统静态类型语言媲美
这个介绍非常简洁,实际上这个语言非常新,是2012年才正式推出,而且初期的社区开发者是一群matlab的程序员,他们不满足matlab的收费要求和非对象式语言,也不满足python对数字符号本身的支持度不够,还不满足大部分框架速度较慢,所以设计了这种语言。
julia语言直接支持了python和C文件的调用,可以作为一个插件来使用
就个人体验而言:这种语言更类似于一种处理算法的C++式C框架,它本身是编译型的(类似java和C,而非python,php脚本语言),是交互式的(类似matlab有个交互界面,目前来看大部分流行的工程用途语言本身都不自带交互界面),语法类似python,也类似R(缩进式写法,无对象概念,有时可以直接套用数学表达式)。
我个人喜欢这样来描述这种语言:类似读书时期使用的带图像的计算器,把计算器搬到pc机上就完事了。
所以它不可能是工程语言,它的特性和初心就是做科学计算以及现在的机器学习相关工作的,所以它一定可以在后续的发展中做到更好的数据计算,它编译好的程序(指主要做数据计算的程序)的运行速度一定比python这样的脚本语言快,甚至可以超过其他所有的语言。
个人非常看好这种语言的前景,因为它代表了智能工程脱离计算机工程走向专业化的趋势
现在我介绍下如何安装和使用julia(非常的便捷和好用)
1:安装juliaPro(推荐):
juliaPro是一种框架,集成了julia各种库,也集成了一个开发julia的IDEA,安装完juliaPro就可以直接使用大部分目前julia的能力
1)在这个地址注册:https://juliacomputing.com/products/
注册非常简单,随便填就行,然后下载
2)建议新版本,因为所谓的长期支持版本经常出问题,而且这个语言在快速发展,新版本支持更强,不做工程自己使用的话肯定新版本更好
3)下载完找个英文路径一步步装就行了(windows也不需要手动配环境)
4)安装完之后打开命令行(其实是julia自带的交互式界面,直接是julia的语法)
4)试用自带IDE(是Atom的改版)
enter后输入
using Gadfly
plot([sin,cos],25,0)
有一个非常直观的效果,具体库类的特性以后有机会讲
2:安装使用julia本身
这里推荐看julia中文社区的文档,很详细(同时推荐这个社区,非常的简洁明确,问题可以直接在上面提)
https://discourse.juliacn.com/t/topic/159
3:安装julia包改造方式(使用julia中经常发生安装不了包,或者外网网速太慢,安装太久的情况)
julia中文社区的文档
https://discourse.juliacn.com/t/topic/2969
4:简单的julia教程,B站有个教程不错,简洁明了(个人感觉介绍简单语法元素和语法糖特别消耗学习动力,这视频节奏相对不错)
https://www.bilibili.com/video/BV1zs411w7mG?from=search&seid=12944314681696319180
5:julia做神经网络:
相信大家其实对机器学习里面的神经网络比较好奇,不过julia本身对机器学习的其他算法支持比较多,比如SVM之类的,神经网络框架和教程目前比较少,后续我可能会用julia实现一套神经网络框架或者介绍一套好用的神经网络框架,到时候再来探讨下julia语言对于这块的能力。
网友评论