• [热门活动] 华为数字机器人 7天训练营开营直播 ##内容回顾##
    【内容回顾】开营视频回放>>☟查看附件浏览资料☟-7天玩转华为数字机器人,智能自动化办公更敏捷!参与数字机器人7天训练营奖励多多,Switch游戏机、GT手表、智能机器人,多重好礼等你来拿!快来报名吧华为 数字 机器人 7 天训练营活动点击报名»»»
  • [热门活动] (获奖公布)【机器人7天训练营专家坐堂】华为数字机器人7天训练营专家坐堂答疑,帮你快速提升还可领取奖品!
    恭喜获奖的各位开发者请大家在5月31日前点击下方链接填写获奖信息我们会在截至日期结束之后尽快给您邮礼品如您逾期没有填写,视为主动放弃奖励,望周知获奖信息填写链接:【数字机器人7天训练营用户体验及获奖信息收集问卷】活动已结束,因符合要求的高质量问答较少,经过专家评审,获奖名单如下所示,多余名额分配到学习心得奖项中。公示5天,公示期结束后(5月16日)获奖者可在本帖填写奖品邮寄信息收集问卷:序号楼层论坛昵称微信名称16yd_234739558s*c212运气男孩Y*   华为数字机器人7天训练营活动已开启,目前进入活动期,本次活动将通过开发者动手实践,助您快速熟悉和掌握华为RPA机器人。更有结业赛帮您检验学习成果,并且奖励多多,Switch游戏机、GT手表、智能机器人,多重好礼等你来拿!华为数字机器人7天训练营点击报名»»» 本次训练营课程由浅入深,知识点全面,即学即用,如您在学习的过程中,有任何问题,可以通过本帖,与专家互动交流,助您轻松学习RPA机器人。【活动时间】4月21日-5月30日【回复内容要求】1.可以提出您在课程学习中产生的任何疑问或者问题,也可以是您产生的深刻思考,我们统统欢迎;2.禁止抄袭或复制别人的任何内容;3.回帖时请务必留下你的微信昵称和华为云账号。示例:华为云账号:grandmaster 微信:华为云小助手01问题:看到RPA很多举例都和数据获取有关,这类业务有点类似于爬虫,爬虫是不是一种RPA。还是必须是一个完善的机器人系统才能叫RPA【奖励说明】活动结束后,由专家挑选出5位优秀提问开发者进行奖励。无线鼠标1个其他事宜请参考【活动页面规则】 及【华为云社区常规活动规则】 。【华为数字机器人7天训练营】课程任务直通车:【 机器人 7天 训练营打卡帖】参与华为数字机器人7天训练营每日任务打卡,大奖等你来拿~ 【机器人7天训练营学习心得】华为数字机器人7天训练营学习心得征集【华为数字机器人7天训练营】活动页点击查看
  • [热门活动] (获奖公布)【机器人7天训练营学习心得】华为数字机器人7天训练营学习心得征集
    恭喜获奖的各位开发者请大家在5月31日前点击下方链接填写获奖信息我们会在截至日期结束之后尽快给您邮礼品如您逾期没有填写,视为主动放弃奖励,望周知获奖信息填写链接:【数字机器人7天训练营用户体验及获奖信息收集问卷】活动已结束,经过专家评审,获奖名单如下所示,公示5天,公示期结束后(5月16日)获奖者可在本帖填写奖品邮寄信息收集问卷:序号楼层获奖人论坛昵称微信名称13yd_291721215Y*ngL223yd_282044131小*350小丙张嘎小**嘎454hw16621059502i*514、21、36、42、45、63、66、68椰风海韵灵气椰*海*灵气~665山野千里山*千里776f8595734黎*恒826、27、32、43、44、48、55小糖饼最甜呀小*饼最*呀华为数字机器人7天训练营活动已开启,目前进入活动期,本次活动将通过开发者动手实践,助您快速熟悉和掌握华为RPA机器人。更有结业赛帮您检验学习成果,并且奖励多多,Switch游戏机、GT手表、智能机器人,多重好礼等你来拿!快来报名吧华为数字机器人7天训练营点击报名»»» 【学习心得反馈截止5月5日】本次训练营课程由华为一线人员亲授,共分7章的课程,分别如下:第1章 华为RPA安装配置第2章 UI录制第3章 编排基础第4章 网页自动化第5章 Excel自动化第6章 Word自动化第7章 Email自动化 现针对以上7章内容征集学习心得,并有礼品相送~【活动时间】4月21日-5月5日【学习心得要求】1.每篇学习心得字数要求≥100字;2.内容要求与训练营对应阶段课程内容相关;3.内容原创不可抄袭;4.回帖时请务必留下你的华为云账号、微信昵称和学习心得对应的阶段。示例:华为云账号+微信昵称+学习心得(往期活动优秀学习心得,供参考)【奖励说明】活动结束后,每阶段由专家挑选出5位优秀开发者进行奖励。《ModelArts人工智能应用开发指南》1本其他事宜请参考【活动页面规则】 及【华为云社区常规活动规则】 。 【学习心得反馈截止5月5日】【华为数字机器人7天训练营】课程任务直通车:【 机器人 7天 训练营打卡帖】参与华为数字机器人7天训练营每日任务打卡,大奖等你来拿~【机器人7天训练营专家坐堂】华为数字机器人7天训练营专家坐堂答疑,帮你快速提升还可领取奖品!【华为数字机器人7天训练营】活动页点击查看
  • [7天实战营] 【代码重构每日打卡】每日课程打卡,赢取课程奖励!
    14天代码重构实战营活动已开启,目前进入招募期,本次活动将通过开发者动手实践,助您快速熟悉和掌握代码重构。更有结业考试帮您检验学习成果,并且奖励多多,华为无线耳机、智能摄像头、华为手环等多重好礼等你来拿!快来报名吧14天代码重构实战营活动点击报名»»» 【打卡截止5月5日】完成打卡任务,将有机会获得码豆、数据线、手持风扇和华为智选 海雀AI全景摄像头等多重豪礼哦~活动参与流程  Step1. 请点击链接,先报名活动14天代码重构实战营活动点击报名»»» Step2. 添加群助手好友并回复“代码重构”,免费入群!Step3. 入群后,群助手会通知开课时间(4月13日起); 开课后,请按照节奏学习视频课程,完成每日打卡任务(打卡任务完成后,请在本帖回复截图,day1打卡直播课回复报名截图,错过报名时间的回复观看截图) 活动时间  招募期:2022年04月01日 至 2022年04月12日训练期:2022年04月13日 至 2022年04月27日结业赛:2022年04月28日 至 2022年05月17日课程大纲  专家介绍活动奖励活动规则1.活动参与方式:招募期流程:(1)注册华为云中国站账号并登录;(2)点击活动页中“立即报名”按钮跳转至报名页,先填写报名表;(3)扫描活动详情里的二维码,添加社群助手微信,回复“代码重构”,即可入群 训练期流程:(1)微信社群助手每日发布当日课程内容及规则,学员完成任务并打卡成功,获得阶段性奖励。    训练期内打卡规则:(1) 打卡时间:每日0:00~23:59;(2) 打卡方式:每日完成课程后,按要求在本帖上传一张截图作为打卡凭证,即可完成打卡,格式要求如下:Step1:请观看当天开放课程”;Step2:按照要求回复100%看完的进度条;day1打卡直播课回复报名截图,错过报名时间的回复观看截图;Step3:按以下格式在打卡贴内回复完成后的打卡截图:第一行:DayX(X=1到14)+华为云账号+微信昵称            (打卡作业截图)eg:Day1+grandmaster+华为云小助手01      (打卡作业截图)(3) 打卡须知:① 打卡截图需按要求截图,社群助手将会每日提供打卡示例;② 打卡截图中需显示华为云中国站账号,且必须为当日操作截图;③ 采用闯关打卡模式,每日只计算一次有效打卡;④ 若当日未进行打卡,训练期内设置3次补打卡机会,超过3次不可再补打卡;⑤ 社群助手将对每日的打卡内容进行审核,审核周期为3~5个工作日,未按照要求上传截图的打卡,将被视为无效打卡,不计入打卡天数。2.训练期内评奖方式:(1)完成第1天打卡,每人可获得500码豆,码豆最多发放20万,数量有限先到先得。(2)连续完成3天打卡可获得抽奖机会,奖品为三合一数据线,奖品数量上限为30份,中奖概率(≤100%)为“30/完成连续打卡3天任务的总人数”。(3)连续完成7天打卡可获得抽奖机会,奖品为手持风扇,奖品数量上限为10份,中奖概率(≤100%)为“10/完成连续打卡7天任务的总人数”。(4)连续完成14天打卡可获得抽奖机会,奖品为华为智选 海雀AI全景摄像头,奖品数量上限为3份,中奖概率(≤100%)为“3/完成连续打卡14天任务的总人数”。本次活动幸运奖将采用巨公摇号平台(https://www.jugong.wang/random-portal/)进行抽取,相关奖项将由华为云社区工作人员进行评选,如您对评奖方式有异议,请勿参加本次活动。3.奖品发放说明:每位参加活动的用户理解并同意,为联系获奖用户以及奖品发放的需要,用户须在参与活动之时提供诸如姓名、联系方式、电子邮箱、通讯地址等真实个人信息,活动主办方将仅为前述目的以及适用法律规定的最小限度内收集和使用用户的个人信息,本次活动所收集的个人信息将在活动结束后删除。(用户在向华为云提交个人信息之前,应阅读、了解华为云《隐私政策声明》;用户参加本活动视为理解并同意华为云《隐私政策声明》,华为云《隐私政策声明》网页地址如下:https://www.huaweicloud.com/declaration/sa_prp.html )。获奖用户在领奖界面填写获奖信息,活动结束且用户填写完整领奖信息后14个工作日内,将统一发出奖品,所有实物奖品包邮,不额外收取任何费用。由于获奖用户自身原因(包括但不限于提供的联系方式有误、身份不符或者通知领奖后超过30天未领取等)造成奖品无法发送的,视为获奖用户放弃领奖。为保证活动的公平公正,华为云有权对恶意刷活动资源(“恶意”是指为获取资源而异常注册账号等**活动公平性的行为),利用资源从事违法违规行为的用户收回抽奖及奖励资格。本活动规则由华为云在法律规定范围内进行解释。华为云保留不时更新、修改或删除本活动规则的权利。所有参加本活动的用户,均视为认可并同意遵守《华为云用户协议 》,包括以援引方式纳入《华为云用户协议》的《可接受的使用政策》、《法律声明》、《隐私政策声明》、相关服务等级协议(SLA),以及华为云服务网站规定的其他协议和政策(统称为“云服务协议”)的约束。云服务协议链接的网址:http://www.huaweicloud.com/declaration/sa_cua.html 如果您不同意本活动规则和云服务协议的条款,请勿参加本活动。【打卡截止5月5日】14天代码重构学习任务直通车:点击进入学习心得打卡(活动期内均可提交,截止时间:截止5月5日)-课程入口: 点击查看14天代码重构实战营课程开营直播课回看链接:点击回顾直播课精彩内容,华为专家带你打开格局
  • [技术干货] Al Gallery 数据集系列合集,助你从0到1成为 AI 开发达人!
    Al Gallery——华为云 AI 知识 & 实训社区<<点此直达>>,助你从0到1成为 AI 开发达人!以下是为AI开发达人提供的丰富多样的数据集,AI开发训练的原材料。数据集名称数据简介数据标注类型适用算法8类常见生活垃圾图片数据集本数据集包含8类生活垃圾图片,分别为:厨余垃圾蛋壳、厨余垃圾水果果皮、可回收物塑料玩具、可回收物纸板箱、其他垃圾烟蒂、其他垃圾一次性餐盒、有害垃圾干电池、有害垃圾过期药物,每类图片100张。图像分类图像分类ResNet50-EI-Backbone图像分类-ResNeSt图像分类-ResNet_v1_50图像分类-Inception_v3图像分类-Inception_Resnet_V2图像分类-Res2Net_50图像分类-MobileNet_v2四类花卉图像分类小数据集本数据集包含4种类别的花卉图片,分别为:雏菊、向日葵、玫瑰、蒲公英,每类图片10张,图片总数40张。图像分类二分类猫狗图片分类小数据集本数据集包含两种类别的图片:猫和狗。图像分类23类美食图片分类数据集本数据集包含23种类别的美食图片,分别为:八宝玫瑰镜糕,凉皮,鱼,/德懋恭水晶饼,搅团,枸杞炖银耳,柿子饼,浆水面,灌汤包,烧肘子,石子饼,神仙粉,粉汤羊血,羊肉泡馍,肉夹馍,荞面饸饹,菠菜面,蜂蜜凉粽子,蜜饯张口酥饺,西安油茶,贵妃鸡翅,醪糟,金线油塔。图像分类10类常见美食图片数据集本数据集包含10种美食图片,分别为:冰激凌、鸡蛋布丁、烤冷面、芒果班戟、三明治、松鼠鱼、甜甜圈、土豆泥、小米粥、玉米饼,每类图片500张。图像分类四类美食图片分类小数据集本数据集包含4种类别的美食图片,分别为:柿子饼、肉夹馍、凉皮、灌汤包,每类图片10张,图片总数40张。图像分类花卉识别数据集数据集中包含了3669张花卉图片及其标注信息,包括daisy、dandelion、roses、sunflowers、tulip五种类型花卉。图像分类花卉识别口罩检测数据集本数据集包含291张口罩检测的图片。物体检测物体检测YOLOv3_ResNet18物体检测-FasterRCNN_ResNet50物体检测-RetinaNet_ResNet50钢筋检测数据集本数据集包含250张钢筋检测的图片。物体检测物体检测YOLOv3_Darknet53物体检测-SSD_VGG物体检测-物体检测-SSD-MobileNet- v1 PPN物体检测-RetinaNet_ResNet50数据集名称数据简介所属大赛汽车零部件表面缺陷识别数据集2021数字化转型创新应用大赛·创客赛道竞赛复赛数据集“华为云-东吴杯”2021数字化转型创新应用大赛·创客赛道2021数字化转型创新应用大赛·创客赛道竞赛初赛数据集开学季!“互联网+”AI创新实践赛数据集数据总共包含从2600位被试中基于若干脑图谱提取出的灰质体积 (Grey Matter Volume, GMV)和平均皮层厚度 (Cortical Thickness, CT)。被试标签分为AD(Alzheimer Disease)、MCI(Mild Cognitive Impairment)、NC (Normal Control)。使用的脑图谱包括但不限于AAL、Gordon、MIST、Schaefer。说明文件中包含了被试的基本信息,包括年龄、性别、标签以及预处理时的图像信息(分辨率、全脑体积等)。开学季!“互联网+”AI创新实践赛爱(AI)美食--10类常见美食图片数据集该数据集为华为云AI大赛入门赛《爱(AI)美食·美食图片分类》竞赛数据集。该数据集包含10种美食图片,分别为:冰激凌、鸡蛋布丁、烤冷面、芒果班戟、三明治、松鼠鱼、甜甜圈、土豆泥、小米粥、玉米饼,每类图片500张。爱(AI)美食·美食图片分类2020无人车挑战杯竞赛数据集该数据集为《2020第二届华为云人工智能大赛 · 无人车挑战杯》竞赛数据集(海选赛)。该数据集包含了红灯、绿灯、黄灯、人行横道、限速标志、解除限速标志六种类型图片,图片未经过标注,使用前需使用ModelArts数据标注模块完成数据的标注,然后再使用标注后的数据集训练目标检测模型。2020第二届华为云人工智能大赛 · 无人车挑战杯红绿灯、斑马线、限速、解限速数据集本数据集为无人车挑战杯大赛供参赛选手使用的训练集,包含红灯、绿灯、黄灯、人行横道、限速标志、解除限速标志六种类型图片。华为云人工智能大赛 · 无人车挑战杯化合物-蛋白质相互作用(CPI)识别数据集“华为云杯”2021人工智能应用创新大赛·创客赛道竞赛数据集“华为云杯”2021人工智能应用创新大赛·创客赛道竞赛西安旅游主题图片数据集该数据集为《“华为云杯”2019人工智能创新应用大赛》竞赛数据集(初赛)。数据集包含了西安热门景点、美食、特产、民俗、工艺品五大类图片。“华为云杯”2019人工智能创新应用大赛街景图像语义分割数据集该数据集为《华为云杯“云上先锋”·AI挑战赛》竞赛数据集,数据集为城市街景图像,包含路面、人、车辆、建筑、交通标志、植物、天空等物体。华为云杯“云上先锋”·AI挑战赛交通流量预测数据集本数据集为深圳开放数据应用创新大赛数据分析赛·交通流量预测竞赛数据集深圳开放数据应用创新大赛数据分析赛·交通流量预测遥感卫星影像数据集该数据集为“华为云杯”2020人工智能创新应用大赛数据集。赛题任务:基于高分辨可见光遥感卫星影像,提取复杂场景的道路与街道网络信息,将影像的逐个像素进行前、背景分割,检测所有道路像素的对应区域。“华为云杯”2020人工智能创新应用大赛
  • [分享交流] 多通道信号分析软件系统
    多道信号分析软件系统  简介 1  数据文件   支持*.edf、*.bdf、*.cnt、*.eeg、*.wav、*.dss等信号数据文件格式。2  波形操作   显示起点、显示页长度、波峰标注、事件段标注、波形测量等。3  信号处理   信号平滑、FIR滤波、梳状滤波、小波变换、经验模式分解、信号变换、匹配滤波、事件和波峰检测等。4  信号分析   功率谱估计、特征参数计算、自相关函数估计、趋势图计算等。5  声音分析   声音包络检测、选段播放、录音、趋势图等。6  医学信号分析   心电、呼吸、脉搏波、脑电、趋势图、HRV、ERP分析等。7  工具箱   特殊函数计算、曲线拟合、图像浏览、三维图形、特征参数机器学习等。更多说明信号处理与分析 → 特征参数提取 → 机器学习决策 → 数据可视化多通道信号分析软件系统生物医学信号处理与分析软件系统设计曲线拟合软件离散小波变换用于信号滤波多维特征参数机器学习算法多维特征参数机器学习软件Kohonen自组织特征映射神经网络(环形和球面形网络)矩阵的三维图形显示软件图片浏览软件工具主成分分析(K-L变换)与信号的分解与合成(滤波)信号的样本熵序列计算信号的双谱分析信号的经验模态分解(EMD)希尔伯特(Hilbert)变换信号瞬时频率计算给定概率分布的随机变量仿真信号的特征参数计算数据分布点纹图多通道信号数据压缩存储图像处理基本算法及软件简介信号功率谱估计特殊函数计算器滤波器设计、自适应滤波、匹配滤波方法离散正交变换及其应用短时傅里叶变换时变功率谱分析数值矩阵的图形表示
  • [其他] 经过训练的AI能不能学会品酒呢
    说到训练,经过训练的AI能不能学会品酒呢? 2月1日发表在《IEEE传感器杂志》(IEEE Sensors Journal)上的一项研究描述了一种新型电子鼻,它在分析威士忌时出人意料地准确,而且只需“闻”一下,就能以95%以上的准确率识别威士忌的品牌。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/8/1649408196428335763.png) 论文链接:https://ieeexplore.ieee.org/document/9701291 AI品酒,准确率堪比专业仪器 这项研究是由中国和澳大利亚的学者合作完成的,当然,做这项研究也不是为了在酒局中显摆,而是实实在在为了打击假酒。 威士忌是全球最受欢迎的酒精饮料之一,预计2018年国际市场规模为579.6亿美元,到2025年预计价值为896亿美元。 由于这个巨大的市场规模,威士忌市场也存在非常多的造假。 研究人员开发这款电子鼻,目的就是为了区分正品的威士忌和非法的、贴假标签的或掺假的威士忌。 这款电子鼻名为Nos.e,里面有一小瓶威士忌样品。威士忌的气味被注入到一个气体传感器室中,气体传感器检测各种气味并将数据发送给计算机进行分析。然后,**通过机器学习算法提取和分析最重要的气味特征**,以识别威士忌的品牌、地区和风格。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/8/1649408225583117686.png) 在他们的研究中,研究人员对Nos.e进行了测试,用它来分析六种不同的威士忌,从Johnnie Walker Red and Black到麦卡伦(Macallan)12年单一麦芽苏格兰威士忌。 为了进行比较,他们还使用了最先进的全二维气相色谱-飞行时间质谱联用仪(GC×GC-ToFMS)分析了威士忌样品。电子鼻子只是简单地评估一种物质的整体香气特征,而GC×GC-ToFMS可以在复杂的气味混合物中识别单个化合物。虽然GC×GC-ToFMS是高度准确的,这种仪器方法也比电子鼻子更昂贵和复杂的使用。 结果显示Nos.e在识别威士忌品牌方面与全二维气相色谱-飞行时间质谱联用仪(GC×GC-ToFMS)装置相当。
  • [内容拦截申诉] 由于急着完成训练营作业,以下回帖尽快通过相关审核
    发文的版块名:昇腾论坛发文的标题名:参见下面说明:由于急着完成训练营作业,以下回帖尽快通过相关审核:(一)【CANN训练营进阶班应用课笔记】大作业附加题实战趟坑记录(基于Atlas 200DK)(连载完毕)https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=184202有 2 个回帖:(重要,需要根据此回帖整理提交作业贴的内容)(二) CANN训练营2022年度第一季-作业提交专用帖https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=181758有 1 个本人回帖:(重要,需尽快确认自己的作业是否提交有误)(三)【CANN训练营进阶班应用课笔记】大作业2实战趟坑记录(基于Atlas 200DK)(连载完毕)https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=184165有 2 个回帖。由于以上回帖多数以截图为主,内容较多,但是涉及到训练营提交作业,以及后续的整理博客需要,还烦请 审核的大大能尽快恢复为盼~~辛苦了大大们。
  • [技术干货] 前沿科技探究DeepSQL:库内AI算法(上)
    数据库DeepSQL特性实现DB4AI功能,即在数据库内实现AI算法,以更好的支撑大数据的快速分析和计算。这里提供了一整套基于SQL的机器学习、数据挖掘以及统计学的算法,用户可以直接使用SQL进行机器学习工作。Deep SQL能够抽象出端到端从数据到模型的研发过程,配合底层的引擎及自动优化,具备基础SQL知识的技术人员即可完成大部分的机器学习模型训练及预测任务。整个分析和处理都运行在数据库引擎中,用户可以直接分析和处理数据库内的数据,不需要在数据库和其它平台之间进行数据传递,避免在多个环境之间进行不必要地数据移动。一、概述DeepSQL是对openGauss DB4AI能力的增强,让对MADLib比较熟悉的数据分析师或开发者可以轻松迁移到openGauss上进行工作。DeepSQL将常用的机器学习算法封装为SQL语句,支持60多个常用算法。其中包括回归算法(例如线性回归,逻辑回归,随机森林等)、分类算法(比如KNN等)、聚类算法(比如K-means)等。除了基础的机器学习算法之外,还包括图相关的算法,比如最短路径,图形直径等等算法;此外还支持数据处理(比如PCA),稀疏向量,统计学常用算法(比如协方差,Pearson系数计算等),训练集测试集分割方法,交叉验证方法等。表 1 支持的机器学习算法 - 回归类算法算法中文名称 算法英文名称应用场景 逻辑回归Logistic Regression例如寻找某疾病的危险因素,金融商业机构需要对企业进行评估等。预测:根据模型预测不同的自变量情况下某病或某情况的发生概率。判别:实际上跟预测类似,也是根据模型判断某人属于某病或属于某种情况的概率有多大,即判断某人有多大可能是属于某病。 Cox比例风险回归Cox Proportional Hazards Regression该模型以生存结局和生存时间为因变量,可同时分析众多因素对生存期的影响,能分析带有截尾生存时间的资料,且不要求估计资料的生存分布类型。由于上述优良性质,该模型自问世以来,在医学类研究中得到广泛的应用,是迄今生存分析中应用最多的多因素分析方法。 弹性网络回归Elastic Net Regularization弹性回归是岭回归和套索回归的混合技术,它同时使用 L2 和 L1 正则化。当有多个相关的特征时,套索回归很可能随机选择其中一个,而弹性回归很可能都会选择。 广义线性模型Generalized Linear Models在一些实际问题中,变量间的关系并不都是线性的,这种情况就应该用曲线去进行拟合。  边际效应Marginal Effects提供边际效应的计算。 多类回归Multinomial Regression如果目标类别数超过两个,这时就需要使用多类回归,如疗效可能是“无效”,“显效”,“痊愈”三类。  序数回归Ordinal Regression在统计学中,序数回归是一种用于预测序数变量的回归分析,即其值存在于任意范围内的变量,不同值之间的度量距离也不同。它可以被认为是介于回归和分类之间的一类问题。例如,病情的分级(1、2、3、4级),症状的感觉分级(不痛、微痛、较痛和剧痛),对药物剂量反应的分级(无效、微效、中效和高效)等等。不同级别之间的差异不一定相等,如不痛与微痛的差值不一定等于较痛与剧痛的差值。 聚类方差Clustered VarianceClustered Variance模块调整聚类的标准误差。例如,将一个数据集合复制100次,不应该增加参数估计的精度,但是在符合独立同分布假设(Independent Identically Distributed,IID)下执行这个过程实际上会提高精度。    稳健方差Robust VarianceRobust Variance模块中的函数用于计算线性回归、逻辑回归、多类逻辑回归和Cox比例风险回归的稳健方差(Huber-White估计)。它们可用于计算具有潜在噪声异常值的数据集中数据的差异。 支持向量机Support Vector Machines(SVM)用于文本和超文本的分类、图像分类,比起传统的查询优化方案,支持向量机能够获取明显更高的搜索准确度。这同样也适用于图像分割系统。 线性回归Linear Regression应用广泛,例如经济学、金融学等。表 2 支持的机器学习算法 - 其他监督学习算法名称(中文) 算法名称(英文)应用场景 决策树Decision Tree最为广泛的归纳推理算法之一,处理类别型或连续型变量的分类预测问题,可以用图形和if-then的规则表示模型,可读性较高。 随机森林Random Forest随机森林是一类专门为决策树分类器设计的组合方法。它组合多棵决策树作出的预测。 条件随机场Conditional Random Field (CRF)条件随机场(CRF)是一种判别的,无向概率的图形模型。线性链CRF是一种特殊类型的CRF,它假定当前状态仅取决于先前的状态。在分词、词性标注和命名实体识别等序列标注任务中取得了很好的效果。  朴素贝叶斯Naive Bayes通过计算概率来进行分类,可以用来处理多分类问题,比如:**邮件过滤器。 神经网络Neural Networks拥有广泛的应用场景,譬如语音识别、图像识别、机器翻译等等。在模式识别的领域中算是标准监督学习算法,并在计算神经学中,持续成为被研究的课题。MLP已被证明是一种通用的函数近似方法,可以被用来拟合复杂的函数或解决分类问题。 k临近算法k-Nearest NeighborsK近邻分类方法通过计算每个训练样例到待分类样品的距离,取和待分类样品距离最近的K个训练样例,K个样品中哪个类别的训练样例占多数,则待分类元组就属于哪个类别。可用于:文字识别,面部识别,基因模式识别,客户流失预测、欺诈侦测。表 3 支持的机器学习算法 - 数据处理类算法 算法名称(中文)算法名称(英文)应用场景 数组操作Array Operations数组、向量操作运算,包括基础的加减乘除、幂运算、开方、cos、sin、绝对值、方差等。 主成成分分析Dimensionality Reduction (PCA)降维,计算主成分。 变量编码Encoding Categorical Variables当前支持one-hot和dummy编码技术。当需要用一组特定的预测变量与其它预测变量组作比较时,通常使用哑编码(dummy coding),与之比较的变量组称为参照组。One-hot编码与哑编码类似,两者的区别是前者为每种分类值建立数字类型的0/1指示列。在每行数据中(对应一个数据点),只有一个分类编码列的值可以为1。 矩阵操作Matrix Operations运用矩阵分解,将大型矩阵分解成简单矩阵的乘积形式,则可大大降低计算的难度以及计算量。矩阵加减乘除、最值、均值、求秩、求逆、矩阵分解(QR,LU,Cholesky),特征提取。 规范化和距离函数Norms and Distance Functions求范数,余弦相似度,向量间距离。  稀疏向量Sparse Vectors实现稀疏向量类型,如果向量中重复值较多,可以用来压缩储存节省空间。 透视图Pivot透视表或枢轴表,通常用来实现OLAP或报表系统中一类常见的行列转置需求。pivot函数能够对一个表中存储的数据执行基本行转列操作,并将汇总后的结果输出到另一个表中。使行列转置操作变得更为简单与灵活。  模式匹配Path是在一系列行上执行常规模式匹配,并提取有关模式匹配的有用信息。有用的信息可以是简单的匹配计数或更多涉及的内容,如聚合或窗口函数。 会话Sessionize会话化功能对包括事件序列的数据集执行面向时间的会话重建。定义的不活动时段表示一个会话的结束和下一个会话的开始。可以用于:网络分析,网络安全,制造,财务和运营分析。 共轭梯度法Conjugate gradient求解系数矩阵为对称正定矩阵的线性方程组的数值解的方法。 词干提取Stemming词干提取简单说就是找出单词中的词干部分,场景比如:搜索引擎建立网页主题概念。在英文网站优化作用明显,对其他语言有借鉴意义。 训练集测试集分割Train-Test Split分割数据集,把一份数据集划分成训练集和测试集,train的部分用于训练,test部分用于验证。 交叉验证Cross Validation交叉验证。 预测指标Prediction Metrics用于评估模型预测的质量,包括均方误差,AUC值、混淆矩阵、修正R方等用于评价模型的函数。小批量预处理Mini-Batch Preprocessor把数据打包成小份进行训练,优点是它可以比随机梯度下降(默认MADlib优化器)表现更好,会更快更平滑的收敛。表 4 支持的机器学习算法 - 图类算法名称(中文)算法名称(英文)应用场景 所有对间最短路径All Pairs Shortest Path (APSP)所有对最短路径(APSP)算法找到所有顶点对之间的最短路径的长度(总和权重),使得路径边缘的权重之和最小化。 广度优先算法Breadth-First Search广度优先算法遍历路径。 超链接诱导主题搜索Hyperlink-Induced Topic Search (HITS)HITS算法输出每个节点的authority评分和hub评分,其中authority评分给出页面内容的分数,hub评估出连接到其他页面的分数。 平均路径长度Average Path Length此函数计算每对顶点之间的最短路径的平均值。平均路径长度基于“可到达的目标顶点”,因此它忽略了未连接的顶点之间的无限长度路径。 中心性Closeness Centrality接近度度量是和的倒数,平均值的倒数,以及到所有可到达目标顶点(不包括源顶点)的最短距离的倒数之和。 图表直径Graph Diameter直径被定义为图中所有最短路径中最长的。 入度出度In-Out Degree计算图中每个点的入度出度,入度指指向此点的边的数量,出度指此点指向其他点的边的数量。 网页排名PageRank给定图形,给定图形,PageRank算法输出概率分布,该概率分布表示随机遍历图形的人将到达任何特定顶点的可能性。 单源最短路径Single Source Shortest Path (SSSP)给定图形和源顶点,单源最短路径(SSSP)算法找到从源顶点到图中的每个其他顶点的路径,使得路径边缘的权重之和最小化(每条边权值非负)。弱连通分量Weakly Connected Component给定有向图,弱连通分量(WCC)是原始图的子图,其中所有顶点通过某个路径彼此连接,忽略边的方向。在无向图的情况下,弱连通分量也是强连通分量。该模块还包括许多在WCC输出上运行的辅助函数。表 5 支持的机器学习算法 - 时间序列算法名称(中文)算法名称(英文)应用场景 差分整合移动平均自回归模型Autoregressive Integrated Moving Average model(ARIMA)时间序列预测,用于理解和预测一系列数据的未来值。比如:国际航空旅客数据,预测旅客人数。表 6 支持的机器学习算法 - 采样算法名称(中文)算法名称(英文)应用场景 采样函数sample抽样。分层抽样Stratified Sampling分层随机抽样,又称类型随机抽样,它是先将总体各单位按一定标准分成各种类型(或层);然后根据各类型单位数与总体单位数的比例,确定从各类型中抽取样本单位的数量;最后,按照随机原则从各类型中抽取样本。对称抽样Balanced Sampling一些分类算法仅在每个类中的样本数大致相同时才最佳地执行。高度偏斜的数据集在许多领域中是常见的(例如,欺诈检测),因此重新采样以抵消这种不平衡可以产生更好的决策边界。表 7 支持的机器学习算法 - 统计学 算法名称(中文)算法名称(英文)应用场景 汇总统计函数Summary生成任何数据表的摘要统计信息。协方差和相关系数Correlation and Covariance描述性统计,求Pearson系数,相关系数,另一个输出协方差。了解数据从统计学上反映的量的特征,以便我们更好地认识这些将要被挖掘的数据。统计频率算法CountMin (Cormode-Muthukrishnan)统计一个实时的数据流中元素出现的频率,并且准备随时回答某个元素出现的频率,不需要的精确的计数。基数估计算法FM (Flajolet-Martin)获取指定列中的不同值的数量。 找出这个数字集合中不重复的数字的个数。最频繁值MFV (Most Frequent Values)计算频繁值的场景。假设检验Hypothesis Tests包含F-test,chi2-test等。概率函数Probability Functions概率函数模块为各种概率分布提供累积分布,密度、质量和分位数函数。表 8 支持的机器学习算法 - 其他算法算法名称(中文)算法名称(英文)应用场景 k-聚类算法K-means聚类场景。隐含狄利克雷分布Latent Dirichlet Allocation (LDA)LDA 在主题模型中占有非常重要的地位,常用来文本分类。关联规则算法Apriori Algorithm关联规则算法,关联规则挖掘的目标是发现数据项集之间的关联关系。比如经典的“啤酒和尿布”。二、环境部署DeepSQL环境包括编译数据库和安装算法库两个部分。前提条件环境中安装python2.7.12以上版本Python。数据库需要开启对PL/Python存储过程的支持。安装算法库需要拥有管理员权限的用户。操作步骤1. 检查部署Python环境安装前,请查看系统安装的python版本,当前DeepSQL需要python2.7.12以上版本的环境。如果当前系统python2版本高于2.7.12,可以直接安装python-devel包。如果版本过低,或者无法安装python-devel包,可以下载最新python2源码,手动配置编译python2,并配置环境变量。算法库中,部分算法调用了python包,如numpy,pandas等。用户可以安装以下python库:pip install numpy pip install pandas pip install scipy须知:如果自行编译python,需要在configure脚本执行时加入–enable-shared参数。如果系统中的python2使用的是UCS4编码,自行编译python2时,还需要加入–enable-unicode=ucs4参数。可以在系统中自带的python2下执行:“import sys;print sys.maxunicode”并查看结果,如果结果是65535,说明系统默认的是ucs2;如果结果是1114111,说明用的ucs4编码。如果系统中内置的python2使用的ucs4,说明系统中的gdb,gstack等也会依赖ucs4。因此自行编译的python2在configure时,需要添加–enable-unicode=ucs4,否则后续使用gdb,gstack时,会遇到报错。2. 编译部署数据库数据库需要开启对PL/Python存储过程的支持。默认编译数据库,不包含此模块。因此需要编译数据库时,在configure阶段,加入--with-python参数;其他编译保持步骤不变;编译完成后,需要重新gs_initdb;默认PL/Python存储过程模块不被加载,请执行“CREATE EXTENSION plpythonu”来加载模块。3. 算法库编译和安装算法库使用开源的MADlib机器学习框架。源码包和相应patch可以从第三方库的代码仓库里获取。安装命令如下:tar -zxf apache-madlib-1.17.0-src.tar.gz cp madlib.patch apache-madlib-1.17.0-src cd apache-madlib-1.17.0-src/ patch -p1 < madlib.patch编译命令如下:./configure -DCMAKE_INSTALL_PREFIX={YOUR_MADLIB_INSTALL_FOLDER} -DPOSTGRESQL_EXECUTABLE=$GAUSSHOME/bin/ -DPOSTGRESQL_9_2_EXECUTABLE=$GAUSSHOME/bin/ -DPOSTGRESQL_9_2_CLIENT_INCLUDE_DIR=$GAUSSHOME/bin/ -DPOSTGRESQL_9_2_SERVER_INCLUDE_DIR=$GAUSSHOME/bin/ # 以上均为configure命令。 make make install其中, {YOUR_MADLIB_INSTALL_FOLDER}需要改为用户的实际安装路径。须知:编译MADlib时,会联网下载依赖软件。无法联网时,需要手动下载依赖包“PyXB-1.2.6.tar.gz”,“eigen-branches-3.2.tar.gz”和“boost_1_61_0.tar.gz”放在本地。使用的configure命令如下:./configure -DCMAKE_INSTALL_PREFIX={YOUR_MADLIB_INSTALL_FOLDER} # your install folder -DPYXB_TAR_SOURCE={YOUR_DEPENDENCY_FOLDER}/PyXB-1.2.6.tar.gz # change to your local folder -DEIGEN_TAR_SOURCE={YOUR_DEPENDENCY_FOLDER}/eigen-branches-3.2.tar.gz # change to your local folder -DBOOST_TAR_SOURCE={YOUR_DEPENDENCY_FOLDER}/boost_1_61_0.tar.gz # change to your local folder -DPOSTGRESQL_EXECUTABLE=$GAUSSHOME/bin/ -DPOSTGRESQL_9_2_EXECUTABLE=$GAUSSHOME/bin/ -DPOSTGRESQL_9_2_CLIENT_INCLUDE_DIR=$GAUSSHOME/bin/ -DPOSTGRESQL_9_2_SERVER_INCLUDE_DIR=$GAUSSHOME/bin/4. 将算法库安装到数据库中进入{YOUR_MADLIB_INSTALL_FOLDER}路径。进入bin文件夹。执行如下命令。 ./madpack -s <SCHEMA_NAME> -p opengauss -c <USER_NAME>@127.0.0.1:<PORT>/<DATABASE_NAME> install命令中参数说明如下:-s:schema的名称。-p:数据库平台,使用opengauss即可。-c:连接数据库的参数。包括用户名、‘@’、IP地址、端口号和目标数据库名称。install为安装的命令,除此之外,还有reinstall(重新安装),uninstall(卸载)等命令可用。说明:目标数据库必须存在。IP请使用127.0.0.1,不要使用localhost。涉及到大量PL/Python存储过程的安装、卸载等操作,需要数据库管理员权限用户来进行,普通用户没有权限创建和修改PL/Python存储过程,只能调用。数据库兼容性,推荐兼容性为B。不同的数据库兼容性下,对空值,NULL等处理有较大差异。建议使用B兼容性。例如,CREATE DATABASE dbcompatibility='B'。三、使用指导PL/Python存储过程当前PL/Python存储过程优先支持python2;默认版本也是python2。PL/Python中的函数通过标准的CREATE FUNCTION声明:CREATE FUNCTION funcname (argument-list) RETURNS return-type AS $$ # PL/Python function body $$ LANGUAGE plpythonu;函数体是一个简单的Python脚本,当函数被调用的时候,它的参数作为列表args的元素传递;命名参数也会被当做普通的变量传递到Python脚本中。命名参数的使用通常更易读。 结果将使用return或yield(结果集语句的情况) 照常从Python代码中返回。如果没有提供返回值,Python返回缺省的None。 PL/Python将Python中的None认为SQL空值。例如,返回两个整数中较大者的函数定义如下。CREATE FUNCTION pymax(a integer, b integer) RETURNS integer AS $$ if a > b: return a return b $$ LANGUAGE plpythonu;注意:PL/Python函数中,后缀为plpythonu。‘u’说明是untrusted类型的存储过程。Trusted:这个语言不能访问越权的数据。例如,数据库服务器的文件、数据库内部(包括直接访问共享内存)。Untrusted:这个语言没有任何限制,允许访问任何数据(包括文件,网络,共享LIB库等,危害性较大),但是功能更加强大。PL/Python属于untrusted类型的存储过程语言,当前仅允许管理员权限的用户创建和修改,普通用户仅支持使用。定义PL/Python存储过程时,注意不要定义执行诸如import os;os.system(“rm -rf /”) 等危险语句。管理员权限的用户需要小心创建此类PL/Python存储过程。数据库Null, None和空串处理如果向函数传递了一个SQL null值,参数值在Python中将会显示为None。在数据库中,不同的兼容性下,空串的行为会被当做NULL处理。同一个函数,在不同的兼容性下表现不同。CREATE FUNCTION quote(t text, how text) RETURNS text AS $$ if how == "literal": return plpy.quote_literal(t) elif how == "nullable": return plpy.quote_nullable(t) elif how == "ident": return plpy.quote_ident(t) else: raise plpy.Error("unrecognized quote type %s" % how) $$ LANGUAGE plpythonu;示例1:SELECT quote(t, 'literal') FROM (VALUES ('abc'),('a''bc'),('''abc'''),(''),(''''),('xyzv')) AS v(t);数据库不同兼容性下的结果为:兼容性为A时,返回结果如下:ERROR: TypeError: argument 1 must be string, not None CONTEXT: Traceback (most recent call last): PL/Python function "quote", line 3, in <module> return plpy.quote_literal(t) referenced column: quote兼容性为B时,返回结果如下:quote ----------- 'abc' 'a''bc' '''abc''' '' '''' 'xyzv' (6 rows)示例2:SELECT quote(t, 'nullable') FROM (VALUES ('abc'),('a''bc'),('''abc'''),(''),(''''),(NULL)) AS v(t);数据库不同兼容性下的结果为:兼容性为A时,返回结果如下:quote ----------- 'abc' 'a''bc' '''abc''' NULL '''' NULL (6 rows)兼容性为B时,返回结果如下:quote ----------- 'abc' 'a''bc' '''abc''' '' '''' NULL (6 rows)可以看到,在兼容性“A”中,空串被当为NULL了。触发器当前PL/Python存储过程中,不支持触发器功能。匿名代码块PL/Python也支持DO声明的匿名代码块:DO $$ # PL/Python code $$ LANGUAGE plpythonu;一个匿名代码块不接受参数,并且丢弃它可能返回的值。共享数据每个函数都在Python解释器里获得自己的执行环境。全局字典SD在函数调用之间用于存储数据。这些变量是私有静态数据。每一个函数都有自己的SD数据空间,函数A的全局数据和函数参数是函数B不可用的。全局字典GD是公共数据,在一个gsql会话中,所有python函数都可访问和改变,使用时需要小心。当gsql断开或退出,共享数据就被释放。注意:运行DeepSQL或者PL/Python存储过程时,需要关闭线程池相关参数。否则PL/Python存储过程中的Sharing Data(“GD”、“SD”)等功能会失效。在数据库中,当线程池功能关闭,每一个连入的gsql,数据库内会起一个新的线程去处理。在gsql中,如果调用到PL/Python存储过程,会在本线程中完成python解析器模块的初始化,其中包括初始化“GD”,“SD”等共享空间。在线程池功能开启的状态下,一个gsql执行时,由当前空闲线程执行,每次执行可能分配到不同的线程上。导致共享数据紊乱。数据库访问PL/Python语言模块自动import一个叫plpy的Python模块。plpy模块提供几个函数执行数据库命令:比如plpy.execute,plpy.prepare等。plpy模块也提供了函数plpy.debug(msg)、 plpy.log(msg)、plpy.info(msg)、 plpy.notice(msg)、plpy.warning(msg)、 plpy.error(msg)和plpy.fatal(msg)。 plpy.error和 plpy.fatal实际上抛出了一个Python异常,会导致当前事务或者子事务退出。另一个实用函数集是plpy.quote_literal(string)、 plpy.quote_nullable(string)和 plpy.quote_ident(string)。关于审计PL/Python存储过程支持审计功能。具体设置可以参考审计。关于并发执行当前PL/Python存储过程对并发执行不友好,建议串行执行。说明: 由于openGauss是多线程架构,C-python中,由于GIL锁(Global Interpreter Lock)的限制,多线程在Python中只能交替执行,无法做到真正的并发。库内算法具体库内算法介绍和使用,可参考MADlib官方网站(MADlib文档)。须知:当前仅支持机器学习算法,不支持深度学习(deep learning)模块。当前数据库不支持xml,所以pmml模块和相关功能不支持。数据库不支持jsonb模块,json格式的模型导出功能也不支持。其他算法支持除了MADlib提供的算法外,openGauss又额外提供了以下三个算法。表 1 额外增加的模块列表算法名称(中文) 算法名称(英文) 梯度提升树gbdt 梯度提升xgboost 时间序列预测的算法facebook_prophet使用时,需要安装依赖的python库:如果使用prophet算法:pip install pystan pip install holidays==0.9.8 pip install fbprophet==0.3.post2如果使用xgboost算法:pip install xgboost pip install xgboost pip install scikit-learngbdt不需要额外安装其他库。详细操作请参考后续章节描述。
  • [区域复赛赛题问题] 复赛正式赛新增的变更点会不会导致线上训练使用的版本无成绩?
    如题,正式赛的时候会增加小的变更点,这个变更点会不会导致线上训练时使用的代码通过不了,导致最后没有成绩?因为敲代码敲的慢所以很担心...
  • [技术干货] 【沙箱实验室】使用ModelArts实现花卉图像分类【玩转华为云】[转载]
    沙箱实验室简介华为云服务的操作体验,使用虚拟华为云账号,根据详细的实验手册,一步步指导操作,模拟真实场景,完善的虚拟环境配置搭建,可随时随地通过浏览器进入虚拟环境操作实验。实验室地址:https://lab.huaweicloud.com/?ticket=ST-838552-0GWxPCDy1PnMndcVTf64YBdU-sso下面进入使用ModelArts实现花卉图像分类的实验室。使用ModelArts实现花卉图像分类在线实验网址:https://lab.huaweicloud.com/testdetail_287?ticket=ST-881199-Kvqdg9ZIKRnRQgGGDAmTW2nK-sso进入之后点击开始实验。打开Chrome浏览器,自动登录并进入华为云控制台页面。实验拓扑。准备数据创建对象存储 OBS创建完成回到对象存储服务列表,点击刚刚创建的OBS桶名称进入详情页,选择左侧“对象”->“新建文件夹”(存放后续步骤的数据文件),名称任意(请记住此名称以备后续相关步骤使用),点击“确定”,如下图:创建 NoteBook 复制数据在服务列表中找到并进入人工智能服务ModelArts,然后点击ModelArts页面中左侧的【开发环境】选项一点击【notebook]进入notebook页面。点击【创建】按钮进入创建页面,并按照左边的操作提示进行参数配置进入创建页面,参数要求:① 名称:任意,如flowers-notebook② 自动停止:2小时后③ 镜像:公共镜像:在第二页选择tensorflow1.13-cuda10.0-cudnn7-ubuntu18.0.4-GPU算法开发和训练基础镜像,预置AI引擎Tensorflow1.13.1④ 资源池:公共资源池⑤ 类型:GPU⑥ 规格:8核64GB⑦ 储存配置:云硬盘(5GB)其它参数默认,点击“立即创建”->“提交”创建成功,返回NoteBook列表,等待状态变为“运行中”【约等待3分钟】,点击“打开”进入NoteBook详情页。在页面中选择“TensorFlow-1.13.1”,如下图所示:进入Python命令输入界面,输入如下命令后,点击“Run”:复制如下命令,粘贴至Python命令输入第二行(命令需修改后执行):修改说明:将代码中的“your_bucket_name”替换为创建的OBS桶名称;将代码中的“your_folder_name”替换为OBS桶中创建的文件夹名称。点击“服务列表”-> 选择“存储”的“对象存储服务”,点击桶名,点击文件夹可以查看复制的文件,即训练所需的数据集。训练模型按照实验室左侧的操作前提分别进行下面两个操作:创建训练作业回到ModelArts界面,进入左侧导航栏的【AI Gallery】在【AI Gallery】页面点击顶部【算法】进入算法页面,选择算法【图像分类-ResNet_v1_50】(也可在谷歌浏览器新建1个新页签,输入链接【https://marketplace.huaweicloud.com/markets/aihub/modelhub/detail/?id=40b66195-5bbe-463d-b8a2-03e57073538d】进入)点击“订阅”,如果显示“已订阅”则无需操作,如下图所示:点击“前往控制台”,选择“华北-北京四”区域。接下来回到在ModelArts主界面,在【训练管理】选择训练作业,点击【创建】算法管理选择。选择10.0.0 版本。数据来源选择,选择之前在 OBS 里面创建的文件夹。模型输出选择,在之前创建的 OBS 里面新建一个空文件夹作为模型输出文件夹。整体的参数选择。通过可视化作业查看模型训练信息在模型训练的过程完成后,通过创建可视化作业查看一些参数的统计信息,如loss, accuracy等。操作如下:① 在“训练作业”界面,点击“可视化作业”,再点击“创建”按钮;② 参数“名称”,可随意填写;③ 规格:默认;④ “训练输出位置”选择2.2步骤中的训练输出位置;⑤ “自动停止”不设置(关闭)。点击“下一步”确认规格无误后点击“提交”完成此步。此步骤创建时间较长【约等待5分钟】,建议直接继续下一步实验,无需等待。模型部署按照实验室左侧的操作前提分别进行下面两个操作:导入模型部署在线服务(这一步和左边操作里面的提示不太一致,可以按照下面图片里面的步骤进行部署)发起预测点击刚刚部著上线(已完成部署)的在线服务名称,进入服务详情,点击“预测”标签,在此可进行在线预测,如下图所示。操作:选择预测图片文件,点击左侧“上传”选择pic文件夹内的图片资源,点击“预测”完成操作。说明:测试图片存放于桌面pic文件夹内。尝试更多图片预测,可点击桌面sunflower.sh脚本进行快捷搜索。下面进行了五种花卉的预测并给出预测结果{ "predicted_label": "daisy", "scores": [["daisy", "0.766"], ["sunflowers", "0.232"], ["dandelion", "0.002"], ["roses", "0.000"], ["tulips", "0.000"]] }{ "predicted_label": "roses", "scores": [["roses", "0.999"], ["daisy", "0.000"], ["dandelion", "0.000"], ["sunflowers", "0.000"], ["tulips", "0.000"]] }{ "predicted_label": "tulips", "scores": [["tulips", "0.997"], ["daisy", "0.003"], ["dandelion", "0.000"], ["roses", "0.000"], ["sunflowers", "0.000"]] }{ { "predicted_label": "sunflowers", "scores": [["sunflowers", "1.000"], ["daisy", "0.000"], ["dandelion", "0.000"], ["roses", "0.000"], ["tulips", "0.000"]] }{ "predicted_label": "dandelion", "scores": [["dandelion", "1.000"], ["daisy", "0.000"], ["roses", "0.000"], ["sunflowers", "0.000"], ["tulips", "0.000"]] } }体验感受和建议实验的体验还是很好的,基本上按照步骤一直操作下去。不过60分钟的实验时间,感觉没有过瘾,希望可以延长一点时间。
  • [其他] 图像中的裂纹检测
    01. 数据集我们首先需要从互联网上获取包含墙壁裂缝的图像(URL格式)数据。总共包含1428张图像:其中一半是新的且未损坏的墙壁;其余部分显示了各种尺寸和类型的裂缝。第一步:读取图像,并调整大小。images = []for url in tqdm.tqdm(df['content']):response = requests.get(url)img = Image.open(BytesIO(response.content))img = img.resize((224, 224))numpy_img = img_to_array(img)img_batch = np.expand_dims(numpy_img, axis=0)images.append(img_batch.astype('float16'))images = np.vstack(images)images = []从下面的示例中您可以看到,在我们的数据中显示了不同类型的墙体裂缝,其中一些对我来说也不容易识别。图例02. 机器学习模型我们想要建立一个机器学习模型,该模型能够对墙壁图像进行分类并同时检测异常的位置。为了达到这个目的需要建立一个有效的分类器。它将能够读取输入图像并将其分类为“损坏”或“未损坏”两个部分。在最后一步,我们将利用分类器学到的知识来提取有用的信息,这将有助于我们检测异常情况。对于这个类任务,我们选择在Keras中重载VGG16来完成它。vgg_conv = vgg16.VGG16(weights='imagenet', include_top=False, input_shape = (224, 224, 3))for layer in vgg_conv.layers[:-8]:layer.trainable = False导入了VGG架构,并允许训练最后两个卷积模块,以便我们的模型能够具有一定的特殊性。除此之外,我们还需要去除原始模型的顶层,并将其替换为另一种结构。x = vgg_conv.outputx = GlobalAveragePooling2D()(x)x = Dense(2, activation="softmax")(x)model = Model(vgg_conv.input, x)model.compile(loss = "categorical_crossentropy", optimizer = optimizers.SGD(lr=0.0001, momentum=0.9), metrics=["accuracy"])在分类阶段,GlobalAveragePooling层通过提取每个要素图的平均值来减小前一层的大小,这种选择加上中间致密层的省略用法可以避免过度拟合。如果小伙伴可以使用GPU,则培训非常简单。COLAB为我们提供了加快这一过程所需的武器。我们还使用了Keras提供的简单数据生成器进行图像增强。最终,我们能够达到0.90的整体精度,还不错!局部异常现在我们要对检测出异常的图像进行一定的操作,使墙壁图像裂缝被突出。我们需要的有用信息位于顶层。因此我们可以访问:卷积层:上层是VGG结构,还有网络创建的更多重要功能。我们选择了最后一个卷积层(“ block5\conv3_ ”),并在此处剪切了我们的分类模型。我们已经重新创建了一个中间模型,该模型以原始图像为输入,输出相关的激活图。考虑到维度,我们的中间模型增加了初始图像的通道(新功能)并减小了尺寸(高度和宽度)。最终密度层:对于每个感兴趣的类别,我们都需要这些权重,这些权重负责提供分类的最终结果。有了这些压缩的物体,我们掌握了定位裂缝的所有知识。我们希望将它们“绘制”在原始图像上,以使结果易于理解且易于看清。“解压缩”此信息在python中很容易:我们只需进行双线性上采样即可调整每个激活图的大小并计算点积。执行一个简单的函数即可访问:def plot_activation(img):pred = model.predict(img[np.newaxis,:,:,:])pred_class = np.argmax(pred)weights = model.layers[-1].get_weights()[0]class_weights = weights[:, pred_class]intermediate = Model(model.input,model.get_layer("block5_conv3").output)conv_output = intermediate.predict(img[np.newaxis,:,:,:])conv_output = np.squeeze(conv_output)h = int(img.shape[0]/conv_output.shape[0])w = int(img.shape[1]/conv_output.shape[1])act_maps = sp.ndimage.zoom(conv_output, (h, w, 1), order=1)out = np.dot(act_maps.reshape((img.shape[0]*img.shape[1],512)), class_weights).reshape(img.shape[0],img.shape[1])plt.imshow(img.astype('float32').reshape(img.shape[0],img.shape[1],3))plt.imshow(out, cmap='jet', alpha=0.35)plt.title('Crack' if pred_class == 1 else 'No Crack')我在下面的图像中显示结果,在该图像中,我已在分类为裂纹的测试图像上绘制了裂纹热图。我们可以看到,热图能够很好地泛化并指出包含裂缝的墙块。在裂纹图像中显示异常
  • [区域初赛赛题问题] 在线测试和正式比赛的数据
    在线测试和正式比赛的数据后面是不是不用了呢?如果后面不使用了,能否提供下载数据通道.因为自身仿真的数据集始终和测试集有差距,在改变算法策略后,我的数据结果变优了,但线上并没有.是否可以通过测试同一组数据,了解自身与他人的差距.而且后面即使改变了策略,时间过了,也没有办法再对原测试集进行测试希望官方能提供之前比赛用的但后期不会再用的数据.
  • [其他] 浅谈AI芯片
    AI芯片也被称为AI加速器或计算卡,即专门用于处理人工智能应用中的大量计算任务的模块(其他非计算任务仍由CPU负责)。当前,AI芯片主要分为 GPU 、FPGA 、ASIC。AI的许多数据处理涉及矩阵乘法和加法。大量并行工作的GPU提供了一种廉价的方法,但缺点是更高的功率。具有内置DSP模块和本地存储器的FPGA更节能,但它们通常更昂贵。AI芯片该使用什么方法原理去实现,仍然众说纷纭,这是新技术的特点,探索阶段百花齐放,这也与深度学习等算法模型的研发并未成熟有关,即AI的基础理论方面仍然存在很大空白。这是指导芯片如何设计的基本前提。因此,集中在如何更好的适应已有的数据流式处理模式进行的芯片优化设计。技术手段方面AI市场的第一颗芯片包括现成的CPU,GPU,FPGA和DSP的各种组合。虽然新设计正在由诸如英特尔、谷歌、英伟达、高通,以及IBM等公司开发,但还不清楚哪家的方法会胜出。似乎至少需要一个CPU来控制这些系统,但是当流数据并行化时,就会需要各种类型的协处理器。    AI硬件加速技术已经逐渐走向成熟。未来可能更多的创新会来自电路和器件级技术的结合,比如​存内计算​,​类脑计算​;或者是针对特殊的计 算模式或者新模型,比如稀疏化计算和​近似计算​,对图网络的加速;或者是针对数据而不是模型的特征来优化架构。  如AI芯片昇腾910,属于Ascend-max系列。在HC2018上已经发布了其技术规格。实际测试结果表明,在算力方面,昇腾910完全达到了设计规格,即:半精度 (FP16)算力达到256 Tera-FLOPS,整数精度 (INT8) 算力达到512 Tera-OPS,重要的是,达到规格算力所需功耗仅310W,明显低于设计规格的350W。徐直军表示:昇腾910总体技术表现超出预期,作为算力最强AI处理器,当之无愧。我们已经把昇腾910用于实际AI训练任务。比如,在典型的ResNet50 网络的训练中,昇腾910与MindSpore配合,与现有主流训练单卡配合TensorFlow相比,显示出接近2倍的性能提升。面向未来,针对不同的场景,包括边缘计算、自动驾驶车载计算、训练等场景,华为将持续投资,推出更多的AI处理器,面向全场景持续提供更充裕、更经济、更适配的AI算力。
  • [技术干货] 利用Python进行数据清洗的操作指南(转)
    你一定听说过这句著名的数据科学名言:在数据科学项目中, 80% 的时间是在做数据处理。如果你没有听过,那么请记住:数据清洗是数据科学工作流程的基础。 机器学习模型会根据你提供的数据执行,混乱的数据会导致性能下降甚至错误的结果,而干净的数据是良好模型性能的先决条件。 当然干净的数据并不意味着一直都有好的性能,模型的正确选择(剩余 20%)也很重要,但是没有干净的数据,即使是再强大的模型也无法达到预期的水平。在本文中将列出数据清洗中需要解决的问题并展示可能的解决方案,通过本文可以了解如何逐步进行数据清洗。缺失值当数据集中包含缺失数据时,在填充之前可以先进行一些数据的分析。 因为空单元格本身的位置可以告诉我们一些有用的信息。 例如:NA值仅在数据集的尾部或中间出现。 这意味着在数据收集过程中可能存在技术问题。 可能需要分析该特定样本序列的数据收集过程,并尝试找出问题的根源。如果列NA数量超过 70–80%,可以删除该列。如果 NA 值在表单中作为可选问题的列中,则该列可以被额外的编码为用户回答(1)或未回答(0)。missingno这个python库就可以用于检查上述情况,并且使用起来非常的简单,例如下图中的白线是 NA:import missingno as msno msno.matrix(df)对于缺失值的填补计算有很多方法,例如:平均,中位数,众数kNN零或常数等不同的方法相互之间有优势和不足,并且没有适用于所有情况的“最佳”技术。具体可以参考我们以前发布的文章异常值异常值是相对于数据集的其他点而言非常大或非常小的值。 它们的存在极大地影响了数学模型的性能。 让我们看一下这个简单的示例:在左图中没有异常值,我们的线性模型非常适合数据点。 在右图中有一个异常值,当模型试图覆盖数据集的所有点时,这个异常值的存在会改变模型的拟合方式,并且使我们的模型不适合至少一半的点。对于异常值来说我们有必要介绍一下如何确定异常,这就要从数学角度明确什么是极大或极小。大于Q3+1.5 x IQR或小于Q1-1.5 x IQR都可以作为异常值。 IQR(四分位距) 是 Q3 和 Q1 之间的差 (IQR = Q3-Q1)。可以使用下面函数来检查数据集中异常值的数量:def number_of_outliers(df):      df = df.select_dtypes(exclude = 'object')      Q1 = df.quantile(0.25)     Q3 = df.quantile(0.75)     IQR = Q3 - Q1      return ((df < (Q1 - 1.5 * IQR)) | (df > (Q3 + 1.5 * IQR))).sum()处理异常值的一种方法是可以让它们等于 Q3 或 Q1。 下面的lower_upper_range 函数使用 pandas 和 numpy 库查找其外部为异常值的范围, 然后使用clip 函数将值裁剪到指定的范围。def lower_upper_range(datacolumn):     sorted(datacolumn)     Q1,Q3 = np.percentile(datacolumn , [25,75])     IQR = Q3 - Q1     lower_range = Q1 - (1.5 * IQR)     upper_range = Q3 + (1.5 * IQR)     return lower_range,upper_range  for col in columns:       lowerbound,upperbound = lower_upper_range(df[col])     df[col]=np.clip(df[col],a_min=lowerbound,a_max=upperbound)数据不一致异常值问题是关于数字特征的,现在让我们看看字符类型(分类)特征。 数据不一致意味着列的唯一类具有不同的表示形式。 例如在性别栏中,既有m/f,又有male/female。在这种情况下,就会有4个类,但实际上有两类。这种问题目前没有自动处理的办法,所以需要手动进行分析。 pandas 的unique函数就是为了这个分析准备的,下面看一个汽车品牌的例子:df['CarName'] = df['CarName'].str.split().str[0] print(df['CarName'].unique())df.loc[df['CarName'] == 'maxda', 'CarName'] = 'mazda' df.loc[df['CarName'] == 'Nissan', 'CarName'] = 'nissan' df.loc[df['CarName'] == 'porcshce', 'CarName'] = 'porsche' df.loc[df['CarName'] == 'toyouta', 'CarName'] = 'toyota' df.loc[df['CarName'] == 'vokswagen', 'CarName'] = 'volkswagen' df.loc[df['CarName'] == 'vw', 'CarName'] = 'volkswagen'无效数据无效的数据表示在逻辑上根本不正确的值。 例如,某人的年龄是 560;某个操作花费了 -8 小时;一个人的身高是1200 cm等;对于数值列,pandas的 describe 函数可用于识别此类错误:df.describe()无效数据的产生原因可能有两种:1、数据收集错误:例如在输入时没有进行范围的判断,在输入身高时错误的输入了1799cm 而不是 179cm,但是程序没有对数据的范围进行判断。2、数据操作错误数据集的某些列可能通过了一些函数的处理。 例如,一个函数根据生日计算年龄,但是这个函数出现了BUG导致输出不正确。以上两种随机错误都可以被视为空值并与其他 NA 一起估算。重复数据当数据集中有相同的行时就会产生重复数据问题。 这可能是由于数据组合错误(来自多个来源的同一行),或者重复的操作(用户可能会提交他或她的答案两次)等引起的。 处理该问题的理想方法是删除复制行。可以使用 pandas duplicated 函数查看重复的数据:df.loc[df.duplicated()]在识别出重复的数据后可以使用pandas 的 drop_duplicate 函数将其删除:df.drop_duplicates()数据泄漏问题在构建模型之前,数据集被分成训练集和测试集。 测试集是看不见的数据用于评估模型性能。 如果在数据清洗或数据预处理步骤中模型以某种方式“看到”了测试集,这个就被称做数据泄漏(data leakage)。 所以应该在清洗和预处理步骤之前拆分数据:以选择缺失值插补为例。数值列中有 NA,采用均值法估算。在 split 前完成时,使用整个数据集的均值,但如果在 split 后完成,则使用分别训练和测试的均值。第一种情况的问题是,测试集中的推算值将与训练集相关,因为平均值是整个数据集的。所以当模型用训练集构建时,它也会“看到”测试集。但是我们拆分的目标是保持测试集完全独立,并像使用新数据一样使用它来进行性能评估。所以在操作之前必须拆分数据集。虽然训练集和测试集分别处理效率不高(因为相同的操作需要进行2次),但它可能是正确的。因为数据泄露问题非常重要,为了解决代码重复编写的问题,可以使用sklearn 库的pipeline。简单地说,pipeline就是将数据作为输入发送到的所有操作步骤的组合,这样我们只要设定好操作,无论是训练集还是测试集,都可以使用相同的步骤进行处理,减少的代码开发的同时还可以减少出错的概率。