Julia 小白 Day 8 :目前兼容的机器学习程序包

前情提要:

  • Julia是一门牛B、‘无耻’的语言

  • Julia1.0.0安装指南(含 Juno IDE)

    • Windows教程
    • Mac教程
  • 如何进行Julia无痛体验

为了尽快方便学习和降低门槛,笔者专门对机器学习相关的程序包进行了批量安装测试,力求给到大家本地电脑上一个稳定、兼容的Julia机器学习环境:

  • 在线学习:Juliabox.com上可以进行Julia无痛体验

  • 本地安装Julia 0.7版本

    • 卸载之前安装过的所有Julia版本

    • 安装 Julia 0.7版本

      • Mac:https://julialang-s3.julialang.org/bin/mac/x64/0.7/julia-0.7.0-mac64.dmg
      • Windows:
        • 32Bit:https://julialang-s3.julialang.org/bin/winnt/x86/0.7/julia-0.7.0-win32.exe
        • 64Bit:https://julialang-s3.julialang.org/bin/winnt/x64/0.7/julia-0.7.0-win64.exe
    • 安装好 Juno IDE

      • 之前安装过的请打开julia-client设置把Julia 0.7版本的路径配置好

以下是笔者按照LightML.jl里面的机器学习相关的程序包测试出来兼容Julia 0.7版本:

  • Gadfly、Compose、DataArrays 都完全无法安装,包括测试了开发版
  • SpecialFunctions可以用开发版
  • DataArrays部分功能替换使用了LinearAlgebra、Statistics
    (文末有安装代码)
状态
Arpack
Loess
Contour
PositiveFactorizations
PDMats
Showoff
QuadGK
StaticArrays
AxisAlgorithms
NearestNeighbors
FFTW
LineSearches
Conda
KernelDensity
Clustering
DataStructures
ForwardDiff
BinaryProvider
PyCall
StatsBase
NaNMath
OffsetArrays
AbstractFFTs
LaTeXStrings
Measures
DiffRules
Optim
Parameters
CodecZlib
Distributions
VersionParsing
TranscodingStreams
NLSolversBase
DiffResults
WoodburyMatrices
DiffEqDiffTools
IndirectArrays
Missings
CommonSubexpressions
Rmath
Calculus
DataStreams
WeakRefStrings
CoupledFields
FixedPointNumbers
Hexagons
SortingAlgorithms
Ratios
ColorTypes
PyPlot
ShowItLikeYouBuildIt
CategoricalArrays
StatsFuns
DataFrames
BinDeps
Colors
Interpolations
SpecialFunctions ✓(Dev)
LinearAlgebra
Statistics
Gadfly X
Compose X
DataArrays X
using Pkg #Julia v0.7后需要调用
Pkg.add("Arpack")
Pkg.add("Loess")
Pkg.add("Contour")
Pkg.add("PositiveFactorizations")
Pkg.add("PDMats")
Pkg.add("Showoff")
Pkg.add("QuadGK")
Pkg.add("StaticArrays")
Pkg.add("AxisAlgorithms")
Pkg.add("NearestNeighbors")
Pkg.add("FFTW")
Pkg.add("LineSearches")
Pkg.add("Conda")
Pkg.add("KernelDensity")
Pkg.add("Clustering")
Pkg.add("DataStructures")
Pkg.add("ForwardDiff")
Pkg.add("BinaryProvider")
Pkg.add("PyCall")
Pkg.add("StatsBase")
Pkg.add("NaNMath")
Pkg.add("OffsetArrays")
Pkg.add("AbstractFFTs")
Pkg.add("LaTeXStrings")
Pkg.add("Measures")
Pkg.add("DiffRules")
Pkg.add("Optim")
Pkg.add("Parameters")
Pkg.add("CodecZlib")
Pkg.add("Distributions")
Pkg.add("VersionParsing")
Pkg.add("TranscodingStreams")
Pkg.add("NLSolversBase")
Pkg.add("DiffResults")
Pkg.add("WoodburyMatrices")
Pkg.add("DiffEqDiffTools")
Pkg.add("IndirectArrays")
Pkg.add("Missings")
Pkg.add("CommonSubexpressions")
Pkg.add("Rmath")
Pkg.add("Calculus")
Pkg.add("DataStreams")
Pkg.add("WeakRefStrings")
Pkg.add("CoupledFields")
Pkg.add("FixedPointNumbers")
Pkg.add("Hexagons")
Pkg.add("SortingAlgorithms")
Pkg.add("Ratios")
Pkg.add("ColorTypes")
Pkg.add("PyPlot")
Pkg.add("ShowItLikeYouBuildIt")
Pkg.add("CategoricalArrays")
Pkg.add("StatsFuns")
Pkg.add("DataFrames")
Pkg.add("BinDeps")
Pkg.add("Colors")
Pkg.add("Interpolations")
#只有下面这个包是要通过开发版兼容的
Pkg.clone("https://github.com/JuliaMath/SpecialFunctions.jl.git")

#预编译,确保后续可以直接使用
using Arpack
using Loess
using Contour
using PositiveFactorizations
using PDMats
using Showoff
using QuadGK
using StaticArrays
using AxisAlgorithms
using NearestNeighbors
using FFTW
using LineSearches
using Conda
using KernelDensity
using Clustering
using DataStructures
using ForwardDiff
using BinaryProvider
using PyCall
using StatsBase
using NaNMath
using OffsetArrays
using AbstractFFTs
using LaTeXStrings
using Measures
using DiffRules
using Optim
using Parameters
using CodecZlib
using Distributions
using VersionParsing
using TranscodingStreams
using NLSolversBase
using DiffResults
using WoodburyMatrices
using DiffEqDiffTools
using IndirectArrays
using Missings
using CommonSubexpressions
using Rmath
using Calculus
using DataStreams
using WeakRefStrings
using CoupledFields
using FixedPointNumbers
using Hexagons
using SortingAlgorithms
using Ratios
using ColorTypes
using PyPlot
using ShowItLikeYouBuildIt
using CategoricalArrays
using StatsFuns
using DataFrames
using BinDeps
using Colors
using Interpolations
using SpecialFunctions

没什么可说的,Julia团队应该要把程序包这块兼容工作做得更好些。

PS:
为什么用Julia v0.7版本?

  • 兼容0.6大部分程序包
  • 兼容Juno IDE
  • 有语法弃用提示(就是告诉你哪个语法不能用了,给你一个替换方案)
  • 与刚发布的1.0.0版本代际差异最小

简单说,v0.7版本是承前启后可用度最高的选择。

KevinZhang

Aug 25, 2018

你可能感兴趣的:(Julia 小白 Day 8 :目前兼容的机器学习程序包)