首页 文章 精选 留言 我的

精选列表

搜索[AI云],共10000篇文章
优秀的个人博客,低调大师

Serverless 的 AI 写诗,程序员浪漫起来谁能顶得住啊!

古诗词是中国文化殿堂的瑰宝,记得曾经在韩国做 Exchange Student 的时候,看到他们学习我们的古诗词,有中文的还有翻译版的,自己发自内心的骄傲,甚至也会在某些时候背起一些耳熟能详的诗词。 本文将会通过深度学习为我们生成一些古诗词,并将模型部署到 Serverless 架构上,实现基于 Serverless 的古诗词生成 API。 项目构建 古诗词生成实际上是文本生成,或者说是生成式文本。关于基于深度学习的文本生成,最入门级的读物包括 Andrej Karpathy 的博客。他使用例子生动讲解了 Char-RNN (Character based Recurrent Neural Network) 如何用于从文本数据集里学习,然后自动生成像模像样的文本。 上图直观展示了 Char-RNN 的原理。以要让模型学习写出「hello」为例,Char-RNN 的输入输出层都是以字符为单位。输入「h」,应该输出「e」;输入「e」,则应该输出后续的「l」。 输入层我们可以用只有一个元素为1的向量来编码不同的字符,例如,「h」被编码为「1000」、「e」被编码为「0100」,而「l」被编码为「0010」。使用 RNN 的学习目标是,可以让生成的下一个字符尽量与训练样本里的目标输出一致。在图一的例子中,根据前两个字符产生的状态和第三个输入「l」预测出的下一个字符的向量为 <0.1, 0.5, 1.9, -1.1>,最大的一维是第三维,对应的字符则为「0010」,正好是「l」。这就是一个正确的预测。但从第一个「h」得到的输出向量是第四维最大,对应的并不是「e」,这样就产生代价。 学习的过程就是不断降低这个代价。学习到的模型,对任何输入字符可以很好地不断预测下一个字符,如此一来就能生成句子或段落。 本文项目构建参考了 Github 已有项目:https://github.com/norybaby/poet 通过 Clone 代码,并且安装相关依赖: pip3 install tensorflow==1.14 word2vec numpy 通过训练: python3 train.py 可以看到训练结果: 此时会生成多个模型在 output_poem 文件夹下,我们只需要保留最好的即可,例如我的训练之后生成的 json 文件: { "best_model": "output_poem/best_model/model-20390", "best_valid_ppl": 21.441762924194336, "latest_model": "output_poem/save_model/model-20390", "params": { "batch_size": 16, "cell_type": "lstm", "dropout": 0.0, "embedding_size": 128, "hidden_size": 128, "input_dropout": 0.0, "learning_rate": 0.005, "max_grad_norm": 5.0, "num_layers": 2, "num_unrollings": 64 }, "test_ppl": 25.83984375 } 此时,我只需要保存 output_poem/best_model/model-20390 模型即可。 部署上线 在项目目录下,安装必要依赖: pip3 install word2vec numpy -t ./ 由于 Tensorflow 等是腾讯云云函数内置的package,所以这里无需安装,另外 numpy 这个 package 需要在 CentOS+Python3.6 环境下打包。也可以通过之前制作的小工具打包:https://www.serverlesschina.com/35.html 完成之后,编写函数入口文件: import uuid, json from write_poem import WritePoem, start_model writer = start_model() def return_msg(error, msg): return_data = { "uuid": str(uuid.uuid1()), "error": error, "message": msg } print(return_data) return return_data def main_handler(event, context): # 类型 # 1: 自由 # 2: 押韵 # 3: 藏头押韵 # 4: 藏字押韵 style = json.loads(event["body"])["style"] content = json.loads(event["body"]).get("content", None) if style in '34' and not content: return return_msg(True, "请输入content参数") if style == '1': return return_msg(False, writer.free_verse()) elif style == '2': return return_msg(False, writer.rhyme_verse()) elif style == '3': return return_msg(False, writer.cangtou(content)) elif style == '4': return return_msg(False, writer.hide_words(content)) else: return return_msg(True, "请输入正确的style参数") 同时需要准备好 Yaml 文件: getUserIp: component: "@serverless/tencent-scf" inputs: name: autoPoem codeUri: ./ exclude: - .gitignore - .git/** - .serverless - .env handler: index.main_handler runtime: Python3.6 region: ap-beijing description: 自动古诗词撰写 namespace: serverless_tools memorySize: 512 timeout: 10 events: - apigw: name: serverless parameters: serviceId: service-8d3fi753 protocols: - http - https environment: release endpoints: - path: /auto/poem description: 自动古诗词撰写 method: POST enableCORS: true 此时,我们就可以通过 Serverless Framework CLI 部署项目。部署完成之后,我们可以通过 PostMan 测试我们的接口: 总结 本文通过已有的深度学习项目,在本地进行训练,保存模型,然后将项目部署在腾讯云云函数上,通过与 API 网关的联动,实现了一个基于深度学习的古诗词撰写的 API。 One More Thing 3 秒你能做什么?喝一口水,看一封邮件,还是 —— 部署一个完整的 Serverless 应用? 复制链接至 PC 浏览器访问:https://serverless.cloud.tencent.com/deploy/express 3 秒极速部署,立即体验史上最快的 Serverless HTTP 实战开发! 传送门: GitHub: github.com/serverless 官网:serverless.com 欢迎访问:Serverless 中文网,您可以在 最佳实践 里体验更多关于 Serverless 应用的开发! 推荐阅读:《Serverless 架构:从原理、设计到项目实战》

优秀的个人博客,低调大师

每日一博 | AI 怎么将人绑定到高德地图上?

导读:高德地图作为中国领先的出行领域解决方案提供商,导航是其核心用户场景。路线规划作为导航的前提,是根据起点、终点以及路径策略设置,为用户量身定制出行方案。 起点抓路,作为路线规划的初始必备环节,其准确率对于路线规划质量及用户体验至关重要。本文将介绍高德地图针对起点抓路准确率的提升,尤其是在引入机器学习算法模型方面所进行的一些探索与实践。 什么是起点抓路 首先,我们来简单介绍一下什么是起点抓路。起点抓路是指针对用户发起的路线规划请求,通过获取到的用户定位信息,将其起点位置绑定至实际所在的道路。 从高德地图App可以看到,用户进行路线规划时选择起点的方式有以下三种: 1.手动选点(用户在地图上手动标注所处位置)。 2.POI选点(Point of Interest,兴趣点,在地理信息系统中可以是商铺、小区、公交站等地理位置标注信息)。 3.自动定位(通过GPS、基站或WiFi等方式自动定位所在位置)。 三种方式中,用户手动选点及POI选点这两种方式的位置信息相对准确,起点抓路准确率相对较高。 而自动定位起点的方式,由于受GPS、基站、网络定位精度影响,定位坐标易发生漂移,定位设备抓取的位置与用户实际所处道路可能相差几米、几十米甚至几百米。如何在有限信息下,将用户准确定位到真实所在道路,就是我们所要解决的主要问题。 为什么要引入机器学习 引入机器学习之前,起点抓路对候选道路的排序采用了人工规则。核心思路是:以距离为主要特征,结合角度、速度等特征,加权计算得分,进而影响排序,人工规则中所涉及到的权重及阈值等是经综合实战经验人工拍定而成。 随着高德地图业务的不断增长,规划请求数量及场景的增多,人工规则的局限性越来越明显,具体表现在以下方面: 即使包含了众多经验在内,人工设定的阈值、权重仍不够完善,易发生偏移或存在盲区是不可改变的事实。 策略维护方面,面对上游数据的更新,新特征无法用最快速度加入到策略中。 人工规则拍定对经验要求较高,对于人员的更迭,很难做出最敏捷的响应。 在大数据和人工智能时代,利用数据的力量代替部分人力工作,实现流程的自动化,提高工作效率是必然趋势。 因此,基于起点抓路人工规则的现状及问题,我们引入了机器学习模型,自动学习特征与抓路结果之间的关系。一方面,拥有大量规划及实走数据,对于机器学习模型的训练数据获取,高德有天然优势;另一方面,机器学习模型有更强的表达力,能够学习到特征之间的复杂关系,提高抓路准确率。 如何实现机器学习化 回归机器学习本身,下面来介绍我们如何建立起点抓路机器学习模型。一般来讲,运用机器学习方法解决实际问题分为以下几个方面: 目标问题的定义 数据获取与特征工程 模型选择 模型训练及效果评估 1.目标问题定义 在引入机器学习模型之前,需要将待解决问题进行数学抽象。 分析起点抓路问题,如上图所示,我们可以看到当用户在A点发起路线规划请求时,其定位位置A所对应的周边道路是一个独立的集合B,而用户所在的实际道路是这个集合中的唯一一个元素C。 这样,起点抓路问题转化为在定位点周边道路集合中选出一条最有可能是用户实际所在的道路。 整个过程类似搜索排序,因此,我们在制定建模方案时也采用了搜索排序的方式。 提取用户路线规划请求中的定位信息A。 对定位点周边一定范围内的道路进行召回,组成备选集合B。 对备选道路进行排序,最终排在首条的备选道路为模型输出结果,即用户实际所在道路C。 最终,我们将起点抓路定义为一个有监督的搜索排序问题。明确了需要达到的目标,我们开始考虑数据获取及特征工程问题。 2.数据获取与特征工程 业界常言,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限。可见对于项目最终效果,数据和特征至关重要。 训练起点抓路机器学习模型,我们需要从原始数据中获取两类数据: 真值数据,即用户发送路线规划请求时实际所处道路信息。 机器学习应用于起点抓路项目,第一个问题就是真值数据的获取。用户在某个位置A发起路线规划请求,由于定位精度限制,我们无法确认其实际所在位置,但如果用户在发起规划请求附近有实走信息,可以将实走信息匹配到路网生成一条运动轨迹,通过这条轨迹我们就可以获取到请求定位点所处的实际道路。 我们针对高德地图的导航请求数据进行相关挖掘,将用户实走与路线规划信息相结合,得到了请求与真值一一映射的数据集。 特征数据 在起点抓路模型中,我们提取了三大类特征用于构建样本集,分别是定位点相关特征、道路自身特征以及定位点与道路之间的组合特征。 特征处理是特征工程的核心部分,不同项目在进行特征预处理时会有不同,需要根据实际业务场景进行特殊化处理,往往依赖于专业领域经验。起点抓路项目中,我们针对定位特征进行了样本去重、异常值处理、错误值修正及映射等数据清洗工作。 3.模型选择 在目标问题定义中,我们将起点抓路剖析为搜索排序问题,而机器学习的ranking技术,主要包括point-wise、pair-wise、list-wise三大类。 根据起点抓路业务特点,我们采用了list-wise,其learning to rank框架具有以下特征: 输入信息是同一路线规划请求对应的所有道路构成的多特征向量(即一个query)。 输出信息是对应请求(即同一query)特征向量的打分序列。 对于打分函数,我们采用了树模型。 我们选择NDCG(Normalized Discounted Cumulative Gain归一化累积折算信息增益值)作为模型评价指标,NDCG是一种综合考虑模型排序结果和真实序列之间关系的指标,也是常用的衡量排序结果的指标。 4.模型训练及效果评估 我们抽取了一定时间段内的请求信息,按照步骤2中描述的方式获取到对应真值及特征数据,打标构建了样本集,将其划分为训练集与测试集,训练模型并查看结果是否符合预期。 评估模型效果,我们将测试集的请求分别用人工规则及机器学习模型进行抓路,并分别与真值进行对比,统计准确率。 对比结果,针对随机抽取的请求,模型与人工规则抓路结果差异率为10%,这10%的差异群体中,模型抓路准确率比人工规则提升40%,效果显著。 写在最后 以上我们介绍了大数据和机器学习在起点抓路方面的一些应用,项目的成功上线也验证了机器学习在提升准确率、优化流程等方面可以发挥重要作用。 未来,我们希望能够将现有模型场景继续细化,寻找新的收益点,从数据和模型两个角度共同探索,持续优化机器学习抓路效果。 关注高德技术,找到更多出行技术领域专业内容

优秀的个人博客,低调大师

原创译文 | Sphero发布Spark Bolt,AI机器人进攻教育领域

自Sphero宣布Sprk+已经过去大约两年了,Sprk+是一款塑料材质,可编程的,应用程序启用的机器人球,用于编程教育。过去的几个月,该公司与迪士尼合作推出了Ultimate Lightning McQueen,R2D2,BB-9E和Spider-Man等产品,并推出了更便宜,体积更小的Sprk+伴侣 - Sphero Mini,这款伴侣产品更少关注教育,更多关注游戏和活动。 9月10日,这家总部位于科罗拉多州丹佛市的创业公司Sphero从其Skunkworks实验室推出了Spark Bolt,这是一款经过升级的Sprk +,带有一些新的铃声和口哨声。 根据联合创始人兼首席架构师亚当威尔逊的说法,该产品表现了Sphero对教育领域的重视。他说,已有超过20,000所学校将公司的产品纳入其课程。 “在过去的两年里,我们学会了如何打造一个新特色,”威尔逊在电话采访中告诉记者,“我们的产品一直都提供可编程功能。当然如果你不想对其编程,你可以选择不编程。我们鼓励你玩这些功能,因为Bolt有更深入的编程组件。“ Bolt拥有防紫外线透明塑料外壳,具有防水和“高度耐用”的特点,可点击传感器包括磁力计,加速度计,环境光传感器,电机编码器和陀螺仪,可点击传感器来跟踪其速度,加速度和方向。蓝牙智能芯片将其与100英尺以外的智能手机和平板电脑配对,于是 用户可以通过智能手机及平板电脑控制Bolt。 “我们从教育工作者那里得到了很多反馈,”威尔逊说。 “我们将这些反馈和我们认为最酷的事情结合在一起设计Bolt。” 一直以来的难点是电池寿命,老师想要一个可以持续一整天的机器人,而不仅仅是两三节课的长度。因此,Sphero的工程师用一个电池充电Bolt,充电一次可以续航超过两个小时,大约是Sprk +电池续航时间的两倍。 此外,Bolt的亮点可能在于它的显示效果:一个8 x 8多色LED屏幕,可以实时动画。它可以编程显示几乎任何东西,从游戏到酷炫的设计,Bolt传感器获得数据,编程显示在屏幕上。Bolt有一个一个预装的游戏演示:《蛇》,用户通过在一个轴线上倾斜Bolt来操纵一条屏幕上的线。 “它几乎就像一个全输出显示器,”威尔逊说。“它能够显示你设计的各种内容,包括颜色和形状以及其他不同的显示项目。” 另一个值得注意的改进是新的红外传感器,它允许多个Bolt相互通信。威尔逊表示,它与LED屏幕配合使用时特别方便 , 例如,Sphero团队使用它来编写一个现实生活中的吃豆人游戏,其中一个Bolt充当玩家角色,另外四个作为幽灵代表。 其他硬件增加包括用于读取房间亮度的光传感器和充当指南针的磁力计。 “这些传感器让你可以建立一个真实的输入和输出程序......这是一个更深入的学习体验,”威尔逊说。 Sphero的教育应用程序 - Sphero Edu - 也已升级。在具有大型显示器的平板电脑,Mac,Chromebook和Windows机器上,切换按钮允许用户将编程接口分成两部分,一部分包含Scratch可视化编程语言,另一部分包含Java语言。 “以前,你必须在经常对语言切换”威尔逊说,现在他们提供了按钮。 Sphero Bolt售价149美元(比Sprk +多20美元)并配有感应式充电座,贴纸和带有标记基本方向的量角器。 它还提供15个便携包,适用于教育工作者,起价为1,950美元。 在配件方面,有一个新的符合航空公司标准的Power Pack便携包,最多可存放15个单元,并装有迷宫胶带和其他外围设备。 至于Sphero接下来会发布什么,威尔逊拒绝透露,但表示新的品牌玩具并不会立即发布。 “我们很可能不会将来做特许产品,”威尔逊说,“除非有计划变动的事情出现。” 原文 Sphero launches Sphero Bolt a light-up robot ball for education It's been roughly two years since Sphero — the folks behind 2016's adorable BB-8 robot — announced Sprk+, a plastic, programmable, app-enabled robot ball that teaches coding. In the intervening months, the company collaborated with Disney on licensed products like Ultimate Lightning McQueen, R2D2, BB-9E, and Spider-Man, and debuted a cheaper, smaller Sprk+ companion — Sphero Mini— focused less on education and more on games and activities. Today the Denver, Colorado-based startup reemerged from its Skunkworks labs with Spark Bolt, an upgraded Sprk+ with a few new bells and whistles. According to Adam Wilson, cofounder and chief architect, it's something of a recommitment to education for Sphero. More than 20,000 schools have already incorporated the company's products into their curriculums, he said. "Over the past two years, we learned how to build a character,"Wilson told VentureBeat in a phone interview, "[and] there's always been a programming aspect to our products. You don't have to program if you don't want to — we encourage you to play with the products — but there's a deeper programming [component] to Bolt.” Bolt boasts a UV-coated clear plastic shell that's waterproof and "highly durable"and taps sensors — including a magnetometer, accelerometer, ambient light sensors, motor encoders, and gyroscope — to keep track of its speed, acceleration, and direction. A Bluetooth Smart chip pairs it to smartphones and tablets up to 100 feet away, allowing them to act as its controllers. “We got a lot of feedback from educators,”Wilson said. “We put all of it together, along with what we thought would be the coolest thing to do.” One recurring theme was battery life — teachers wanted a robot that would last all day, not just the length of two or three classes. So Sphero’s engineers stuffed Bolt with a power pack that lasts more than two hours on a charge, about double the battery life of Sprk+. But Bolt's highlight might be its display: an 8 x 8 multicolor LED matrix that animates in real time. It can be programmed to show pretty much anything, from games to cool designs that react to data from Bolt’s sensors. One preloaded demo — Snake — has users maneuver a line by tilting the Bolt in on its axes. “It's almost like a full-output display,” Wilson said. “It expands the amount of content you can make for Bolt … [like] colors and shapes and different display items.” Another noteworthy improvement is a new infrared sensor that allows multiple Bolts to communicate with each other. It's especially handy when used in tandem with the LED matrix, Wilson said — the Sphero team used it to program a real-life game of Pac-Man, for example, where one Bolt acts as a player character and four others stand in as ghosts. Other hardware additions include an ambient light sensor that can read the brightness of a room and a magnetometer, which acts as a compass. “[These sensors] let you build a real program with inputs and outputs … It's a much deeper learning experience,” Wilson said. Sphero's app for education — Sphero Edu — has also been upgraded. On tablets, Macs, Chromebooks, and Windows machines with large displays, a toggle button lets users split the programming interface in two, with one side containing the Scratch visual programming language and the other its Java equivalent. “Previously, you had to switch [between them] a lot,” Wilson said. The Sphero Bolt costs $149 ($20 more than Sprk+) and comes with an inductive charging cradle, stickers, and a protractor with labeled cardinal directions. It's also available in a 15-pack for educators that starts at $1,950. On the accessories front, there's a new airline-compliant Power Pack carrying case that stores up to 15 units and comes loaded with maze tape and other peripherals. As for what comes next for Sphero, Wilson declined to spill the beans but said that new branded toys aren't in the immediate pipeline. “We most likely won't be doing [licensed] products [in the near future],” Wilson said, “[unless] the right thing comes around.” 原文发布时间为:2018-09-11 本文来自云栖社区合作伙伴“ 灯塔大数据”,了解相关信息可以关注“ 灯塔大数据”。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册