julia

这个可能打败Python的编程语言,正在征服科学界

妖精的绣舞 提交于 2020-12-02 22:13:05
图片来源:Unsplash Julia 语言是近年来科学世界中出现的一匹黑马。物理学家 Lee Phillips 发表了一篇高质量的科普,介绍了这种科学计算语言的真正魅力所在。 >>>> 最近,我和许多科学家在网上视频见面了很多次,他们对一个新工具感到兴奋。它既不是最新的粒子加速器,也不是超级计算机,而是一种年轻的计算机语言 ——Julia。 不同的计算机语言擅长的工作也不一样,有的运行速度很快,有的则更容易开发和部署,有的拥有庞大的生态系统和库,有的则适用于解决特定问题。 对于需要模拟气候变化或核聚变的科学家来说,目前的主流语言是 Fortran。它的编译器可以充分利用大型超级计算机的强大性能。而对于数据科学家来说, Python才是最受青睐的语言,因为它拥有丰富的生态系统,强大的交互性和快速的开发周期。 六年前,我撰文描写了 Fortran 在科学计算领域的地位,并与其他几种语言进行了比较。在文章结尾处我曾预测:十年后,一种名为 Julia的新语言很可能取而代之,成为科学家在解决大规模数字计算问题时更愿意使用的语言。 我的预言不是很准确,因为 Julia 只用了大约一半的时间,就接近了这一目标。 通过近年与许多科学家的交流,我确信,Julia 在业界掀起了新的热情。不过,当年分析它的潜力时,我还不明白为什么这种语言会如此受欢迎。 当时,我的评估是基于 Julia

Arrays of abstract type in julia in functions

回眸只為那壹抹淺笑 提交于 2020-11-29 08:25:53
问题 I try to understand typing in Julia and encounter the following problem with Array . I wrote a function bloch_vector_2d(Array{Complex,2}) ; the detailed implementation is irrelevant. When calling, here is the complaint: julia> bloch_vector_2d(rhoA) ERROR: MethodError: no method matching bloch_vector_2d(::Array{Complex{Float64},2}) Closest candidates are: bloch_vector_2d(::Array{Complex,2}) at REPL[56]:2 bloch_vector_2d(::StateAB) at REPL[54]:1 Stacktrace: [1] top-level scope at REPL[64]:1 The

Arrays of abstract type in julia in functions

风流意气都作罢 提交于 2020-11-29 08:24:49
问题 I try to understand typing in Julia and encounter the following problem with Array . I wrote a function bloch_vector_2d(Array{Complex,2}) ; the detailed implementation is irrelevant. When calling, here is the complaint: julia> bloch_vector_2d(rhoA) ERROR: MethodError: no method matching bloch_vector_2d(::Array{Complex{Float64},2}) Closest candidates are: bloch_vector_2d(::Array{Complex,2}) at REPL[56]:2 bloch_vector_2d(::StateAB) at REPL[54]:1 Stacktrace: [1] top-level scope at REPL[64]:1 The

Julia: what does the “<:” symbol mean?

為{幸葍}努か 提交于 2020-11-29 05:59:04
问题 What does this mean in function signatures, for example: convert(::Type{T}, z::Complex) where {T<:Real} 回答1: Strictly speaking, one should differentiate between the predicate Base.:(<:) , as described in @Saqib's answer, and the syntactic usage of <: for describing constraints. This syntactic usage can occur in type parameter declarations of methods, to constrain a type variable to be a subtype of some other type: f(x::T) where {T<:Real} = zero(x) A sort of special case of this is when you

Julia: what does the “<:” symbol mean?

亡梦爱人 提交于 2020-11-29 05:58:25
问题 What does this mean in function signatures, for example: convert(::Type{T}, z::Complex) where {T<:Real} 回答1: Strictly speaking, one should differentiate between the predicate Base.:(<:) , as described in @Saqib's answer, and the syntactic usage of <: for describing constraints. This syntactic usage can occur in type parameter declarations of methods, to constrain a type variable to be a subtype of some other type: f(x::T) where {T<:Real} = zero(x) A sort of special case of this is when you

Julia: what does the “<:” symbol mean?

自闭症网瘾萝莉.ら 提交于 2020-11-29 05:56:53
问题 What does this mean in function signatures, for example: convert(::Type{T}, z::Complex) where {T<:Real} 回答1: Strictly speaking, one should differentiate between the predicate Base.:(<:) , as described in @Saqib's answer, and the syntactic usage of <: for describing constraints. This syntactic usage can occur in type parameter declarations of methods, to constrain a type variable to be a subtype of some other type: f(x::T) where {T<:Real} = zero(x) A sort of special case of this is when you

Julia: what does the “<:” symbol mean?

怎甘沉沦 提交于 2020-11-29 05:56:37
问题 What does this mean in function signatures, for example: convert(::Type{T}, z::Complex) where {T<:Real} 回答1: Strictly speaking, one should differentiate between the predicate Base.:(<:) , as described in @Saqib's answer, and the syntactic usage of <: for describing constraints. This syntactic usage can occur in type parameter declarations of methods, to constrain a type variable to be a subtype of some other type: f(x::T) where {T<:Real} = zero(x) A sort of special case of this is when you

U^2-Net跨界肖像画,完美复刻人物细节,GitHub标星2.5K+

纵饮孤独 提交于 2020-11-27 12:27:46
来源 | Jack Cui 头图 | CSDN下载自视觉中国 今年提出的 U^2-Net 显著性检测算法,刷爆了 reddit 和 twitter,号称是 2020 年「地表最强」的静态背景分割算法,可以看下效果: 你以为今天要讲分割?错! U^2-Net 这两天又出新活,在 U^2-Net 网络架构基础上,实现了人物肖像画的生成,细节「完美」复刻。 我用自己的「歪脖子照」测试了下效果。 万年不变老规矩,继续手把手教学。 算法原理、环境搭建、效果实现,一条龙服务,尽在下文! U^2-Net 受 U-Net 网络的启发,U^2-Net 也是一种类似编码-解码(Encoder-Decoder)的网络结构。 研究者在此基础上,提出了新型残差 U-block(ReSidual U-block, RSU),融合不同尺寸接受野的特征,以捕获更多不同尺度的上下文信息。 RSU 网络与现有卷积块的结构对比如下: 最右边的结构,就是 RSU-L,L 表示编码器中的层数,C_in、C_out 分别表示输入和输出通道,M 表示 RSU 内层通道数。 具体而言,RSU 主要有三个组成部件,分别是一个输入卷积层、一个高度为 L 的类 U-Net 对称编码器 - 解码器结构以及一个通过求和来融合局部和多尺度特征的残差连接。 为了更好地理解设计理念,研究者在下图中对 RSU 与原始残差块进行了比较。 结果显示