前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学习Julia与弯道超车

学习Julia与弯道超车

作者头像
邓飞
发布2019-07-23 10:56:21
8700
发布2019-07-23 10:56:21
举报

1. Julia是什么?

Julia 是一个面向科学计算的高性能动态高级程序设计语言。其语法与其他科学计算语言相似。他们想要的是一个开源的软件,它要像C语言一般快速而又拥有如同Ruby的动态性;要具有Lisp般真正的同像性(Homoiconicity)而又有Matlab般熟悉的数学记号;要像Python般通用、像R般在统计分析上得心应手、像Perl般自然地处理字符串、像Matlab般具有强大的线性代数运算能力、像shell般胶水语言的能力,易于学习而又不让真正的黑客感到无聊;还有,它应该是交互式的,同时又是编译型的…… 百度百科

2. Julia相对于R和Python的优势

2.1. Julia很快

看一下Julia官网上的Benchmark,Julia综合速度,是R语言的42倍,是Python的15倍,是Java的3倍,是Fortran的1倍,和C语言速度不相上下。

2.2. 原生态支持并行运算和GPU开发

Julia是为为并行计算和分布式计算而设计,更适合于大数据的开发和运算。Python和R这方面先天不足。

2.3. Julia比R更像Python

Julia,R和Python被称为科学运算的三大语言,R语言是统计学家开发的,更偏向于统计分析,工程化不足。Python是简单工程化语言,但是数学运算速度慢。Julia相对于R语言,更工程化,而且更快,缺点是相关的包比较少。Julia相对于Python而言,更专注于科学运算。未来我相信,Julia会把R语言在数据科学的份额占掉一大半,同时会吞食Python在数据科学中的位置。

3. Julia的应用前景(来源:Julia中文官网)

3.1. 数据可视化和绘图
3.2. 组建, 部署或者嵌入代码

Julia可以让你开发用户界面,静态编译代码,甚至部署到网页服务器上。它还有强大的类似壳层(shell)的管理进程功能。它还提供类似Lisp的宏和其它元编程的能力。它还和其它语言友好相处,提供 C, Python, R, Java, 还有更多的语言之间的稳定的界面。

3.3. 数据科学

3.4. 规模化机器学习

Julia为机器学习和人工智能提供强大的深度学习工具 (Flux and Knet)。和论文中发表的数学公式一样, Julia的数学语法是表达算法的理想方式,通过 自动微分, GPU加速和terabytes数据支持来 建立可训练的模型。

Julia丰富的机器学习生态系统还提供监督式学习算法, 比如 回归, 决策树, 以及非监督式学习算法,比如 聚类 。您还可以找到 贝叶斯网络和 马尔科夫蒙特卡洛的外部库。

3.5. 丰富的科学计算生态环境

3.6. 并行和异构计算

Julia设计上就具有并行性, 提供各个层次的内置并行计算能力: 矢量化(SIMD), 多线程 和 超级计算机上运行的分布式计算, Julia复杂的编译器可以生成各种硬件加速器的机器码,比如GPUs 和至强融核。编写在所有平台上都可以运行的通用代码, 不需要考虑底层的细节。

4. 学习Julia与弯道超车

一个朋友说,当你下决心做一件事情时,最难的部分已经过去了。

古人也说:“天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。”

关于很多事情,都有一个先发优势,遇到新的东西,积极拥抱,上士闻道,勤而行之。这才是应该有的态度。

人应该有舍我其谁的自信,而不是妄自菲薄,故步自封。

中国通过互联网革命,取得领头。育种通过Julia获得新生。

5. Julia学习笔记

为了更好的记录“学习Julia”这个Flag,我将公众号的菜单列了一个子目录“Julia”,记录自己的学习笔记,后期积累一段之后,放到知识星球里面。目前的章节有:

R语言 Julia以及全基因组选择

R语言和Julia以及Python使用Feather包共享数据

JWAS: 基于Julia开发的一款基于贝叶斯的GWAS和GS软件

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 育种数据分析之放飞自我 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3.1. 数据可视化和绘图
  • 3.2. 组建, 部署或者嵌入代码
  • 3.3. 数据科学
  • 3.5. 丰富的科学计算生态环境
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档