`
bewithme
  • 浏览: 422759 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

DataVec/执行器

    博客分类:
  • dl4j
阅读更多

本地还是远程执行?

因为数据集通常是比较大的,所以你可以决定最适合你需要的执行机制。例如,如果你正在对大型训练数据集进行向量化,则可以在分布式spark集群中处理它。但是,如果需要进行实时推理,数据向量还提供不需要任何附加设置的本地执行器。

执行一个转换过程

 

一旦你已经用概要创建了你的转换过程,并且你已经加载你的数据到了一个  Apache Spark JavaRDD或有一个记录读取器来加载你的数据集,你就可以执行一个转换了  。

本地执行如下: 

import org.datavec.local.transforms.LocalTransformExecutor;

List<List<Writable>> transformed = LocalTransformExecutor.execute(recordReader, transformProcess)

List<List<List<Writable>>> transformedSeq = LocalTransformExecutor.executeToSequence(sequenceReader, transformProcess)

List<List<Writable>> joined = LocalTransformExecutor.executeJoin(join, leftReader, rightReader)

当使用Spark的时候看起来是这样子的:

import org.datavec.spark.transforms.SparkTransformExecutor;

JavaRDD<List<Writable>> transformed = SparkTransformExecutor.execute(inputRdd, transformProcess)

JavaRDD<List<List<Writable>>> transformedSeq = SparkTransformExecutor.executeToSequence(inputSequenceRdd, transformProcess)

JavaRDD<List<Writable>> joined = SparkTransformExecutor.executeJoin(join, leftRdd, rightRdd)

可用的执行器


LocalTransformExecutor 本地转换执行器

[源码]

 

isTryCatch
public static boolean isTryCatch() 

 

用给定的输入数据执行指定的转换过程

注意:这个方法仅在转换过程返回一个非序列数据的时候可以用。对于返回序列的转换过程,使用{- link #executeToSequence(List, TransformProcess)}

 

 

  • 参数 inputWritables 是要处理的输入数据 Input data to process
  • 参数 transformProcess 是要执行的转换过程
  • 返回处理过的数据

SparkTransformExecutor Spark转换执行器

[源码]

数spark的弹性数据集上执行一个数据向量转换过程

 

isTryCatch
public static boolean isTryCatch() 
  •  不赞成在SparkTransformExecutor用静态方法替代实例方法。

 有任何问题请联系微信 

如果您觉得我的文章给了您帮助,请为我买一杯饮料吧!以下是我的支付宝,意思一下我将非常感激!

     

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics