Julia 小白 Day 8 :目前兼容的机器学习程序包
2018-08-25 本文已影响66人
_KevinZhang_

前情提要:
-
Julia1.0.0安装指南(含 Juno IDE)
为了尽快方便学习和降低门槛,笔者专门对机器学习相关的程序包进行了批量安装测试,力求给到大家本地电脑上一个稳定、兼容的Julia机器学习环境:
-
在线学习:Juliabox.com上可以进行Julia无痛体验
-
本地安装Julia 0.7版本
-
卸载之前安装过的所有Julia版本
-
安装 Julia 0.7版本
-
- 之前安装过的请打开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