美文网首页
SKIL/工作流程/实验中的TensorFlow

SKIL/工作流程/实验中的TensorFlow

作者: hello风一样的男子 | 来源:发表于2019-04-19 17:08 被阅读0次

实验中的TensorFlow

SKIL还支持TensorFlow开箱即用。使用新的Keras API的任何TensorFlow模型都可以导入SKIL的模型服务系统。在尝试一个实验之前,请确保你已首先将TensorFlow模型保存或导入到SKIL工作间。

Example notebook that trains a TensorFlow model in SKIL. image.gif ​

在SKIL中训练TensorFlow模型的示例笔记本。

使用Python

The Python environment is made possible by the PySpark interpreter in Apache Zeppelin. This interpreter makes most Python features available and also exposes several specific Apache Spark features.

Be sure to read:

Python环境是由apache zeppelin中的pyspark解释器实现的。这个解释器提供了大部分的Python特性,还公开了一些特定的Apache Spark特性。

请务必阅读:

TensorFlow工作间

在实验中设置TensorFlow就像创建一个普通的工作空间和使用笔记本中的%pyspark解释器一样简单。
要确保TensorFlow和Numpy在作用域内可用,请创建一个包含以下内容的单元:

%pyspark

import numpy as np
import tensorflow as tf
image.gif

点击shift+enter对单元进行评估,并将np和tf变量放入作用哉。这些变量现在在解释器评估的所有后续笔记本单元中都可用。
定义模型与典型的Python项目完全相同。要创建具有SoftMax输出和渐变下降优化器的多层感知器,请在新单元中输入以下内容:

%pyspark

learning_rate = 0.01
training_epochs = 25
batch_size = 100
display_step = 1

class MyModel(object):
    def __init__(self, n_inputs, n_outputs):
        self.x = tf.placeholder(tf.float32, [None, n_inputs], name="input0")
        self.y = tf.placeholder(tf.float32, [None, n_outputs])

        self.model = tf.layers.dense(self.x, n_inputs / 2, activation=tf.nn.sigmoid)
        self.model = tf.layers.dense(self.model, n_outputs)

        self.output = tf.nn.softmax(self.model, name="output0")

        self.loss = tf.losses.softmax_cross_entropy(onehot_labels=self.y, logits=self.model)
        self.optimizer = tf.train.GradientDescentOptimizer(learning_rate=learning_rate)

        self.train_op = self.optimizer.minimize(loss=self.loss)

model = MyModel(784, 10)

init = tf.global_variables_initializer()
image.gif

在SKIL中训练TensorFlow模型几乎与任何其他Python环境相同。你需要创建一个tf.session()并初始化会话,将检查点保存到本地/tmp文件系统,并在你想要冻结图状态和权重时使用tensorflow.python.tools.freeze_graph()

将TensorFlow模型添加到SkilContext

一旦TensorFlow*.pb图被冻结并保存到临时文件系统中,你就可以将其上传到SKIL模型列表中,以便在实验中使用。

要将模型添加到SkilContext,请执行以下操作:

%pyspark

import skil

skilContext = skil.SkilContext(sc)
path = str(skilContext.copyModel(z, "/tmp/tfmodel/model.pb", "mytensorflow"))
image.gif

Add TensorFlow Model to Experiment

Assuming you have named your saved model as mytensorflow in the SKILContext list and created a reference to its path, you can then add the model to an experiment by using the SKILContext addModelToExperiment list.

The following code assumes you are naming your model best_model_experiment:

将TensorFlow模型添加到实验中
假设你已在SkilContext列表中将保存的模型命名为mytensorflow,并创建了对其路径的引用,则可以使用SkilContext addModelToExperiment列表将模型添加到实验中。
以下代码假定你正在命名你的模型best_model_experiment

%pyspark

model_id = skilContext.addModelToExperiment(z, path, "best_model_experiment")
print(model_id)
image.gif

将模型添加到实验后,它将显示在工作区的模型列表中:

image image.gif ​

样例代码
工作间的端到端训练和模型实验代码可在 SKIL Examples Python Notebooks存储库中找到。

相关文章

  • SKIL/工作流程/实验中的TensorFlow

    实验中的TensorFlow SKIL还支持TensorFlow开箱即用。使用新的Keras API的任何Tens...

  • SKIL/工作流程/TensorFlow模型

    TensorFlow模型 SKIL1.0.3使用TensorFlow C++ API (版本1.4)的自定义JVM...

  • SKIL/工作流程/进行实验

    进行实验 SKIL中的实验对于定义不同的模型配置、封装模型训练以及执行不同的数据清理任务非常有用。实验与笔记本有一...

  • SKIL/工作流程/在实验中训练模型

    在实验中训练模型 如果你想跟踪结果并进行可重复的评估,实验对于训练模型很有用。一旦你学习了工作间,笔记本和进行实验...

  • SKIL/工作流程/SKIL中在多GPU上训练

    SKIL中在多GPU上训练 训练神经网络模型可能是一项计算代价很高的任务。如果你的机器上安装了多个GPU,为了加快...

  • SKIL/工作流程/嵌入式SKIL

    嵌入式SKIL 除了提供几乎所有用于创建高效机器学习管道的工具之外,SKIL还可以非常方便地作为嵌入式应用程序。这...

  • SKIL/工作流程/概述

    概述 SKIL减少了实验数据科学建模、关键测试和产品决策以及可扩展部署工程之间的冲突。它弥合了Python生态系统...

  • SKIL/工作流程/资源

    资源 当今世界,我们收集越来越多的增长和复杂的数据集,这些数据集往往需要使用复杂的模型。更重要的是,大型和非结构化...

  • SKIL/工作流程/工作间

    工作间 工作间是一个功能集合,可以实现不同的任务,例如进行实验、训练模型和测试不同的数据集转换。工作间与部署不同,...

  • SKIL/工作流程/数据转换

    数据转换 在实践中,数据很少以方便神经网络使用的格式存在。它是字符串、类别、数字、不同格式的图像的混合体,而且大部...

网友评论

      本文标题:SKIL/工作流程/实验中的TensorFlow

      本文链接:https://www.haomeiwen.com/subject/aljcgqtx.html