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

DataVec/运算

    博客分类:
  • dl4j
阅读更多

使用

运算,就像一个函数,帮我们执行一个转换并加载数据到数据向量。运算的概念是很底层的,这意味着大多数时间你不需要关心它们。

 

加载数据到Spark如果你正在使用Apache Spark,函数将迭代数据集并加载它到一个Spark RDD里并把原始数据转换为一个Writable。

 

import org.datavec.api.writable.Writable;
import org.datavec.api.records.reader.impl.csv.CSVRecordReader;
import org.datavec.spark.transform.misc.StringToWritablesFunction;

SparkConf conf = new SparkConf();
JavaSparkContext sc = new JavaSparkContext(conf)

String customerInfoPath = new ClassPathResource("CustomerInfo.csv").getFile().getPath();
JavaRDD<List<Writable>> customerInfo = sc.textFile(customerInfoPath).map(new StringToWritablesFunction(rr));

以上代码加载一个CSV文件到一个  2D java RDD。一旦你的RDD被加载,你可以转换它,执行连接并使用缩减器以任何方式处理数据。

 

可用的运算


AggregableCheckingOp 可聚合检查运算

[源码]

Created by huitseeker on 5/8/17.


AggregableMultiOp 可聚合多运算

[源码]

 

在相同的列上以并行方式来执行一些降维运算

Created by huitseeker on 5/8/17.


ByteWritableOp

[源码]

支持转换为字节码运算

Created by huitseeker on 5/14/17.


DispatchOp

[源码]

Created by huitseeker on 5/14/17.


DispatchWithConditionOp 有条件分派运算

[源码]

 

Created by huitseeker on 5/14/17.


DoubleWritableOp

[源码]

支持转换为双精度类型运算

 

Created by huitseeker on 5/14/17.


FloatWritableOp

[源码]

支持转换为浮点类型运算

 

Created by huitseeker on 5/14/17.


IntWritableOp

[源码]

支持转换为整型运算

Created by huitseeker on 5/14/17.


LongWritableOp

[源码]

支持转换为长整型运算

 

Created by huitseeker on 5/14/17.


StringWritableOp

[源码]

 

支持转换为TextWritable运算

Created by huitseeker on 5/14/17.


CalculateSortedRank

[源码]

计算每个实例在排序之后的排名。例如,我们可能有一些数字“分数”列,并且我们想知道每个实例按列的排序。每个实例的排名将会添加到一个新的长整型列。从0开始索引;实列将有0到数据大小减一的值。当前CalculateSortedRank只能应用在一个标准的(非序列)数据上。此外当前的实现只能在一个列上排序。

 

 

transform
public Schema transform(Schema inputSchema) 
  • 参数newColumnName是新列的名称(将包括每个实例的排名)
  • 参数sortOnColumn是用来排序的列名
  • 参数comparator是用来排序实例的比较器
outputColumnName
public String outputColumnName() 

运算应用后的输出列名

  • 返回输出列名
columnName
public String columnName() 

输出列名,这通常与输入列名一样。

  • 返回输出列名

有任何问题请联系微信 

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

     

 

 

分享到:
评论

相关推荐

    基于java 的深度学习框架DL4J

    - **张量运算**: ND4J提供了丰富的张量运算接口,类似NumPy的功能。 - **内存管理**: 为了提高性能,ND4J采用了堆外内存存储张量对象,而堆上内存仅用于存储对象的引用或指针。 - **BLAS实现**: 后端使用BLAS库进行...

    deeplearning4j:Eclipse Deeplearning4j,ND4J,DataVec等-带有GPU + Spark的JavaScala的深度学习和线性代数

    ND4J :通用线性代数库,具有500多种数学,线性代数和深度学习运算。 ND4J基于高度优化的C ++代码库LibND4J,它通过OpenBLAS,OneDNN(MKL-DNN),cuDNN,cuBLAS等库提供对CPU(AVX2 / 512)和GPU(CUDA)的支持和...

    Deep Learning A Practitioner's Approach(pdf+epub+aw3)

    它允许开发者在CPU或GPU上执行大规模的矩阵运算,是构建深度学习模型的基础。在书中,读者将学习如何利用ND4J创建和操作多维数组,以及如何实现神经网络中的基本数学操作。 DL4J(Deep Learning for Java)是构建于...

    Deeplearning4j安装部署文档

    GCC(GNU Compiler Collection)的安装也是必要的步骤,特别是在使用CUDA进行深度学习运算时。由于CUDA 8需要特定版本的GCC进行编译,因此需要确保系统中安装了正确的版本。安装GCC时,可以通过yum命令安装包含开发...

    DL4J所有jar包导入项目就可使用

    同时,DL4J还与ND4J库紧密集成,提供了高效的多维数组运算,类似于Python中的NumPy。 在使用这个压缩包时,你需要将“libs”目录下的所有jar文件添加到你的项目类路径中。这通常可以通过设置IDE的构建路径或者在...

Global site tag (gtag.js) - Google Analytics