博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【译】Apache spark 2.4:内置 Image Data Source的介绍
阅读量:7136 次
发布时间:2019-06-28

本文共 1162 字,大约阅读时间需要 3 分钟。

Apache spark 2.4:内置 Image Data Source的介绍

[原文链接]()

引言

图片分类以及对象检测的深度学习框架的发展使得在apache spark急需支持图片数据处理流程,在支持图片处理流程需要考虑到以下问题:处理不同格式, 大小以及色彩的图片, 如何快速检测图片处理的正确性。

通过图片数据源提供的标准图片抽象可以解决在图片数据处理过程中遇到的大部分问题,在Apache Spark 2.3中,MMLSpark 库提供ImageSchema.readImages API(see Microsoft’s post Image Data Support in Apache Spark)来处理图片数据, 在Apache Spark 2.4中,图片数据作为内置数据源将更易使用,用户可以该内置数据源从目录中批量导入图片进行数据处理。这篇博客主要图片数据源以及如何在databricks的产品里面使用该数据源。

图片导入

首先介绍通过Image Data Source如何将图片数据导入到Spark中,下面是PySpark的代码示例, 在Scala,Java以及R语言中也存在类似的API。

image

mage Data Source路径可以支持递归路径格式,如/path/to/dir/** , 也可以指定特定的分区目录, 如/path/to/dir/date=2018-01-02/category=automobile

图片模式

图片导入到Spark中是以DataFram列的形式存在的,该列包含了以下属性:

image

其中nChannels 表示color channels的数量,对于灰度图片该配置为1,彩色图片该配置为3, mode类型是整型数据, 指定数据类型以及数据通道顺序,其代表的类型一般都会有对应的OpenCV类型,具体的对应关系如下图所示:

image

通道顺序:

通道顺序指定了图片色彩的存储顺序,例如对于红,蓝,绿三通道的图片,存在6种不同的排列顺序,大部分库使用RGB或者BGR的顺序进行存储,OpenCV采用BGR的顺序进行存储。

代码示例

Deep Learning Pipelines 0.4版本之后,使用上述图片模式代替Deep Learning Pipelines项目的图片模式,,对于Deep Learning Pipelines的开发者,新的图片模式通道顺序已经从RGB更改为BGR,因此部分API需要显示指定通道顺序,下面是构建图片分类器的python代码示例:

image

下一步

现阶段通过df.smaple对DataFrame进行抽样是没有优化的,每次抽样需要读取全部图片,下一步将通过下推抽样算子到图片数据源这一层,避免读取全部图片数据,该功能将会在DataSource V2中进行发布。

转载地址:http://vutrl.baihongyu.com/

你可能感兴趣的文章
LocalDateTime和Date互相转换
查看>>
基于Serverless架构最新应用场景详解
查看>>
[BTCC] 要“工程师”“工程师”“工程师”
查看>>
阻塞IO
查看>>
信用算力实现金融级数据服务的实践
查看>>
Xcode配置测试环境和线上环境
查看>>
三大主流软件负载均衡器对比(LVS 、 Nginx 、Haproxy)
查看>>
学习技能总结:
查看>>
高可用集群----理论
查看>>
backtrack两种开启ssh方式
查看>>
redis 目录
查看>>
C语言中const的用法
查看>>
理解inode
查看>>
我的友情链接
查看>>
Delegates (Delegate, Func, Predicate, Action and Lambda)
查看>>
快速打开Windows的大部分程序
查看>>
SSIS 系列 - Lookup 组件的使用与它的几种缓存模式 - Full Cache, Partial Cache, NO Cache...
查看>>
监测textfield输入的值得变化
查看>>
lvs简介和命令
查看>>
RPM 命令详解
查看>>