机器/深度学习MLflow、Deep Painterly Harmonization、ML.NET介绍

以下为你介绍的机器学习/深度学习软件都可用在Linux系统上:MLflow(开放式机器学习平台)、Deep Painterly Harmonization(基于深度学习的图像合成)、ML.NET(跨平台机器学习框架)。

1、MLflow(开放式机器学习平台)

MLflow 是由 Apache Spark 技术团队开源的一个机器学习平台,主打开放性:

1]、开放接口:可与任意 ML 库、算法、部署工具或编程语言一起使用。

2]、开源:开发者可轻松地对其进行扩展,并跨组织共享工作流步骤和模型。

MLflow 目前的 alpha 版本包含三个组件:

机器/深度学习MLflow、Deep Painterly Harmonization、ML.NET介绍

其中,MLflow Tracking(跟踪组件)提供了一组 API 和用户界面,用于在运行机器学习代码时记录和查询参数、代码版本、指标和输出文件,以便以后可视化它们。MLflow Projects(项目组件)提供了打包可重用数据科学代码的标准格式。MLflow Models(模型组件)提供了一种用多种格式打包机器学习模型的规范。

安装:

通过pip install mlflow从PyPi安装MLflow。

MLflow要求conda位于项目功能的PATH上。

使用Tracking API运行示例应用:

示例中的程序使用MLflow Tracking API,例如,运行:

python examples/quickstart/mlflow_tracking.py

该程序将使用MLflow Tracking API,该API将跟踪数据记录在./mlruns中,然后可以使用Tracking UI进行查看。

启动跟踪界面(Tracking UI):

MLflow跟踪用户界面将显示以./mlruns登录的运行,该运行位于http://localhost:5000,从以下内容开始:

mlflow ui

注意:不建议从MLflow的克隆中运行mlflow ui-这样做将从源代码运行dev UI,我们建议使用--file-store选项从另一个工作目录运行UI,以指定要针对哪个日志目录运行。

下载地址:https://github.com/databricks/mlflow

2、Deep Painterly Harmonization(基于深度学习的图像合成)

Deep Painterly Harmonization 是论文"Deep Painterly Harmonization"的程序实现,包含代码和数据。

深度绘画融合(Deep Painterly Harmonization)引入了一种称为 two-pass 的算法让补丁图以一致风格自然融入主图。

two-pass 算法:第一阶段进行大致协调,第二阶段精细化视觉质量。第一阶段达到单一尺度的大致协调,作为第二阶段的起点,来实现精细的多尺度改善。

项目代码基于 Torch,已在 Ubuntu 16.04 LTS 上通过测试。

依赖:

Torch (with loadcaffe)、Matlab or Octave。

CUDA backend:

CUDA、cudnn。

下载VGG-19:

sh models/download_models.sh

编译cuda_utils.cu(在您的计算机的makefile中调整PREFIX和NVCC_PREFIX):

make clean && make

用法:

要使用提供的脚本生成所有结果(以data/形式),只需运行:

python gen_all.py

在Python中,然后:

run('filt_cnn_artifact.m')

在Matlab或Octave中,最终输出将在results/中。

请注意,在本文中,我们在从wikiart.org收集的80,000幅绘画的数据集上训练了CNN,该数据集估计了给定绘画的样式化级别并相应地调整了权重。

示例:

机器/深度学习MLflow、Deep Painterly Harmonization、ML.NET介绍

版权声明:本软件仅用于学术和非商业用途。

下载地址:https://github.com/luanfujun/deep-painterly-harmonization

3、ML.NET(跨平台机器学习框架)

ML.NET 是一个跨平台的开源机器学习框架,旨在让 .NET 开发者更快上手机器学习。

ML.NET 最初由微软研究院开发,在过去十年中已成长为一个重要的框架,并用于微软的许多产品组,如 Windows、Bing、PowerPoint、Excel 等等。

ML.NET 允许 .NET 开发者开发他们自己的模型,并将自定义 ML 注入到他们的应用程序中。他们无需开发或调整机器学习模型的专业知识,一切都可在 .NET 中搞定。

示例:

下面是一个训练模型的代码示例:

var pipeline = new LearningPipeline();

pipeline.Add(new TextLoader<SentimentData>(dataPath, separator: ","));

pipeline.Add(new TextFeaturizer("Features", "SentimentText"));

pipeline.Add(new FastTreeBinaryClassifier());

var model = pipeline.Train<SentimentData, SentimentPrediction>();

从模型中我们可以做出推论(预测):

SentimentData data = new SentimentData

{

SentimentText = "Today is a great day!"

};

SentimentPrediction prediction = model.Predict(data);

Console.WriteLine("prediction: " + prediction.Sentiment);

下载地址:https://github.com/dotnet/machinelearning

注明

以上就是机器/深度学习MLflow、Deep Painterly Harmonization、ML.NET的介绍内容,这些机器学习/深度学习软件都能使用在Linux操作系统中。

栏目相关文章