机器/深度学习AdaNet、OpenVINO Toolkit、TRFL、TransmogrifAI介绍

以下为你介绍的机器学习/深度学习软件都可用在Linux系统上:AdaNet(轻量级和可扩展的 TensorFlow AutoML 框架)、OpenVINO Toolkit(深度学习部署工具包)、TRFL(强化学习构建模块库)、TransmogrifAI(自动化加速机器学习开发者工作效率的 AutoML 库)。

1、AdaNet(轻量级和可扩展的 TensorFlow AutoML 框架)

机器/深度学习AdaNet、OpenVINO Toolkit、TRFL、TransmogrifAI介绍

谷歌开源的 AdaNet 是一个轻量级的基于 TensorFlow 的框架,可以在最少的专家干预下自动学习高质量的模型。

AdaNet 使用了 AdaNet 算法用于训练和部署自适应神经网络,AdaNet 结合了多个经过训练的子网,以降低设计有效神经网络所固有的复杂性。

AdaNet提供以下特征:

Estimator API,可轻松训练、评估和服务 AdaNet 模型。

学习在 TensorFlow 中集成用户定义的子网。

用于在单个 train() 调用中搜索子网架构和参数的接口。

关于 CPU 和 GPU 的分布式训练(我们正在开发 TPU 支持)。

一流的 TensorBoard integration。

提供理论学习。

按照官方的说法,AdaNet 以最近的强化学习和基于进化的 AutoML 研究为基础,在提供学习保证的同时实现了快速、灵活。更重要的是,AdaNet 提供了一个通用框架,不仅可以学习神经网络架构,还可以学习集成,以获得更好的模型。

例子:

学习集成线性和神经网络模型的一个简单示例:

import adanet

import tensorflow as tf

# Define the model head for computing loss and evaluation metrics.

head = MultiClassHead(n_classes=10)

# Feature columns define how to process examples.

feature_columns = ...

# Learn to ensemble linear and neural network models.

estimator = adanet.AutoEnsembleEstimator(

head=head,

candidate_pool={

"linear":

tf.estimator.LinearEstimator(

head=head,

feature_columns=feature_columns,

optimizer=...),

"dnn":

tf.estimator.DNNEstimator(

head=head,

feature_columns=feature_columns,

optimizer=...,

hidden_units=[1000, 500, 100])},

max_iteration_steps=50)

estimator.train(input_fn=train_input_fn, steps=100)

metrics = estimator.evaluate(input_fn=eval_input_fn)

predictions = estimator.predict(input_fn=predict_input_fn)

下载地址:https://github.com/tensorflow/adanet/

2、OpenVINO Toolkit(深度学习部署工具包)

OpenVINO Toolkit —— 深度学习部署工具包(Deep Learning Deployment Toolkit )。

该工具包能够让开发者通过与应用程序逻辑集成的高级 C++ 推理引擎 API 部署预训练的深度学习模型。

开源版本包含两个组件,即模型优化器和推理引擎,以及 CPU、GPU 和异构插件,以加速 Intel(R) CPUs 和 Intel(R) 处理器显卡的深度学习推理。它支持 Open Model Zoo 的预训练模型以及 100 多种流行格式的开源和公共模型,例如 Caffe*, Tensorflow*, MXNet* and ONNX*。

功能特性:

在边缘启用基于 CNN 的深度学习推理。

通过易用的 CV 函数库和预优化的内核,加快产品上市速度。

引入针对 CV 标准的优化调用,包括 OpenCV*、OpenCL 和 OpenVX*。

下载地址:https://gitee.com/mirrors/OpenVINO-Toolkit

3、TRFL(强化学习构建模块库)

TRFL(发音为“truffle”)建立在 TensorFlow 之上,它是一个强化学习构建模块库。

它是 DeepMind 内部大量用于诸如 DQN、DDPG 和 Importance Weighted Actor Learner Architecture 这些成功的代理如的关键算法组件的集合。

TRFL 库包括实现经典 RL 算法以及更尖端技术的功能,提供的损失函数和其它操作在纯 TensorFlow 中实现。它们不是完整的算法,而是实现了在构建全功能强化学习代理时需要的数学运算。

对于基于值的强化学习,TRFL 提供了 TensorFlow 操作用于在离散动作空间中学习,例如 TD-learning、Sarsa、Q-learning 及其变体,同时也提供了用于实现连续控制算法的操作,例如 DPG。此外 TRFL 还包括用于学习分配值功能的操作。

安装:

可以使用以下命令从pip安装TRFL:

pip install trfl

TRFL可以与Tensorflow的CPU和GPU版本一起使用,但是为了允许它不会将Tensorflow列为要求,因此,如果尚未安装Tensorflow和Tensorflow-probability,则需要单独安装。

使用示例:

import tensorflow as tf

import trfl

# Q-values for the previous and next timesteps, shape [batch_size, num_actions].

q_tm1 = tf.constant([[1, 1, 0], [1, 2, 0]], dtype=tf.float32)

q_t = tf.constant([[0, 1, 0], [1, 2, 0]], dtype=tf.float32)

# Action indices, pcontinue and rewards, shape [batch_size].

a_tm1 = tf.constant([0, 1], dtype=tf.int32)

pcont_t = tf.constant([0, 1], dtype=tf.float32)

r_t = tf.constant([1, 1], dtype=tf.float32)

loss, q_learning = trfl.qlearning(q_tm1, a_tm1, r_t, pcont_t, q_t)

大多数情况下,您可能只对损失感兴趣:

loss, _ = trfl.qlearning(q_tm1, a_tm1, r_t, pcont_t, q_t)

# You can also do this, which returns the identical `loss` tensor:

loss = trfl.qlearning(q_tm1, a_tm1, r_t, pcont_t, q_t).loss

reduced_loss = tf.reduce_mean(loss)

optimizer = tf.train.AdamOptimizer(learning_rate=0.1)

train_op = optimizer.minimize(reduced_loss)

该模块中的所有损失函数使用上述约定返回损失张量和额外信息。

下载地址:https://github.com/deepmind/trfl

4、TransmogrifAI(自动化加速机器学习开发者工作效率的 AutoML 库)

TransmogrifAI 是一个用 Scala 编写的 AutoML 库,它运行在 Spark 之上。它的开发重点是通过机器学习自动化加速机器学习开发人员的工作效率,以及实施编译时类型安全、模块化和重用的 API。通过自动化,它可以实现接近手动调整模型的精度,并且几乎可以减少 100 倍的时间。

优势:

在几个小时而不是几个月内构建生产就绪机器学习应用。

建立机器学习模型而无需获得博士学位。

在机器学习中构建模块化、可重用与强类型的机器学习工作流程。

下载地址:https://github.com/salesforce/TransmogrifAI

注明

以上就是机器/深度学习AdaNet、OpenVINO Toolkit、TRFL、TransmogrifAI的介绍内容,这些机器学习/深度学习软件都能使用在Linux操作系统中。

栏目相关文章