达摩院开发者手册
dorado技术
dorado的总体技术架构
以下的说明基于利用Dorado的MVC框架的基本开发方式:
1.Request(请求):当Client端(浏览器)发起请求时, 改请求将首先被Dorado的控制
层(Mapping)接受.
2.Dispatch(分发): 控制层会跟据用户的配置决定激活哪一个Action.
3.Forward(转向): 商业逻辑执行完成后Action将根据商业逻辑的执行结果将Request
转向给具体的视图(ViewModel). 具体的转向方式由Action的用户配置信息决定.
4.Extract(提取): 视图(ViewModel)被激活后会通过其中的Dataset对象到Module中
提取业务数据. 同时视图也会根据配置信息自动创建各种可视化的控件用于展现提取到的业务数据.
5.Response(反馈): 视图的Server端准备工作完成后会自动将各种信息输出到
Response对象中反馈给Client端.
注意上图中以虚线标出了dorado的MVC架构与传统MVC的不同点. 这种不同主要是由dorado强大的Client带来的.
1.由于dorado的Client不再以传统的HTML FORM作为与Server交互的途径,
而是以XML替代. XML所能构承载的信息量和复杂度远远高于HTML FORM. 所
以在dorado的开发模式中往往不在Action中直接调用业务逻辑, 而是等到
ViewModel和Module将这些XML解析成对象后再调用业务逻辑.
2.dorado的Client中除了有普通的类似FORM提交的操作之外, 还存在着一种
开发者参考手册集合说明书
DEVELOPER'S REFERENCE MANUALS
To make our users comfortable we have put all the reference Manuals at one place. So now your Reference Manuals for PERL, PHP, C, UDDI, MySQL and other programming languages is just one click away.
RECOMMENDATIONS: Bookmark this page for easy and quick access.
TUTORIALS IN PDF FORMAT:
ANT Tutorial in PDF - Download quick ANT tutorial in PDF format.
Hibernate Tutorial in PDF - Download quick Hibernate tutorial in PDF format.
Python Tutorial in PDF - Download quick Python tutorial in PDF format.
Ruby Tutorial in PDF - Download quick Ruby tutorial in PDF format.
Java Tutorial in PDF - Download quick Java tutorial in PDF format.
这九位中国人工智能领域杰出女性,你应该知道
这九位中国人工智能领域杰出女性,你应该知道
文/猿妹IT人物
李飞飞:AI没有国界,AI的福祉亦无边界李飞飞是美国斯坦福大学计算机系终身教授、人工智能实验室主任、谷歌云人工智能和机器学习首席科学家,以视觉处理方面的人工智能研究而闻名。2007 年,李飞飞带领团队创建了世界上最大的图像识别数据库ImageNet,深度学习的浪潮起了巨大的推动作用,在她2014 年的简历上,有95 篇在Nature、PNAS 等顶级期刊与会议上发表的文章;联合发表的文章有32 篇。2015-2016 年,李飞飞署名发表的论文有33 篇,还有一篇将在2017 年发表在CSCW 会议上。2017年1月4日,入职谷歌,成为了谷歌云首席科学家,上个月,更是带着谷歌AI重返中国,不过兴许有人会有疑惑,这样一个潜心搞科研的科学家怎么就加入了谷歌呢?对于这个问题,李飞飞尤其澄清自己并没有离开斯坦福,只是利用两年学术假去的Google。2017年11月13日,在去年的Google 中国开发者大会上,李飞飞宣布一个重要的消息:谷歌AI 中国中心正式成立。李飞飞则作为谷歌AI 中国中心的负责人,带领谷歌重返中国。在大会上她说:AI没有国界,AI的福祉亦无边界,而她而她本人就是那个技术和知识没有国界最好的证明李佳:领导Snapchat 的神秘力量2016 年11 月,
李佳同导师李飞飞一同加入谷歌,并负责谷歌云AI 及机器学习方面的业务,出任研发主管。在此之前,李佳凭借计算机视觉、机器学习、人工智能、移动视觉、电子商务、产品推荐、以及图像搜索等领域的创新知名李佳在加入谷歌之前是Snapchat 公司的资深高管。曾在谷歌实习,2011 年加入雅虎,2014 年成为资深研究员,开始领导雅虎实验室的视觉计算和机器学习部门。2015 年2 月,颇受年轻人欢迎的社交/视频内容软件Snapchat 为了推出新的功能组建了一只人工智能研发团队,聘请了李佳担任公司的研发主管并领导该团队。是Snapchat 的技术中坚,甚至在2016 年还被Business Insider 评选为“领导Snapchat 的神秘力量”之一。Snapchat 最近两年推出的很多新功能,比如实时换脸滤镜等,其核心技术都出自李佳的团队。例如今年4月,Snapchat 能够让用户更加便捷地把表情符号附到其它事物上(例如把一个笑脸附到猫上),以此给用户带来更加轻松愉悦的生活。周以真:空手道黑带的计算机科学家周以真(英文名Jeannette M. Wing,),美国计算机科学家。卡内基-梅隆大学教授。美国国家自然基金会计算与信息科学工程部助理部长。ACM 和IEEE 会士。2007 年至2010 年,她负责掌管国家科学基金会计算机与信息科学工程局,制定学术研究和教育资助计划,其研究提案“计算探索”邀请研究人员进行了大型的高风险类研究,并成为微软推出的类似项
Moodle平台开发者手册
文档中的章节:
1、Moodle体系结构
2、您如何参与开发
○学习活动
○主题风格
○语言
○数据库模式
○课程格式
○文档和文章
○参与缺陷修正
1.Moodle体系结构
从一个系统管理员的角度,Moodle被设计为遵循以下标准:
1、Moodle应该能运行在尽可能广泛的平台上
很多系统上运行的web应用程序平台是PHP和MySQL的结合,这也是Moodle 开发所使用的平台(Linux,Windows,和MacOSX)。Moodle也使用ADOdb库作为数据库抽象层,这意味着Moodle能使用超过10个不同品种的数据库(不幸的是,它还不能初始化表格在所有的这些数据库-更多的数据库支持将逐步添加)。
2、Moodle应该是容易安装、学习和修改的
最早的Moodle(1999)原型使用Zope构建-一种高级面向对象的web应用服务器。不幸的是我发现即使这项技术非常酷,但它学习起来很困难而且在系统管理上也不灵活。PHP脚本语言,在另一方面来说,是非常容易入门的(尤其是当您有其他脚本语言的编程经验时)。最早我决定不使用以类(class-oriented)为基础的设计,来保持它对于新手而言足够简洁。代码重用通过使用分类的库文件、清晰命名的函数和一致的脚本文件放置来实现。PHP也非常容易安装(几乎每个平台都有可用的二进制包)并且大多数的主机托管服务作为标准配置提供广泛的PHP支持。
3、它应该容易的进行版本升级
Moodle知道自己目前的版本(也同样知道所有插件的版本),同时一个内置的机制确保Moodle能正常的升级自己到新的版本(例如,它能修改数据库表格或添加新的字段)。如果您使用Unix下的CVS命令,您可以运行"cvsupdate-d",然后访问站点的主页来完成升级。
达梦DMETL_Develop操作手册
达梦数据交换平台
开
发
手
册
达梦数据库有限公司
2013年3月
目录
第1章开发流程插件 (1)
1.1 概述 (1)
1.2 导入依赖的插件工程 (1)
1.3 开发作业插件 (5)
1.3.1 概述 (5)
1.3.2 步骤 (5)
1.4 开发转换插件 (14)
1.4.1 概述 (14)
1.4.2 步骤 (14)
1.5开发规则插件 (24)
1.5.1 概述 (24)
1.5.2 步骤 (24)
第2章使用API编程 (36)
2.1 概述 (36)
2.2 编程示例 (38)
2.2.1编程示例之一 (38)
2.2.3 编程示例之二 (42)
2.2.4 编程示例之三 (44)
2.2.5 编程示例之四 (46)
2.2.5 总结 (47)
2.3 示例程序及其实现的功能列表 (47)
2.4 常见问题 (49)
2.4.1 Spring 包冲突问题 (49)
第3章集成DMETL服务 (50)
第1章开发流程插件
1.1 概述
DMETL采用基于OSGI架构,系统的各个模块如流程节点、转换规则、数据质量检查规则都支持插件机制,可以根据具体业务需求动态扩展。本章将通过各种例子说明DMETL的插件的开发方法。
本章中的各种例子都采用JDK6+Eclipse3.6开发,用户界面都采用SWT / JFace 库开发,学习本章前最好先了解Eclipse插件开发的基本概念和方法。
1.2 导入依赖的插件工程
开发DMETL插件之前需要先导入已有的DMETL 插件到workspace中,导入DMETL插件的方法如下:
首先在eclipse中选择File->Import,如下图所示:
Dorado 开发手册
Dorado 开发手册
目录
一.配置安装说明
1.安装jre(jre-6u7-windows-i586-p-s.exe)
2.安装jdk1.5(jdk-1_5_0_16-nb-6_1-windows-ml.exe)
3.配置JAVA_HOME
4.安装Dorado Studio
5.Eclipse+bstek (Dorado插件)
6.安装bstek.jar
7.myeclipse中配置tomcat
8.tomcat Temp目录
9.测试
二.Marmot框架
1、Marmot配置
2.配置文件说明:
3.开发流程:
一.配置安装说明
1.安装jre(jre-6u7-windows-i586-p-s.exe)
双击jre-6u7-windows-i586-p-s.exe文件,会看到下面的画面,等待几分钟。
(图1-1)
(图1-2)
选择接受按钮。看到图1-3。
(图1-3)
根据提示进行操作。等待几分钟后,看到如图1-4的画面点击完成,安装成功!
(图1-4)
2.安装jdk1.5(jdk-1_5_0_16-nb-6_1-windows-ml.exe)
双击jdk-1_5_0_16-nb-6_1-windows-ml.exe文件,具体操作参照下图2-1。
图(2-1)
图(2-2)
点击下一步即可。
图(2-3)接受条款,点击下一步。
图(2-4)指定安装目录,点击下一步。
图(2-5)点击安装。
图(2-6)安装。
图(2-7)完成安装。
3.配置JAVA_HOME
打开我的电脑的属性窗口:
切换到高级标签页并选择环境变量按钮:
在系统环境变量列表中选择新建按钮:
新达摩盘产品操作手册
语雀知识库
新达摩盘产品操作⼿册新达摩盘产品操作⽂档
⽬录
产品简介
功能解读
操作指导
⼈群圈选
⼈群扩展
⼈群洞察
⼈群投放
⼈群追踪
指标体系
产品简介
产品定位
达摩盘作为阿⾥妈妈赋能商家的数据管理平台,通过丰富的标签实现⽬标⼈群的⾃由圈选。
结合着⾏业环境变化和商家的营销痛点,达摩盘在9⽉迎来新的升级,它将在原来的产品功能基础上,提供精细化消费者运营解决⽅案,从识别⽤户—洞察⽤户—触达⽤户—追踪⽤户四个⽅⾯分别提供新的产品能⼒,满⾜商家的多样化商业诉求。
核⼼价值
识别⽤户:
通过强⼤的算法能⼒找到店铺最有价值的超级⽤户,以超级⽤户为核⼼进⾏强⼤的精准lookalike的能⼒,并⽀持按场景⾃定义⼈群拓展⽅向。
洞察⽤户:
从⾏业特征、消费者画像和营销场景维度进⾏⼈群分析,提供精细化的画像特征洞察,帮助了解消费者到底是谁,T A喜欢买什么。
触达⽤户:
通过场景洞察给予商家提供创意和⽂案的指导和建议,通过媒介触点分析指导商家选择适合的触达渠道;追踪⽤户:
追踪⼈群在多渠道上的投放效果,提供⼈群流转的强⼤追踪能⼒。⽀持基于⼈群链路追踪的精细化⼈群再营销能⼒;
功能解读
⼀、⾸⻚:增加店铺消费者的经营数据
模块⼀:对店铺消费者资产和⽤户价值有整体的概况了解
模块⼆:了解店铺购买⽤户的价值体现,以及超级⽤户的显著特征
模块三:了解店铺消费者的成⻓路径,超级⽤户的来源
选择任何⾃定义的⼈群进⾏全⽅⾯分析;分析模块有画像透视分析、⼈群价值分析和营销分析;
⽀持类⽬T GI和全⽹T GI两种模式;
⽀持进⾏两个分析⼈群的特征对⽐;
模块四:对⽐了解同⾏的购买⽤户引⼊效率和超级⽤户引⼊效率
ADempiere开发者文档
开发者手册
The ADempiere Bazaar’s Sourcecode Expose
2/5/2009
Kevin D.J White, Mario Calderon, Norbert Wessel and others
(from the Spanish account of Victor Perez, then into Genman)
内容目录
Class piere.util.GenerateModel (4)
Java-Beans (6)
持久化引擎(Persistency-Engine) (7)
piere.model.PO (7)
类POInfo (11)
类POInfoColumn (13)
业务对象类 (14)
DocAction接口 (17)
MDocType类 (19)
X_C_DocType类 (20)
单据工作流(公文流转)Documents Workflow (21)
DocumentEngine类 (21)
MWFActivity(Workflow Activity工作流活动)类 (23)
MWorkflow类 (23)
MWorkflow类 (28)
ModelValidationEngine类 (29)
VdocAction类 (30)
菜单操作显示一个窗口 (32)
APanel类 (34)
类processModalDialog (34)
MWFprocess类 (37)
类Workflowprocessor (38)
类MWFNode (39)
类processCtl (40)
发货清单Invoice预览 (42)
DataWorks(数据工场) 用户指南说明书
DataWorks(数据工场)
用户指南
用户指南
控制台
阿里云数加平台管理控制台中,可通过概览页面找到最近使用的项目,进入工作区或对其进行项目配置,也可以创建项目和一键导入CDN。
以组织管理员(主账号)身份登录DataWorks管理控制台页面。如下图所示:
页面说明如下:
最近使用:显示您最近打开的三个项目,您可单击对应项目后的项目配置或进入工作区对项目进行具体操作。您也可进入项目列表下进行相关操作,详情请参见项目列表。
常用功能:您可在此进行创建项目和一键导入CDN的操作。
阿里云数加平台管理控制台中,您可通过项目列表页面找到该账号下所有项目,进入工作区对其进行项目配置、计费转换、禁用/激活和删除操作,也可在此创建项目。
操作步骤
以组织管理员(主账号)身份登录 DataWorks(数据工场,原大数据开发套件)产品详情页。
单击 管理控制台 进入控制台概览页面。
导航至 项目列表 页面,该页面将显示此账号下的全部项目。如下图所示:
功能说明
创建项目
创建项目详情,请参见 创建项目。
项目配置
单击对应项目名称后的 项目配置,如下图所示:
在项目管理页面,可单击左侧导航栏对项目成员、数据源、调度资源和 MaxCompute 等进行管理和配置,详细介绍请参见 项目管理手册。
进入工作区
单击对应项目名称后的 进入工作区,如下图所示:
进入工作区后,即可跳转到数据开发页面进行操作。
计费转换
单击对应项目名称后的 计费转换,如下图所示:
您可以对任一项目进行计费转换的操作。
目前 MaxCompute 支持两种计费方式:按 CU 预付费和按 I/O 后付费,计费转换详情请参见 计费方式转换。有关项目的计费问题请参见 计量计费说明。
Dorado 5 入门指南
Dorado 5 入门指南
富浏览器展现中间件
快速创建Rich Internet Application的表现层解决方案
1.前言 (4)
2.简介 (5)
3.STUDIO (6)
3.1.使用说明 (6)
3.2.工程管理 (17)
3.2.1.工程管理 (17)
3.2.2.系统菜单 (17)
4.一个简单的DORADO应用界面 (17)
4.1.视图模型简介 (17)
4.2.创建DORADO应用 (20)
4.2.1.新建工程 (20)
4.2.2.数据连接配置 (22)
4.2.3.制作dorado JSP (23)
5.常用组件应用技巧 (32)
5.1.自由表单(A UTO F ORM) (32)
5.2.数据表格(D A TA T ABLE) (36)
5.3.菜单(M ENU) (53)
5.4.树(T REE) (53)
5.5.下拉框(D ROP D OWN) (53)
5.6.命令(C OMMAND) (53)
6.视图模型实现类 (53)
7.业务逻辑框架整合范例 (59)
7.1.S QL D ATASET (60)
7.1.1.预定义Sql编程 (60)
7.1.2.实现预定义Sql编程的动态性: (61)
7.1.3.运行时Sql编程 (62)
7.2.存储过程 (63)
7.3.J A V A 实体对象 (64)
7.3.1.记录集的监听器内部实现 (64)
7.3.2.系统的业务对象实现 (66)
7.3.3.通过引入第三方框架管理与组织自己业务对象的基础之上实现(如加入Spring,
Hibernate) (67)
firedac 开发手册 中文
firedac 开发手册中文
Firedac是一种功能强大的数据库开发组件,可以简化开发人员对数据库进行连接、查询和数据操作的过程。它提供了丰富的功能和灵活的API,可以支持多种数据库管理系统(DBMS),包括Oracle、MySQL、SQL Server等。
Firedac的设计理念是提供一种统一的接口,使得开发人员无论使用何种DBMS,都可以通过相同的方式进行操作。这大大简化了开发过程,减少了代码量和维护成本。Firedac采用了面向对象的设计思想,提供了一组类库和组件,方便开发人员对数据库进行连接、查询和数据操作。
Firedac具有很强的灵活性,可以根据开发人员的需求进行定制。它提供了许多可配置的选项,可以自定义连接参数、数据类型映射和缓冲设置等。Firedac还支持事务处理、数据过滤、数据检索和更新等数据库操作,满足了开发人员对数据库的各种需求。
Firedac还提供了一套完整的报表生成和导出功能。开发人员可以使用Firedac提供的报表设计器来创建和编辑报表模板,然后用
Firedac提供的导出功能将报表导出为多种格式,如pdf、excel和
html等。
Firedac还具有优秀的性能和高效的数据访问能力。它使用了多线程技术和异步数据加载机制,可以快速地获取和处理大量数据。此外,Firedac还支持数据缓存和查询优化等功能,可以进一步提升性能。
总的来说,Firedac是一种功能强大、灵活性高且性能优异的数据库开发组件。它可以极大地简化开发人员对数据库的操作,并提供了
一套完整的报表生成和导出功能。无论是初学者还是专业开发人员,
DA-66662663-LX用户手册
DA-661/662/663-LX用户手册
第三版,2008年6月
/product
P2
DA-661/662/663-LX用户手册
在使用本手册之前,请认真阅读以下使用许可协议,只能在协议条款允许的范围内使用本手册中介绍的产品。
版权声明
Copyright © 2008 Moxa Inc.
保留所有版权. 未经MOXA公司书面许可,任何公司与个人不得以任何形式复制本手册的全部或者部分内容。
商标
MOXA是Moxa公司的注册商标,本手册中的所有其他商标或注册商标归相应厂商所有。
免责声明
任何未经允许擅自更改文章中的内容与Moxa无关
Moxa所提供的文档,只作为使用参考,而不包含任何形式的对特殊使用目的的担保。Moxa保留改变和升级该手册以及手册中涉及的相关产品或程序的权利。
手册中包含的信息尽可能准确可靠。由于该手册的使用直接或间接引起的对第三方权益的损害与Moxa无关。
产品可能包含一些由于疏忽造成的技术或排版上的错误。这样的错误将会被定期修正,并在再版中避免出现这类错误。
技术支持联络信息:
P3、4
目录
第一章介绍 1-1
概述 1-2
软件架构 1-2
日志文件系统(JFFS2) 1-3
软件包 1-4
第二章开始应用 2-1
DA-661/662/663电源连接 2-2
连接DA-661/662/663与PC 2-2
串行Console端口 2-2
Telnet Console 2-3
SSH Console 2-4
配置以太网络 2-5
通过串行Console修改网络设置 2-5
使用网络方式修改网络设置 2-6
利用PCMCIA接口配置WLAN 2-6
达 摩 院 过 去 一 年 做 了 啥 ( 2 0 2 0 )
NIPS综述:阿里3部门联袂为5千人展示人工智能技术
作为世界最顶尖的机器学习和神经网络学术会议,NIPS(神经信息处理系统进展大会)在过去的两年敞开大门,邀请工业界的巨头们搭设展台,展示他们在人工智能上的研究和商业成果。今年是阿里巴巴第二次参加NIPS。相比去年,今年的阿里巴巴显得底气十足。
过去一年,阿里巴巴在人工智能商业化道路上硕果累累。7月,阿里巴巴发布了首款智能语音音箱天猫精灵,在双11当天售出了100万台;10月,阿里巴巴在杭州云栖大会上推出了AliGenie语音开放平台,以及AR开放平台;11月,刚刚从乌镇参加完世界互联网大会的马云,在上海的申通地铁上用语音交互的方式购买了一张地铁票,向其构想的城市大脑近了一步。
在学术研究上,阿里巴巴也交了份不错的答题卷。ACM MM2020会议主办权落户阿里巴巴,使其成为首个获得主办权的中国企业。城市大脑成为首批入选国家新一代人工智能开放创新平台的人工智能技术服务。在此前的IJCAI会议上,阿里巴巴有11篇论文入选,CVPR 会议入选4篇、KDD会议入选5篇,ACM MM会议入选3篇。此次NIPS 大会上,阿里巴巴有两篇论文入选Workshop并进行Oral和Poster 形式报告。
阿里巴巴在人工智能上的光鲜,归功于其底层技术。在乌镇、在上海,你看不到的研究人员和科学家们,来到了洛杉矶长滩的NIPS 大会上,展示了这些技术孵化的全过程。阿里巴巴iDST院长金榕、
阿里巴巴人工智能实验室的高级专家张硕、阿里巴巴搜索事业部的研究员李欣博士分别开设了迷你研讨会,介绍阿里巴巴在人工智能领域的创新。
Dream型开发板用户手册
DreamⅠ使用手册
★性能特色★
·主板采用SMT工艺生产,全优质贴片电阻、电容焊接,美观+实用+质量。
·为主板配有底座,保护主板。使用更安全、放心。
·外接电源接口和USB供电接口,多种供电选择。
·标准10PinISP程序下载接口,直接程序下载,硬件仿真,无需另购编程器。方便+省时+省钱。
·外扩I/O口,方便使用。
·为主板配备丰富的实验例程,详细的程序说明。
★产品配置★
一.主板配置
1.MCU:AT89S52,工作频率11.0592MHZ。
2.LED:四位八段数码管+流水灯<8×L ED)+一个串口通信指示灯+一个电源指示灯。
3.LCD:支持12864和1602液晶模块。
4.按键:4*4矩阵键盘,四个中断按键,一个手动复位按键和一个带自锁功能的电源开关按键。
5.蜂鸣器:可以作为报警器或播放音乐。
6.I2C:24C02,4K存储空间。
7.温度传感器:18B20,实时的温度监控。
8.红外接收头:可以在数码管或液晶上显示接收到的红外数据或者红外数据的解码结果。
9.串口:MAX232采用优质贴片电阻和贴片胆电容,性能稳定。10.程序下载端口:标准10PinISP程序下载接口。
11.I/O口:I/O口全部全部用排针外扩并标识,方便扩展用。12.两个电源接口:一个USB供电口和一个外接电源接口。
二.主板附件
1.五伏外接电源:可以直接从220伏电源为实验板供电。
1.USB线:可以从电脑主机为实验板供电。
3.串口线:1.5M优质双母头串口线,可以用于实验板与PC机之间的通信实验。
4.ISP下载线:该线采用SMT工艺制作,性能稳定。
dm 程序员手册
dm 程序员手册
DM程序员手册是一本针对DM语言编程的指南,旨在帮助程序员更好地理解和掌握DM语言的特点和使用方法。DM语言是一种基于C 语言的编程语言,主要用于开发MUD游戏。下面将从DM语言的特点、编程技巧和实践经验三个方面来介绍DM程序员手册。
一、DM语言的特点
DM语言是一种基于C语言的编程语言,具有以下特点:
1.面向对象:DM语言支持面向对象编程,可以使用类、对象、继承等概念来组织代码。
2.动态类型:DM语言是一种动态类型语言,变量的类型可以在运行时确定。
3.事件驱动:DM语言是一种事件驱动语言,程序员可以通过注册事件处理函数来响应各种事件。
4.内存管理:DM语言的内存管理由垃圾回收机制自动完成,程序员不需要手动管理内存。
二、编程技巧
1.合理使用面向对象编程:DM语言支持面向对象编程,程序员可以使用类、对象、继承等概念来组织代码。合理使用面向对象编程可以使代码更加清晰、易于维护。
2.避免过度使用全局变量:DM语言中全局变量的使用会导致代码的可读性和可维护性降低,因此应该尽量避免过度使用全局变量。
3.使用事件驱动编程:DM语言是一种事件驱动语言,程序员可以通过注册事件处理函数来响应各种事件。合理使用事件驱动编程可以使代码更加简洁、高效。
4.注意内存管理:DM语言的内存管理由垃圾回收机制自动完成,程序员不需要手动管理内存。但是程序员仍然需要注意内存泄漏等问题,以确保程序的稳定性和性能。
三、实践经验
1.代码注释:DM语言的代码注释非常重要,可以帮助其他程序员更好地理解代码的意图和实现方法。
DoraCMS开发指南之欧阳治创编
DoraCMS开发指南
DoraCMS开发指南1
一、 DoraCMS 安装2
1.1 安装nodejs2
1.2 安装Mongodb。2
1.3 运行DoraCMS3
1.3.1启动mongodb3
1.3.2 插入初始数据4
1.3.3运行DoraCMS5
1.3.4 访问地址6
二、 DorCMS 开发7
2.1 配置文件7
2.2 关于路由11
2.3 关于模板11
2.4 实体类13
2.5 用到的插件15
2.6 关于编码16
三、总结16
四、FAQ17
一、DoraCMS 安装
1.1 安装nodejs
DoraCMS 是基于Nodejs 开发的,所以要想正常运行DoraCMS 需要nodejs环境。在Nodejs官网(https:///) 根据电脑版本下载对应的安装文件进行安装,安装完成后,打开命令窗口执行 node -v,如果出现版本号,证明安装成功。我的电脑是64位版本,安装了重启之后才生效。
1.2 安装Mongodb。
DoraCMS 使用的是Mongodb 的数据库,至于Mongodb 的特点和nosql的优势在此就不做详细描述了。安装方法很简单,到官网
(https:///) 下载对应版本,直接安装就可以了。这里有一点需要注意的是,如果你安装在D盘,安装完成后,在D盘根目录下创建文件夹 data ,不然启动mongo会提示数据库
路径错误,当然你也可以通过命令启动mongodb 来指定数据库的路径,如果你不想麻烦,就照我说的处理就可以了。
1、在本地盘建立一个文件夹(最好英文名称),通过svn checkout 出DoraCMS的代码,项目地址:https:///doramart/DoraCMS,svn地址:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
以下技术手册内容摘自《深度学习与图像识别:原理与实践》,目
标检测章节,如果读者需要系统的学习图像识别,可阅读《深度学习与
图像识别:原理与实践》全书。
目标检测
本文首先会介绍目标检测的概念,然后介绍一种简化了的目标检测
问题——定位+分类以及它存在的问题,最后由浅入深逐步进入到目
标检测常用的模型及方法,如Faster R-CNN、SSD 等。这个过程中
会涉及很多细节的概念和知识点。本文针对SSD 算法给出了PyTorch
版的代码,大家也会在这里看到一些细节知识点的实现方法。
学习时,建议先根据顺序把所有检测方法浏览一遍,有一个初步的
了解;然后再深入研究SSD 部分的代码,理解其中涉及的很多细节将
有助于大家深入理解一些问题。学习完SSD 之后,再看一遍Faster
R-CNN 等方法,把第一遍阅读时缺失的细节补充上去,这样能帮助大
家循序渐进地深入了解目标检测算法。当然,擅长实战的读者可以直接
跳到SSD 部分看代码,实战之后再补充理论也不迟。
开始本文内容之前,我们先明确两个定义:
(1)定位+分类:对于仅有一个目标的图片,检测出该目标所处的
位置以及该目标的类别,如图(a,c)
所示。
前言
(2)目标检测:对于有多个目标的图片,检测出所有目标所处的位置及其类别,如图(b,d)所示。我们先从相对简单的定位+分类开始,而后重点介绍目标检测。学完本章之后你会发现很多图像问题就都可以解了。
(a)原图 (b)原图
(c)定位+分类 (d)目标检测
检测问题定义[9]
目录
第一章 定位+分类 6第二章 目标检测 8 2.1 R-CNN 10 2.2 Fast R-CNN 14 2.3 Faster R-CNN 17 2.4 YOLO 21 2.5 SSD 23第三章 目标检测的产业应用实践 25附录 29
第一章 定位+分类
该问题是分类到目标检测的一个过渡问题,从单纯地图片分类到分类后给出目标所处位置,再到多目标的类别和位置。接下来,我们看一下定位+分类问题的解法。
(a)分类问题 (b)定位问题
图1-1 分类问题vs定位问题[9]
分类不用多说,上一章我们以分类为例讲了卷积神经网络。在定位问题中,则需要模型返回目标所在的外接矩形框,即目标的(x,y,w,h)四元组。接下来介绍一种比较容易想到的思路,把定位当做回归问题,具体步骤如下:
(1)训练(或下载)一个分类模型,例如AlexNet、VGGNet或ResNet;
(2)在分类网络最后一个卷积层的特征层(feature map)上添加“regression head”,如图1-2所示;补充说明:神经网络中不同的“head”通常用来训练不同的目标,每个“head”的损失函数和优化方向不同。如果想让一个网络实现多个功能,通常是在神经网络后面接多个不同功能的“head”。
(3)同时训练“classification head”和“regression head”,为了同时训练分类和定位(定位是回归问题)两个问题,最终损失函数是分类和定位两个“head”产生损失的加权和。
(4)在预测时同时使用分类和回归head得到分类+定位结果。这里强调一下,
第一章 定位+分类 < 7
分类预测出的结果就是C个类别,回归预测的结果可能有两种:一种是类别无关,输出4个值;一种是类别相关,输出4*C个值,这要看读者想要哪种结果了。
图1-2 分类+定位网络结构设计[9]
第二章 目标检测
目标检测需要获取图片中所有目标的位置及其类别,对于图2-1中的3张图而言,当图片中只有一个目标时,“regression head”预测4个值,当图片中有3个目标时,“regression head”预测12个值,那么当图片中有多个目标时,“regression head”要预测多少个值呢?
图2-1 使用定位+分类解目标检测存在的问题 [9]
这时根据读者已经学过的一些知识,可能会尝试用滑窗的方法来解决,如图2-2所示。但是,这里有一个问题,我们需要设计大量的不同尺度和长宽比的“滑窗”使它们通过CNN,然而这个计算量是非常巨大的。有没有什么方法能使得我们快速定位到目标的潜在区域,从而减少大量不必要的计算呢?
第二章 目标检测 < 9
图2-2 使用滑窗方法做目标检测存在的问题:滑窗的尺寸、大小、位置不同将产生非常大的计算量[9]
10 > 第二章 目标检测
学者们在这个方向做了很多研究,比较有名的是selective search方法,具体方法这里不做详细说明,感兴趣的读者可以看关于selective search的论文。大家只要知道这是一种从图片中选出潜在物体候选框(Regions of Interest,ROI)的方法即可。有了获取ROI的方法,接下来就可以通过分类和合并的方法来获取最终的目标检测结果。基于这个思路有了下面的R-CNN方法。
2.1 R-CNN
下面介绍R-CNN[1]的训练过程,整体训练流程如图2-3所示:
图2-3 R-CNN训练过程[9]
(1)选出潜在目标候选框(ROI)
objectness[10], selective search[11], category-independent object proposals[12]等很多论文都讲述了候选框提取的方法,R-CNN使用selective search的方法选出2000个潜在物体候选框。
第二章 目标检测 < 11(2)训练一个好的特征提取器
R-CNN的提出者使用卷积神经网络AlexNet提取4096维的特征向量,实际上使用VGGNet/GoogLeNet/ResNet等也都可以。细心的读者会发现,AlexNet 等网络要求输入的图片尺寸是固定的,而步骤(1)中的ROI尺寸大小不定,这就需要将每个ROI调整到指定尺寸,调整的方法有多种,可参见图2-4,其中(a)是原始ROI图片,(b)是包含上下文的尺寸调整,(c)是不包含上下文的尺寸调整,(d)是尺度缩放。
(a)(b)(c)(d)
图2-4 不同压缩方法图示
接下来,为了获得一个好的特征提取器,一般会在ImageNet预训练好的模型基础上做调整(因为ImageNet预测的种类较多,特征学习相对完善),唯一的改动就是将ImageNet中的1000个类别的输出改为(C+1)个输出,其中C是真实需要预测的类别个数,1是背景类。新特征的训练方法是使用随机梯度下降(stochastic gradient descent,即SGD),与前几章介绍的普通神经网络的训练方法相同。