• [问题求助] MRS 3.1.0普通集群怎么安装开源的flink组件
    MRS 3.1.0普通集群怎么安装开源的flink组件,求助各位大神
  • [技术干货] 【CSDN官方】开源又好用的国产SPL-转载
     前言 WebService/Restful广泛应用于程序间通讯,如微服务、数据交换、公共或私有的数据服务等。之所以如此流行,主要是因为WebService/Restful采用了XML/Json这类多层结构化数据进行信息传递。XML/Json不仅是文本格式,而且支持多层结构,可承载足够通用和足够丰富的信息。但多层结构要比传统的二维表复杂,取数后再处理的难度也大。  背景 早期,没有专业的json/XML的后处理技术,Java开发者通常要采取硬写代码或入库再用SQL的方式。硬写代码工作量巨大,计算能力几乎为零,开发效率极低。SQL虽然可以提供部分计算能力,但存在明显的架构缺陷,不仅会因为引入SQL而制造额外的耦合性,而且会因为入库过程导致额外的系统延迟。此外,数据库只适合计算二维表,多层结构化数据的计算能力并不强。  后来,XPath/JsonPath、Python Pandas、Scala这类专业的json/XML的后处理技术出现了,才终于在保证较好架构性的同时,提供了一定的计算能力。但这些技术也存在各自的问题,XPath/JsonPath只支持条件查询和简单聚合,不支持一般的日常计算,比如排序、去重、分组汇总、关联、交集等,而且没有自己的多层数据对象,计算能力较差。  Python Pandas支持一般的日常计算,其数据对象dataFrame能描述二维表,但计算处理多层数据并不方便,而且和Java应用的集成性很不好。Scala的数据对象dataFrame也类似,可以描述多层结构,但计算处理也不方便。此外,Scala和Pandas对XML支持得都不好,要手工进行类型转换,或引入第三方类库,开发效率不高。  所以,SPL是个更好的选择。  专业多层数据对象 SPL是JVM下开源的结构化数据/多层数据处理语言,内置专业的多层数据对象和方便的层次访问方法,可以表达复杂的层次关系,为上层计算能力提供有力的支持。  SPL提供了专业的多层数据对象序表,可以直观地表现XML\Json的层级结构。  比如,从文件读取多层XML串,解析为序表:  A 1    =file(“d:\xml\emp_orders.xml”).read() 2    =xml(A1,“xml/row”) 点击A2格可以看到多层序表的结构,其中,EId、State等字段存储简单数据类型,Orders字段存储记录集合(二维表)。点击Orders中的某一行,可以展开观察数据:   序表也可以表达来自文件的多层Json(与上面的XML同构):  A 1    =file(“d:\xml\emp_orders.json”).read() 2    =json(A1) 点击A2格可以看到,来自Json的序表与来自XML的序表一样。事实上,SPL序表可以统一地表达不同来源的多层数据,无论XML还是Json,无论WebService还是Restful,这是其他技术难以做到的。  SPL提供了方便的多层数据访问方法,可以通过点号访问不同的层级,通过下标访问不同的位置。  第1层的单个字段的集合:A2.(Client)  第1层的多个字段的集合:A2.([Client,Name])  第2层所有记录的集合:A2.conj(Orders)  第1层第10条记录:A2(10)  第1层第10条记录的Orders字段(即所有下层记录):A2(10).Orders  第1层第10条件记录Orders字段的单个字段的集合:(A2(10).Orders).(Amount)  第1层第10条件记录Orders字段的第5条记录:(A2(10).Orders)(5)  第1层的第10-20条记录:A2(to(10,20))  第1层的最后三条记录:A2.m([-1,-2,-3])  SPL序表专业性强,可以表达复杂的层次关系。比如,针对多含多个子文档的多层Json:  [    {       "race": {           "raceId":"1.33.1141109.2",           "meetingId":"1.33.1141109"       },       ...       "numberOfRunners": 2,       "runners": [         {     "horseId":"1.00387464",               "trainer": {                   "trainerId":"1.00034060"               },           "ownerColours":"Maroon,pink,dark blue."           },           {   "horseId":"1.00373620",               "trainer": {                   "trainerId":"1.00010997"               },           "ownerColours":"Black,Maroon,green,pink."           }       ]    }, ... ] 进行不同层级的分组汇总(对trainerId分组,统计每组中 ownerColours的成员个数),一般的技术难以写出代码,SPL就简单多了:  A 1    … 2    =A1(1).runners 3    =A2.groups(trainer.trainerId; ownerColours.array().count():times) 强大计算能力 以序表为基础,SPL内置丰富的计算函数、日期函数、字符串函数,提供了强大的计算能力。依靠函数选项、层次参数等高级语法,SPL提供了超越SQL的计算能力。  SPL内置丰富的计算函数,基础计算一句完成。比如,对多层数据进行条件查询:  A 2    …//省略取数解析 3    =A2.conj(Orders) 4    =A3.select(Amount>1000 && Amount<=2000 && like@c(Client,“business”)) 可以看到,SPL对条件查询的支持很完整,包括关系运算符、逻辑运算符、正则表达式和字符串函数,如模糊匹配like。此外,SPL还支持在条件查询中使用数学运算符(函数)、位置函数、日期函数。  更多例子:  A    B 2    …     3    = A3.sum(Salary)    聚合 4    =A2.groups(State,Gender;avg(Salary),count(1))    第1层分组汇总 5    =A2.conj(Orders).groups(Client;sum(Amount))    第2层分组汇总 6    =A1.new(Name,Gender,Dept,Orders.OrderID,Orders.Client,Orders.Client,Orders.SellerId,Orders.Amount,Orders.OrderDate)    关联 7    =A1.sort(Salary)    排序 8    =A1.id(State)    去重 9    =A2.top(-3;Amount)    topN 10    =A2.groups(Client;top(3,Amount))    组内TopN(窗口函数) SPL内置大量日期函数和字符串函数,在数量和功能上远远超过其他技术甚至SQL,同样的运算代码量更短。比如:  时间类函数,日期增减:elapse("2020-02-27",5) //返回2020-03-03  星期几:day@w("2020-02-27") //返回5,即星期6  N个工作日之后的日期:workday(date("2022-01-01"),25) //返回2022-02-04  字符串类函数,判断是否全为数字:isdigit("12345") //返回true  取子串前面的字符串:substr@l("abCDcdef","cd") //返回abCD  按竖线拆成字符串数组:"aa|bb|cc".split("|") //返回[“aa”,“bb”,“cc”]  SPL还支持年份增减、求年中第几天、求季度、按正则表达式拆分字符串、拆出SQL的where或select部分、拆出单词、按标记拆HTML等功能。  SPL提供了函数选项、层次参数等方便的函数语法,可以提供更强的计算能力。功能相似的函数可以共用一个函数名,只用函数选项区分差别。比如select函数的基本功能是过滤,如果只过滤出符合条件的第1条记录,可使用选项@1:  Orders.select@1(Amount>1000)  数据量较大时,用并行计算提高性能,可使用选项@m:  Orders.select@m(Amount>1000)  对排序过的数据,用二分法进行快速过滤,可用@b:  Orders.select@b(Amount>1000)  函数选项还可以组合搭配,比如:  Orders.select@1b(Amount>1000)  结构化运算函数的参数常常很复杂,比如SQL就需要用各种关键字把一条语句的参数分隔成多个组,但这会动用很多关键字,也使语句结构不统一。SPL支持层次参数,通过分号、逗号、冒号自高而低将参数分为三层,用通用的方式简化复杂参数的表达:  join(Orders:o,SellerId ; Employees:e,EId)  优化体系结构 SPL内置易于集成的JDBC接口,可有效降低系统耦合性,并支持代码热切换。SPL支持多种多层数据源,可用一致的代码进行计算,使代码易于移植。  SPL提供了通用的JDBC接口,可以被JAVA代码方便地集成。 比如,将前面的SPL代码存为脚本文件,在JAVA中以存储过程的形式调用文件名:  Class.forName("com.esproc.jdbc.InternalDriver"); Connection connection =DriverManager.getConnection("jdbc:esproc:local://"); Statement statement = connection.createStatement(); ResultSet result = statement.executeQuery("call groupBy()"); 1 2 3 4 SPL脚本文件外置于JAVA,使计算代码和应用程序分离,可有效降低系统耦合性。SPL是解释型语言,修改后不必重启JAVA应用就可以直接执行,从而实现代码热切换,可保障系统稳定,降低维护难度。  SPL支持来自WebSerivce和Restful的多层数据。比如,从WebService读取多层XML,进行条件查询:  A 1    =ws_client(“http://127.0.0.1:6868/ws/RQWebService.asmx?wsdl”) 2    =ws_call(A1,“RQWebService”:“RQWebServiceSoap”:“getEmp_orders”) 3    =A2.conj(Orders) 4    =A3.select(Amount>1000 && Amount<=2000 && like@c(Client,“business”)) 类似地,从Restful取多层Json,进行同样的条件查询:  A 1    =httpfile(“http://127.0.0.1:6868/restful/emp_orders”).read() 2    =json(A1) 3    =A2.conj(Orders) 4    =A3.select(Amount>1000 && Amount<=2000 && like@c(Client,“business”)) SPL支持MongoDB、ElasticSearch、SalesForce等特殊数据源中的多层数据,可直接从这些数据源取数并计算。  比如,从MongoDB取多层Json,进行条件查询:  A 1    =mongo_open(“mongodb://127.0.0.1:27017/mongo”) 2    =mongo_shell@x(A1,“data.find()”) 3    =A2.conj(Orders) 4    =A3.select(Amount>1000 && Amount<=2000 && like@c(Client,“business”)) 除了多层数据,SPL也支持数据库,txt\csv\xls等文件, Hadoop、redis、Kafka、Cassandra等NoSQL。虽然数据源不同,但在SPL中的数据类型都是序表,因此可以用一致的方法计算多层数据,这样的计算代码也更容易移植。  XPath/JsonPath、Python Pandas、Scala等技术存在各自的缺陷,开发效率不高。SPL内置专业的多层数据对象和方便的层次访问方法,擅长计算结构复杂的多层数据。SPL内置丰富的库函数,提供了超过SQL的计算能力。SPL支持易用的JDBC接口、代码外置能力,支持来自多种文件和网络服务的多层数据源,可大幅提高WebService\Restful取数后的开发效率。  SPL资料 SPL官网 SPL下载 SPL源代码 欢迎对SPL有兴趣的加小助手(VX号:SPL-helper),进SPL技术交流群 ———————————————— 版权声明:本文为CSDN博主「知心宝贝」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_53673551/article/details/125271219 
  • [交流吐槽] 建议华为开源镜像站Ubuntu镜像直接把sources.list内容放出来
    华为开源镜像站的Ubuntu镜像界面里sources.list文件的更新是通过sed工具实现如果之前对官方sources.list进行过修改,比如改成过阿里云镜像站、清华镜像站,则sed工具操作会失败建议直接将包含华为镜像站连接的sources.list内容放出来,用户只需进行复制粘贴即可完成更新
  • [讨论交流] 开源之夏 | 【结项报告】毕昇Fortran编译器内联动态库函数str_copy
    项目简介项目名称:毕昇Fortran编译器内联动态库函数str_copy项目描述:毕昇Fortran编译器是一款基于classic flang的高性能Fortran编译器,支持Fortran编程语言的编译和运行,提供强大的数值计算和数据处理能力,在科学计算领域应用前景广阔。f90_str_copy_klen是一个实现字符串拷贝功能的动态库函数,本项目是对该动态库函数进行内联,预期提高编译器字符串拷贝的性能。项目导师:peixin-qiao项目开发者:王哲葳,华东师范大学硕士在读项目链接:cid:link_2开发详情方案描述Flang编译器主要由flang1和flang2两个组件组成,其中flang1用于解析Fortran代码并生成中间表示,然后通过flang2生成LLVM IR并输出。本项目的主要任务就是在flang2中对解析出的“f90_str_copy_klen”函数进行内联优化。这个项目的方案分为如下几步:01flang2会获得通过Fortran生成的IR指令列表,遍历该列表,寻找到函数调用指令“I_CALL”。02通过“I_CALL”指令的位置查询所调用的是否为需要被内联的函数,如本项目需要实现的“f90_str_copy_klen”函数的内联。在确认需要内联的函数后开始生成相应的指令,“f90_str_copy_klen”函数的内联指令生成过程如下:将复制后得到的字符串称为目标字符串,待复制的字符串称为输入字符串。首先需要从原先的指令中获得输入字符串并开辟一系列内存空间用于记录目标字符串、输入字符串的起始地址、字符串索引及字符串长度。对每一个输入字符串,从头开始遍历。分别判断当前目标字符串、输入字符串的索引是否小于其长度,如果均符合则将输入字符串中对应索引的字符复制到目标字符串的相应地址中。如果输入字符串索引大于等于其长度则处理下一个输入字符串。如果目标字符串索引大于等于其长度则停止字符串的复制。按照2所述流程依次遍历函数中的输入字符串,直至所有字符串都完成复制。目标字符串索引是否仍小于其长度,若是,则将目标字符串中剩余未被赋值的字符用空格进行补充。将实现上述功能的指令替换掉对应的“I_CALL”指令。03继续flang2中的流程以生成对应的LLVM IR 文件。项目产出☑ 实现了项目方案中所需的功能。☑ 分别用一个字符串、三个字符串作为输入字符串,完成了共十种输入字符串各种长度情况下”f90_str_copy_klen”函数内联的的功能性测试,在这些输入字符串中也包含了一些ASCII码小于32(ASCII码为32表示空格)的特殊字符。十种情况如下:a=blen(a) < len(b)len(a) = len(b)len(a) > len(b)a = b // c // dlen(a) < len(b)len(a) = len(b)len(b) < len(a) < len(b) + len(c)len(a) = len(b) + len(c)len(b) + len(c) < len(a) < len(b) + len(c) + len(d)len(a) = len(b) + len(c) + len(d)len(a) > len(b) + len(c) + len(d)☑ 将“f90_str_copy_klen”在函数中调用一亿次,对内联前后所花费的时间做对比。实验结果显示没有内联时运行花费的时间约为10秒,内联后运行花费的时间约为0.7秒。测试代码如下:主函数:main.f90program main   integer :: i   character(20) :: a, b, c, d   a = "aaaaaaaaaaaaaaa"   b = "aaaaaaaaaaaaaaa"   c = "aaaaaaaaaaaaaaa"   do i = 1, 100000000     call test(a, b, c, d, 20)   enddo end字符串拼接拷贝函数:test.f90subroutine test(a, b, c, d, n)   integer :: n   character(n) :: a, b, c, d   d = a // b // c end subroutine测试方法如下:未优化前:$ flang main.f90 -c $ flang test.f90 -O3 -c $ flang main.o test.o -o a.out $ time ./a.out real 0m10.190suser 0m10.180ssys 0m0.004s优化之后(编译选项-Mx,218,0x1使能该优化功能):$ flang main.f90 -c $ flang test.f90 -O3 –c –Mx,218,0x1 $ flang main.o test.o -o a.out $ time ./a.outreal 0m0.706suser 0m0.702ssys 0m0.004s后记除开源之夏外,Compiler SIG还发布了十多个开源实习任务(戳 开源实习1、开源实习2 了解详情),欢迎各位高校生报名参与~
  • [热门活动] 送算力和京东券啦!!!昇思MindSpore大模型体验平台即日开启公测啦~
    昇思大模型体验平台正式上线啦!!参与公测即送大礼包!!昇思 MindSpore 社区打造了一站式大模型体验平台,已经正式上线啦!!。开发者可以在线体验大模型推理任务,从而最便捷地使用基于昇思的创新大模型。昇思大模型体验平台集模型选型、在线推理、在线训练为一体,还支持了 Gradio 项目可视化推理、在线进行迁移学习。开发者可以在线查询基于昇思 MindSpore 构建的模型和数据集,并选择自己感兴趣的大模型及相关任务,如鹏城.盘古大模型的知识问答、检索和推理等、紫东.太初多模态大模型的以音搜图、以图生音和以音生图等。昇思大模型体验平台:https://xihe.mindspore.cn​​​​​昇思大模型体验平台将于即日起开启公测,截止至 9 月 30 日参与平台公测将可享受以下福利:第一阶:首次注册,赠送 1 小时算力第二阶:下载首个模型,赠送 1 小时算力第三阶:邀请新用户成功注册,邀请最多新用户的前三名老用户,赠送价值 5000 元、3000 元、1000 元京东卡第四阶:下载模型最多用户,前三位赠送价值 3000 元、2000 元、1000 元京东卡第五阶:创建可运行项目最多的前三位赠送 2000 元、1000 元 、500 元的算力更多相关福利可联系小助手微信: mindspore0328
  • [问题求助] 为什么我的代码编译不了?
    而且必须进入bearpi-hm_nano再进行ls才能看见和视频一样的文件
  • [热门活动] 【MindSpore开源活动】同学们不要错过!开发者任务来啦!赚积分赢大奖!
    【活动】参与MindSpore开源活动,赚积分即可兑换大奖啦!完成任务累计积分,兑换对应分值奖品! 快来加入MindSpore开发者社区,可获得MindSpore社区开发者证书,更有机会受邀成为SIG成员!更多开发者任务等你来挑战!活动详情请查看活动介绍!一.MindSpore开源活动链接集合1.学习教程链接MindSpore官网学习地址:cid:link_0B站学习视频地址:cid:link_52.开源活动页面开源活动页面链接:cid:link_13.疑难问题解决Issue创建链接:cid:link_3技术问题issue汇总跟踪贴链接:cid:link_24.PR提交说明PR提交学习视频链接:cid:link_4cla协议签署链接:cid:link_6二.任务活动须知1.任务——活动规则任务规则说明:分值随任务难度、工作量的提升而增加,中高级的任务没有完成数量的上限,初级任务最多只能完成4个超出部分不计入总积分;2.任务——活动玩法    参与流程:通过【学习教程】链接学习MindSpore【入门/进阶】;任务认领——在对应的任务页面中的评论区回复【认领】;提交PR——详见图中【PR提交说明】;等待PR审核——等待技术人员审核PR如有修改会在评论区指出,提交后请关注页面信息;领取积分——完成任务后即可领取积分,积分查询可联系活动页面的【活动助手】;兑换奖品——积累到一定积分可在活动页面联系【活动助手】,说明兑换分值和奖品即可(对应分值可在图中或活动页面查看);社区权益——可获得MindSpore社区开发者证书,邀请加入SIG;​3.任务——活动说明1.参与华为重叠合作项目内容的学生、在职华为员工和实习生不得参与本次活动;2.活动最终解释权,归活动主办方所有;
  • [热门活动] 【活动预告】LLVM Clang开源社区线下见面会--加拿大多伦多地区
    活动介绍LLVM是模块化和可重用的编译器和工具链技术的集合。它是许多现代编译器的基础,包括Clang (C/C++/Objective-C)、GHC (Haskell)、DragonEgg(Ada、Fortran、...)、许多商业OpenCL编译器、RenderScript等。LLVM开源社区聚集了众多在LLVM上工作或与LLVM合作的研发人员,在领域内颇具影响力。本次活动是后疫情时期,加拿大多伦多地区首次举行的LLVM/Clang开源社区线下见面活动,欢迎每个对LLVM、Clang、lldb、Polly、Swift、Rust感兴趣的开发者参与讨论。华为多伦多异构编译器实验室资深编译器研究员Amy Wang将就“使用MLIR for AI加速器优化SYCL程序”专题进行演讲,展开讨论,碰撞灵感火花。活动时间东部夏令时间:2022年8月17日 18:00-20:00北京时间:2022年8月18日 06:00-08:00活动地点Room 1, Toronto Public Library – North York Central Library5120 Yonge St, North York, ON, Canada演讲内容主题:Optimizing for SYCL Programs with MLIR for AI Accelerators简介:There is a growing need for higher level abstractions for device kernels in heterogeneous environments, and the multi-level nature of the MLIR infrastructure perfectly addresses this requirement.  As SYCL begins to gain industry adoption for heterogeneous applications and MLIR continues to mature, this talk focuses on the effort in targeting SYCL's device code generation for Huawei's AI accelerator.  It also covers numerous interesting aspects ranging from runtime support, to SYCLops, an LLVM-to-MLIR converter, to optimizations performed in MLIR.演讲嘉宾Amy Wang is a senior compiler researcher working for Huawei's Heterogeneous Compilers Lab in Markham.  Her past research areas include auto-SIMDization, transactional memory and the Java language runtime. Recently, she spends most of her effort in SYCL device code generation targeting Huawei's AI accelerator, a.k.a. the DaVinci chip, using MLIR.  She had previously worked in IBM's XL compiler team prior to joining Huawei.参加方式线下活动注册:cid:link_0活动将全程录像并上传至YouTube及B站Compiler SIG介绍Compiler SIG 专注于编译器领域技术交流探讨和分享,包括 GCC/LLVM/OpenJDK 以及其他的程序优化技术,聚集编译技术领域的学者、专家、学术等同行,共同推进编译相关技术的发展。扫码添加 SIG 小助手微信,邀请你进 Compiler SIG 微信交流群。原文转载自 毕昇编译-活动预告 | LLVM Clang开源社区线下见面会--加拿大多伦多地区
  • [版主精选] 【华为云四大产品重磅开源】今天,我们开源啦!
    海量数据的聚合分析如何满足业务要求?如何快速构建跨云、跨边、跨集群的云原生应用?如何快速构建兼容多种推理框架的高性能AI应用?2022年6月16日在华为伙伴暨开发者大会上,华为云公布四大重磅开源项目, 旨在帮助开发者解决上述问题。openGemini:openGeminiKurator:kurator-dev · GitHubKappital:Kappital · GitHubModelBox:ModelBox | ModelBox是一套统一的端边云AI应用开发和运行框架的规范,以及在此规范上所实现的运行时框架。...#华为伙伴暨开发者大会2022# #华为云#
  • [技术干货] 昇腾开源生态总监黄之鹏,为你解码AI开源的技术应用与未来趋势
    近年来,随着深度学习和云计算的不断发展,AI开源逐渐成为众多开发者谈论的核心,其重要性显著提升。AI开源引领着各项技术应用向前,而技术应用又进一步促进AI开源的发展。4月11日,OpenI启智社区特邀本社区技术委员会委员、华为昇腾开源生态总监黄之鹏老师作客由OpenI和InfoQ联合推出的《人工智能开源录》直播访谈栏目,解码“AI开源的技术应用与未来趋势”。完整视频一、个人经历及对开发者的建议黄之鹏老师介绍自己接触过很多开源社区,初入华为公司时接触的是云计算开源的相关社区,比如OpenStack,OpenDaylight,OpenVswitch,以及云原生Kubernetes社区。从2019年下半年开始,便开始负责MindSpore整个开源社区的建设。阴错阳差与AI结缘做通信出身的黄老师介绍自己一开始接触的是比如快速傅里叶变换的这些领域,本应该是去到华为的无线部门,却阴差阳错与云计算结缘。黄老师说数学是他与AI之间的一个连接点。早在他读硕士期间,他接触过一个无线传感网的项目,为了设计一套比较好的预测网络拥塞的协议,当时在用卡尔曼滤波器(Kalman Filter)的工具去实现算法过程中,黄老师发现它与深度学习的很多原理有着类似。四五年前的AI热潮下,黄老师开始正式接触AI。由于曾经深入地看过一系列AI相关的论文,黄老师发现,人工智能研究涉及的很多关于数学的推导、演算,与做通信出身的他所接受到的数学的训练非常类似。这些经历促使黄老师比较快速的从一个门外汉入门AI。开源初心不能忘黄老师认为,目前国内很多企业没有特别处理好的一个问题是做开源社区的初心和期望不够明确。大家普遍认为做开源社区是通过四处宣讲布道来得到影响力,然而,在与开源社区真实参与过开发的人进行交流时,会发现做开源的初心最终还是会回到“人”这个命题上。相比有些公司为开源设定的商业KPI这冷冰冰的数字而言,黄老师通过分享社区一个身处东北的开发者在东北去年初雪时,为从未见过雪的社区运营助手“小猫子”在雪地上写上她名字的有趣故事,来表达自身更关注开源的人情温度,也让他感觉这是2021年成就感最强的事情。同时,黄老师也认为,开源最主要的在于动作,一定要发自内心地做对很多事,目标自会水到渠成。黄老师回忆他接触开源社区初期,在北美曾发生过一件让他印象深刻的事情,为了打造一个全球化的社区,需要大家克服时差导致的晚睡早起、精力有限的困难。然而,美国开发者们在面对来自有着时差的日本、英国和印度等国用户的提问时,却响应非常快。大家在开源时的忘我拼搏精神颠覆了对“美国人习惯懒惰,华人非常刻苦”的惯有刻板偏见。开发者建议 | 新手小白如何选择适合自己的开源项目黄老师结合他本人的个人经历,建议大家选择一个自己最熟悉或擅长的领域,去尝试做第一个开源项目。而他当时虽然踏进了全然不懂的云计算行业中,但也是选择他最熟悉的协议设计作为他第一个开源项目的切入点,然后查看相关的论文,跟随项目开例会,慢慢熟悉和参加进去。开发者建议 | 人工智能能量补给站关于人工智能,黄老师推荐了一本由作者侯世达写的新书《我是个怪圈》,以及他之前最有名的、非常集大成的一本书《GEB》(集异壁),介绍三个看似不太关联的艺术家,通过一系列问答故事,将很多关于人工智能的理解传承到了《GEB》书中,可以很好的帮助大家补充一些关于人工智能的人文周边背景。 二、人工智能开源生态浅谈深度学习领域的技术应用与突破深度学习框架是推动AI应用大规模落地的关键力量,在人工智能技术体系中占据非常重要的地位。那么,如何选择一个得心应手的深度学习框架,以及目前主流的开源开源的深度学习框架有哪些?黄老师基于个人角度浅谈了框架的发展简史,比如,最初的框架为浅层框架,由于大家最始接触到的是类似Theano、Caffe这一代的框架,然而它们更多属于工具类而非如今的框架。从2016年开始,大家就迎来了第二代浪潮即通用框架或较深层框架时代里的熟悉框架,比如Tensorflow, PyTorch, 和李沐老师的Apache MXnet,这一批的框架可以提供一套完整的语义描述,基于这些框架可以写出某一类任务的若干模型。第三次浪潮便是以昇思MindSpore、谷歌的Jax为代表,而第三代框架有几个特点,首先是AI+科学计算的强能力,未来框架必备的一个能力便是能支撑深度学习和科学计算的结合。其次是基础模型的研发,作为新一代的框架,它需要能支持训练基础模型,且是面对某一领域具备很强泛化性和基础能力的模型。第三个是全场景,由于整个AI应用的范畴在多个场景都会出现,新一代的框架需要在很多个不同的场景下,基于一套框架便可以支持开发AI应用。总的来说,就是经过三波浪潮,目前,深度学习框架的已经发展到了能够与科技深度结合,支持基础模型的研发,支持全场景,面对不同场景具备生成能力。支持全场景覆盖的MindSpore版本迭代经历MindSpore目前已经到了1.6版本,黄老师介绍版本迭代的时间比较固定,大致有两个阶段,而在开源的第一年,也就是2020年是最疯狂的时候,基本一个月就发布一个可商用的版本。在发布了1.0这个对用户而言可以放心使用的版本之后,从2021年开始,MindSpore基本上保持稳定的一个季度发布一个版本的节奏。目前,MindSpore可以说是国产开源项目的代表性案例。在这两年的发展过程中,MindSpore都是从完全原创的角度为每一个版本不断添加新的功能特性,比如图学习、联邦学习、增量学习等。MindSpore在过去的2年里,以尽可能最短的时间迅速夯实基础,同时也在不断推出非常有竞争力的东西。MindSpore开源治理经验分享根据最新报道,昇思MindSpore今年将融入鸿蒙和欧拉生态,成为内置的 AI 引擎。昇思MindSpore 到目前,已突破140万用户下载量,服务了5000+ 企业,短短2年取得了傲人的成绩,这都跟MindSpore开源社区的运作与管理分不开。黄老师分享治理社区经验时,指出治理是一个非常专业的领域,并介绍了它的三个维度。最重要的维度是开放性,而MindSpore算是企业推动开源AI框架里,第一个采用开放治理模式的社区。比如,社区不仅有大家都能看到的指导各机构运作的章程,还有14名横跨中国、欧洲、英美等代表组成的全球性的技术委员会,而MindSpore版本特性模块的开发是通过SIG(Special Interest Group)组织,所有需要跨模块合作以解决场景性问题的是通过WG(Working Group)来承载,同时也会通过大量的投票活动收集大家的意见。第二个维度是多样性。MindSpore的多样性体现在很多方面,比如,面向国内外不同城市、不同企业、不同高校的MSG(MindSpore Study Group)这一类的开发者社群,把开发者都组织起来参加社区的活动。多样性也体现在社区很多的专题活动,比如,科技从业女性主题的自由分享和交流经验的Women In Tech。第三个维度是可信,企业对很多开源软件的使用是基于一定信任的,所以MindSpore也跟国内很多标准组织、产业组织进行了合作。通过社区治理推动开源项目和开源社区更值得信赖。为OpenI启智社区深度打Call提到OpenI启智社区,黄老师在线为它打Call。MindSpore与OpenI启智社区有着非常紧密的合作,共同举办过诸如集结号这样的开发者活动,邀请来自各个高校的学生利用假期的时间集中在一起进行MindSpore相关模型的开发活动。黄老师说他跟启智的渊源其实要比MindSpore还要久,并介绍OpenI启智是以鹏城实验室等科研机构进行支撑和推动建设的国内第一个专注人工智能开源的非常好的社区。这对于推动科研工作者们进行开源是非常难能可贵的,同时,OpenI启智社区的章程设计也有这很高的完备度,欢迎大家通过访问官网(www.openi.org.cn)进行查看。社区也经常邀请人工智能开源相关的专家学者进行开源与知识产权结合的讲座分享,这在国内目前依旧是非常小众的领域,而它对科研院校和企业的开源应用非常重要。为了保护知识产权,启智社区在初期还建立了自己的开源许可证,希望能探索更多符合我国国情的开源知识产权管理方法。同时,启智社区有着非常多种类且名字非常有趣的开源项目,比如启智章鱼、启智珊瑚等很有深圳特色的项目名称,对人工智能感兴趣的人,可以在启智社区里找到自己非常喜欢或者感兴趣的项目。另外,OpenI启智社区也经常举办各种跟开源相关的活动,除了集结号,还有校园行系列分享活动、开发者大会、全国人工智能大赛等多样化活动,推动我国人工智能开源发展。三、人工智能开源的未来发展开源越趋年轻化之象目前,MindSpore社区中的布道师以及开发者,普遍存在年轻化的趋势,且很多来自在校大学生,对于这种年轻化趋势的现象,黄老师非常赞同,认为开源本就应该为年轻人提供一个更广阔的舞台,让他们更愿意去讲述分享自己的故事,让开源更具朝气。同时,也因为目前人工智能是处于起飞状态的朝阳产业,越来越多的高校开设人工智能的专业以及人工智能学院,吸引了更多年轻人踏入到人工智能学科与行业。同时,黄老师也指出其中的挑战,即在跟商业接轨这块,需要他们更加认真、严肃对待开源。尤其在打造专业的开源社区时,日常涉及的工作虽然枯燥,但为开发者和企业提供的每一项服务都类似于在精心打造一款产品,需要严肃认真交付和不断迭代、复盘,希望更多年轻人关注开源是一件很专业也很严肃的事情。四、直播互动精选问答自动驾驶的全面发展直播间有小伙伴提问关于“AI驾驶是否会全产业链发展”的问题,黄老师认为,对于跟人工智能或者深度学习的结合来说,自动驾驶算得上是最全面的一个场景。因为它要涉及深度学习几大类任务,比如对图像做大量处理的cv类的任务,以及nlp类的任务去做很多跟自动驾驶相关的功能,还有类似交规遵从这类强化学习方面的任务。由于自动驾驶本身是一个会把很多领域的深度学习技能都集合到一起的领域,所以自动驾驶将来会形成一种全面的发展。CV和NLP模型最终将实现统一有小伙伴提问黄老师如何看待CV和NLP模型统一的发展方向,黄老师提到最近比较火的、业界也有不少专家很看好的transformer,认为它非常有希望能提供一套把cv类的任务和nlp类任务最终实现统一的架构。黄老师还回忆他们之前在做有关论文的分享时,发现如果transformer作为大一统架构,则意味着语义可以作为描述包括视觉、自然语言处理等一系列广泛任务的基础,将很多此前只在书本上的哲学讨论,一下子拉进了现实,它也将带来更深远的影响。不过基于其他研究,除了transformer,也将有其他的方式来实现统一。开源是否能帮助国产深度学习框架在通往主流道路上实现跨越式发展黄老师谈起了他在InfoQ发布的第一篇关于“对开源的作用应该如何认知”的文章,他认为无论是深度学习框架还是人工智能,能植根于中国的依然是技术创新,但它还要依靠大量的科学家、工程师踏踏实实的不断研究算法、做工程实现,来弥补当前国产技术的不足,推动国产深度学习框架不断迭代发展。而开源是目前能够看到的帮助创新的最佳方式,虽然它并不能帮助跨越式发展,但它能加速整个生态的成长。如果用开源的方式去帮助核心技术发展生态,它带来的最大好处就是不确定性,通过不断引入这些规划之外的不确定性,才能不断加速技术创新和生态的成长。MindSpore的一些优势及差异点黄老师以Jax为例与MindSpore做对比,指出Jax的主要目的是为了让NumPy在GPU和谷歌的TPU上跑得更好,而MindSpore的优化对象则是昇腾,这个国产自主研发的AI硬件。MindSpore本身支持主流的CPU、GPU,以及昇腾,尤其对昇腾有深度的优化。它与Jax的区别在于,MindSpore优先支持自主生产的AI硬件平台性能,而MindSpore也是昇腾平台上跑同类任务最优的框架。其次,MindSpore是一个比较通用的支持全场景的框架,JAX从它的定位出发,在全场景相关支持上目前尚未有很成熟的思路。黄老师心得总结黄老师结合自身从门外汉攻入人工智能领域的经验,建议想从事人工智能开源相关的非AI专业的小伙伴们,在掌握人工智能基础必备的数学技能、读Paper的能力、找到好的工具(比如昇思MindSpore社区团队开发的TinyMS)的同时,排除对未知的恐惧,选择一个像MindSpore这样的开源社区参与进去,与社区专家多交流多学习,从而加速自身入门人工智能的速度。关于OpenI启智社区OpenI启智社区是以鹏城云脑科学装置及软件开发群智范式为基础,由新一代人工智能产业技术创新战略联盟(AITISA)组织产学研用协作共建共享的开源平台与社区。官网链接:https://openi.org.cnAI协作平台:https://git.openi.org.cn
  • [热门活动] 【MindSpore开源活动第二期来袭】Gitee认领任务攒积分,赢取证书+豪礼!
    MindSpore开源活动第二期来袭!认领 “初级”、“中级”、“高级”不同级别的任务完成即可赢取相应积分开发者证书+丰厚好礼等你来拿!点击立即参加!!期待您成为开源社区的贡献者加入MindSpore开发者行列,携手推进社区发展~活动详情:https://gitee.com/mindspore/community/issues/I4YQNG
  • [主题讨论] 对刚刚好满五个月的MindSpore学习总结
    刚刚看了一下自己第一篇博客的时间,居然是5月30号,没想到满打满算已经过去了5个月,时间确实快啊~ 今晚各位大佬开始疯狂肝起来,我这个小萌新确实有点慌,也加入了大家的“内卷”平台,从开始5月6月的独占界面,到后来每发一篇就会被“雪藏”在第一界面,最后如今一眨眼就是首页被霸占哈哈哈,我也算是这个平台的“小老人”啦 很感谢这个比赛让我学习到MindSpore深度学习框架,其实在开始这个比赛之前,我也只是学过python和听过吴恩达老师的机器学习的小菜鸡,当学长让我们参加这个比赛的时候,我们三个人受宠若惊,也生怕自己在这个领域的第一场比赛就以失败告终,所以我们三个就卯起劲来写标注。最开始的时候确实什么都不懂,感觉,哇,这个好难啊,这个到底怎么写鸭,到现在算是入门级的小菜鸡了吧哈哈哈,还是有很多大佬在我们上面,人外有人天外有天,感觉开发出这个框架的大佬们是真的很厉害!!!主要是还开源!!!真的是我们这些在学校上学的小菜鸟的绝佳学习机会与实践平台! 当我第一次下载MindSpore框架的时候,我就遇到了很多困难,卸载python,下载python,pip install不能使用,MindSpore框架不能运行,各种问题接踵而来,但是在小C站和华为云的平台中,有很多大佬在耐心的教我们这些小萌新如何跳过各种坑,如何玩的六起(嘿嘿~) 最后我也算是会使用MIndSpore的小菜鸡了,后悔的是,我没有把这些学习经历转化为博客展现给大众,这样也算是“有理有据”,最后我也就是兴趣来了,发了一篇保姆式下载MindSpore的小博客。 其实这是一场艰难的拉锯战,我们三个队员也是痛苦与乐并存,开始的时候,一个星期1篇,到后来一个星期2篇,最后一个月一天2篇甚至3篇。起初是学长天天耳提面命的催我们写,到后来我们自己沉浸其中,不估时间和数量的写,最后到今天的“血拼”现场极限厮杀,其实这就是比赛带来的乐趣与快感,还有自己意想不到的许多知识收获。我们在这里锻炼到了自己的毅力与坚定,也学到了在书本上学不到的知识。 评委老师可以把我这一篇文章看做标标准准的“水文”,哈哈哈哈因为确实没有啥技术含量。最后的截至时间也要到了,其实说一个小小的请求,希望官方的教程文档可以做的详细一点,小菜鸡学起来确实好痛苦,学一点就得查查华为云哈哈哈哈,可能是我的知识还没有到位吧,需要后续继续补补了 无论如何,这五个月的辛苦与坚持值了,我们明年开源大赛再见~
总条数:28 到第
上滑加载中