Tag: 浙江捷尚视觉科技股份有限公司

浙江第三批大数据应用示范企业出炉 温州8 家企业入选

近日,浙江省经济和信息化委员会发布了第三批入选省大数据应用示范企业的名单,全省共有38 家企业入选,记者统计了解到,包括正泰、康奈、华仪等8家温企及温商企业入选。

据了解,为推动大数据产业中心建设,发挥应用示范效应,推动社会信息资源开发和大数据应用,浙江省经济和信息化委员会开展了大数据产业应用示范企业培育试点工作。

从2015 年10 月开始,公布首批共计17 家企业入选示范企业名单,去年11 月,发布了第二批入选名单,共有20 家企业入选,此次发布的是第三批入选企业。

记者了解到,此次共计8 家温企入选。这些入选企业去年主营业务收入均超过3000 万元人民币,同时兼具大数据分析、挖掘和应用服务能力,并且已经在企业生产、经营、管理中开展大数据应用,在行业内具有明显的示范效应。

此次入选温企包括正泰集团股份有限公司、浙江捷尚视觉科技股份有限公司、金卡智能集团、浙江创力电子股份有限公司、康奈集团有限公司、华仪电气股份有限公司、浙江怡联网络科技股份有限公司、杭州新湖电子有限公司。其中正泰集团、金卡智能、华仪电气、新湖电子等均为上市温企或下属企业,而捷尚视觉、创力股份、怡联网络等三家则已成功挂牌新三板。

据了解,试点企业被认定后,既能受到浙江省政府提供深化应用的政策协调和支撑,还能被支持创建省级重点企业研究院,牵头制订大数据领域国家、行业和地方标准项目等等,享受许多政策扶持。

除了此次8 家温企入选新一批大数据应用示范企业以外,此前公布的名单中也不乏温商企业。像浙江每日互动网络科技有限公司就入选省经信委大数据产业首批应用示范企业,第二批名单中,浙江绿森数码科技有限公司则榜上有名。(记者 刘海丹)

海尔创米领衔首批嘉宾公布!GTIC 2022全球AIoT智能家居峰会重启

盛夏已至,GTIC 2022 全球 AIoT 智能家居峰会正式重启!智东西诚邀您共话 AloT 智能家居创新实践与未来趋势。

未来十年,是国内 AloT 发展的黄金十年。与此同时,中国智能家居自 2020 年进入 AloT 赋能期后,在 2021 年也步入发展快车道。

IDC 报告显示,2021 年上半年中国智能家居设备市场出货量约 1 亿台,同比增长 13.7%;2021 全年出货量预计 2.3 亿台,同比增长 14.6%。预计未来五年中国智能家居设备市场出货量,将以 21.4% 的复合增长率持续增长,2025 年市场出货量将接近 5.4 亿台。

智能家居设备目前正处于智能互联为主的阶段,未来将深度融合大数据、机器学习等技术达到以用户为中心的主动智能阶段。全屋智能的推广将成为拉动智能家居设备市场持续增长的重要动力之一。

在 AloT 的推动之下,从底层芯片、AI 技术,到操作系统、云服务,智能家居产业链正在加速升级,乃至重塑格局。而平台型企业也快速进行赛道卡位,凭借品牌、技术、资金等优势构筑生态体系。尤以华为推出的全场景分布式 OS 鸿蒙最具变革性,能够为不同设备的智能化、互联与协同提供统一的语言,有望破解智能家居乃至物联网生态碎片化的瓶颈。

在上述背景下,智一科技旗下智能产业第一媒体智东西将于 2022 年 6 月 30 日下午,在线 全球 AloT 智能家居峰会。峰会将以「新变量 新未来」为主题,并邀请科技巨头、知名家电品牌厂商,AI 技术提供商、云服务商、芯片企业等共聚一堂,共同探讨 AloT 智能家居的创新实践与未来趋势。

今天,我们将为大家揭晓首批 4 位重磅参会嘉宾,他们分别是海尔智家副总裁、海尔全屋智慧总裁邓邱伟、创米数联合伙人&首席技术官(CTO)杨洋、安谋科技智能网联业务线联合负责人商德明、腾讯云高级解决方案架构师卢平。

邓邱伟,海尔智家副总裁、海尔全屋智慧总裁,曾担任 360 智能总裁,雷柏科技副总裁。先后荣获:深圳坪山区长奖、深圳市高层次人才、深圳市创新人才奖、(北京)环球科技 Global Tech 年度人物、中国智造追梦人–影响中国智造十大管理实践人物等奖项。

近年来主攻智能家居和创新技术领域,取得了多项关键突破,行业贡献突出,获得国家技术专利 100 余项,主导和参与多项国家级、省部级项目,是国家科技支撑计划 2015 年度项目电子产品申报单位负责人。

杨洋,中科大硕士,曾任 IBM 中国研究院高级研究员、微软亚洲工程院资深工程师,浙江捷尚视觉科技 CTO 等职,在人工智能,知识管理,计算机视觉和物联网领域均有深厚经验。

2014 年,杨洋作为合伙人之一加入创米数联智能科技发展股份有限公司,现任创米数联 CTO,负责统筹创米数联技术布局和云端软件技术研发,围绕公司发展战略,构建物理安全、环境安全、系统安全的智能家居产品体系。

商德明,安谋科技智能网联业务线联合负责人,拥有多年通信与半导体行业经验,曾供职于爱立信、摩托罗拉、北电、Tekelec 和 Sequans 等国际公司,从事技术、市场、销售和业务拓展工作。

他于 2016 年加入 Arm China,先后推进游戏全局光软件、计算机视觉物体检测、本地色调映射和 ISP 等产品在亚太地区的落地。商德明先生现在负责安谋科技智能网联业务线,推动新一代计算平台的业务发展和生态建设。

卢平,腾讯云高级解决方案架构师。从事云计算相关研发、咨询工作多年,熟悉公有云产品及云上业务架构设计。目前在腾讯云主要负责消费电子领域的拓展,基于腾讯云产品及生态优势助力行业发展。熟悉 IPC、智能家居、智能门锁等细分领域的行业发展趋势及技术实现路线,帮助多家企业完成云平台的架构优化升级、硬件的智能化改造。

GTIC 是智⼀科技旗下专注新兴科技产业的顶级峰会品牌,2016 年启动以来,已经在北京、上海、重庆等国家中心城市成功举办了九场,并与上海国际汽车工业展览会、中国家电及消费电子博览会 AWE 等全球知名展会进行了深度合作。

GTIC 聚焦的技术领域覆盖人工智能、AI 芯片、自动驾驶、AR/VR 等,深度触及的行业包括汽车、家居、消费电子、安防、半导体、工业等等。

自 2017 年起,智一科技与 AWE 已经携手合作三年,面向人工智能、AI 芯片等新兴技术领域举办了三场高规格的产业峰会。

2020 年 12 月,智一科技在由中国光学工程学会举办的 2020 年光电子产业博览会同期,还成功主办了 GTIC 2020 AI 芯片创新峰会。

此外,智一科技曾携手上海市国际展览有限公司(简称 SIEC)于 2019 年 4 月在第十八届上海国际汽车工业展览会(简称上海车展)同期举办 GTIC 2019 全球智能汽车供应链创新峰会。2021 年,智一科技继续与 SIEC 合作,于第十九届上海国际汽车工业展览会(简称上海车展)同期举办 GTIC 2021 自动驾驶创新峰会。

距离峰会正式举行还有 2 周时间,目前大会的观众报名通道已经全面开启。大家可以扫描下方二维码添加小助手进行报名,或点击底部【阅读原文】进入官网也可报名。

本次峰会将以线上直播的方式进行。报名时,您可选择是否加入 AIoT 智能家居峰会交流群,届时,交流群将邀请嘉宾加入。此外,入群后您还有机会与更多同行认识和交流,能够获得嘉宾可对外的演讲 PPT。

公司地址:北京市朝阳区酒仙桥路4号751 D·Park正东集团院内 C8座105室 极客公园

解析:深度学习框架Caffe源码

雷锋网按:本文作者薛云峰,主要从事视频图像算法的研究,于浙江捷尚视觉科技股份有限公司担任深度学习算法研究员。

相信很多小伙伴和我一样使用了很长时间的Caffe深度学习框架,也非常希望从代码层次理解Caffe的实现从而实现新功能的定制。本文将从整体架构和底层实现的视角,对Caffe源码进行解析。

Caffe框架主要有五个组件,Blob,Solver,Net,Layer,Proto,其结构图如下图1所示。Solver负责深度网络的训练,每个Solver中包含一个训练网络对象和一个测试网络对象。每个网络则由若干个Layer构成。每个Layer的输入和输出Feature map表示为Input Blob和Output Blob。Blob是Caffe实际存储数据的结构,是一个不定维的矩阵,在Caffe中一般用来表示一个拉直的四维矩阵,四个维度分别对应Batch Size(N),Feature Map的通道数(C),Feature Map高度(H)和宽度(W)。Proto则基于Google的Protobuf开源项目,是一种类似XML的数据交换格式,用户只需要按格式定义对象的数据成员,可以在多种语言中实现对象的序列化与反序列化,在Caffe中用于网络模型的结构定义、存储和读取。

下面介绍Caffe中的基本数据存储类Blob。Blob使用SyncedMemory类进行数据存储,数据成员 data_指向实际存储数据的内存或显存块,shape_存储了当前blob的维度信息,diff_这个保存了反向传递时候的梯度信息。在Blob中其实不是只有num,channel,height,width这种四维形式,它是一个不定维度的数据结构,将数据展开存储,而维度单独存在一个vector类型的shape_变量中,这样每个维度都可以任意变化。

来一起看看Blob的关键函数,data_at这个函数可以读取的存储在此类中的数据,diff_at可以用来读取反向传回来的误差。顺便给个提示,尽量使用data_at(const vector& index)来查找数据。Reshape函数可以修改blob的存储大小,count用来返回存储数据的数量。BlobProto类负责了将Blob数据进行打包序列化到Caffe的模型中。

接下来介绍一种设计模式Factory Pattern,Caffe 中Solver和Layer对象的创建均使用了此模式,首先看工厂模式的UML的类图:

如同Factory生成同一功能但是不同型号产品一样,这些产品实现了同样Operation,很多人看了工厂模式的代码,会产生这样的疑问为何不new一个出来呢,这样new一个出来似乎也没什么问题吧。试想如下情况,由于代码重构类的名称改了,或者构造函数参数变化(增加或减少参数)。而你代码中又有N处new了这个类。如果你又没用工厂,就只能一个一个找来改。工厂模式的作用就是让使用者减少对产品本身的了解,降低使用难度。如果用工厂,只需要修改工厂类的创建具体对象方法的实现,而其他代码不会受到影响。

举个例子,写代码少不得饿了要加班去吃夜宵,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory。

接下来切回正题,我们看看Solver这个优化对象在Caffe中是如何实现的。SolverRegistry这个类就是我们看到的上面的factory类,负责给我们一个优化算法的产品,外部只需要把数据和网络结构定义好,它就可以自己优化了。

这六种产品的功能都是实现网络的参数更新,只是实现方式不一样。那我们来看看他们的使用流程吧。当然这些产品类似上面Product类中的Operation,每一个Solver都会继承Solve和Step函数,而每个Solver中独有的仅仅是ApplyUpdate这个函数里面执行的内容不一样,接口是一致的,这也和我们之前说的工厂生产出来的产品一样功能一样,细节上有差异,比如大多数电饭煲都有煮饭的功能,但是每一种电饭煲煮饭的加热方式可能不同,有底盘加热的还有立体加热的等。接下里我们看看Solver中的关键函数。

Solver中关键的就是调用Sovle函数和Step函数的流程,你只需要对照Solver类中两个函数的具体实现,看懂上面两个流程图就可以理解Caffe训练执行的过程了。

分析过Solver之后我们来分析下Net类的一些关键操作。这个是我们使用Proto创建出来的深度网络对象,这个类负责了深度网络的前向和反向传递。以下是Net类的初始化方法NetInit函数调用流程:

Layer是Net的基本组成单元,例如一个卷积层或一个Pooling层。本小节将介绍Layer类的实现。

与Solver的创建方式很像,Layer的创建使用的也是工厂模式,这里简单说明下几个宏函数:

我们来看看大多数层创建的函数的生成宏REGISTER_LAYER_CLASS,可以看到宏函数比较简单的,将类型作为函数名称的一部分,这样就可以产生出一个创建函数,并将创建函数放入LayerRegistry。

当然这里的创建函数好像是直接调用,没有涉及到我们之前工厂模式的一些问题。所有的层的类都是这样吗?当然不是,我们仔细观察卷积类。

卷积层怎么没有创建函数呢,当然不是,卷积的层的创建函数在LayerFactory.cpp中,截图给大家看下,具体代码如下:

这样两种类型的Layer的创建函数都有了对应的声明。这里直接说明除了有cudnn实现的层,其他层都是采用第一种方式实现的创建函数,而带有cudnn实现的层都采用的第二种方式实现的创建函数。

关键函数Setup此函数在之前的流程图中的NetInit时候被调用,代码如下:

Layer的Forward函数和Backward函数完成了网络的前向和反向传递,这两个函数在自己实现新的层必须要实现。其中Backward会修改bottom中blob的diff_,这样就完成了误差的方向传导。

Caffe中的Caffe.proto文件负责了整个Caffe网络的构建,又负责了Caffemodel的存储和读取。下面用一个例子介绍Protobuf的工作方式。

4.可以看到文件夹里面生成“ *.pb.h”和“*.pb.cpp”两个文件,说明成功了

BlobProto其实就是Blob序列化成Proto的类,Caffe模型文件使用了该类。Net调用每个层的Toproto方法,每个层的Toproto方法调用了Blob类的ToProto方法,这样完整的模型就被都序列化到proto里面了。最后只要将这个proto继承于message类的对象序列化到文件就完成了模型写入文件。Caffe打包模型的时候就只是简单调用了WriteProtoToBinaryFile这个函数,而这个函数里面的内容如下:

Caffe网络的构建和Solver的参数定义均由此类型文件完成。Net构建过程中调用ReadProtoFromTextFile将所有的网络参数读入。然后调用上面的流程进行整个caffe网络的构建。这个文件决定了怎样使用存在caffe model中的每个blob是用来做什么的,如果没有了这个文件caffe的模型文件将无法使用,因为模型中只存储了各种各样的blob数据,里面只有float值,而怎样切分这些数据是由prototxt文件决定的。

Caffe的架构在框架上采用了反射机制去动态创建层来构建Net,Protobuf本质上定义了graph,反射机制是由宏配合map结构形成的,然后使用工厂模式去实现各种各样层的创建,当然区别于一般定义配置采用xml或者json,该项目的写法采用了proto文件对组件进行组装。

以上为Caffe代码架构的一个总体介绍,希望能借此帮助小伙伴找到打开定制化Caffe大门的钥匙。本文作者希望借此抛砖引玉,与更多期望了解Caffe和深度学习框架底层实现的同行交流。