• [技术干货] 【转载】SDK 和 API 的区别是什么?
    首先讲个小故事:研发人员A开发了软件A,研发人员B正在研发软件B。有一天,研发人员B想要调用软件A的部分功能来用,但是他又不想从头看一遍软件A的源码和功能实现过程,怎么办呢?研发人员A想了一个好主意:我把软件A里你需要的功能打包好,写成一个函数。你按照我说的流程,把这个函数放在软件B里,就能直接用我的功能了!其中,API就是研发人员A说的那个函数。这就是API的诞生。日常生活中,我们有很多类似API的场景,比如:电脑需要调用手机里面的信息,这时候你会拿一根数据线将电脑手机连接起来,电脑和手机上连接数据线的接口就相当于“API接口”。那SDK又是什么?SDK 就是 Software Development Kit 的缩写,翻译过来——软件开发工具包。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做SDK。SDK被开发出来是为了减少程序员工作量的。比如——有公司开发出某种软件的某一功能,把它封装成SDK(比如数据分析SDK就是能够实现数据分析功能的SDK),出售给其他公司做开发用,其他公司如果想要给软件开发出某种功能,但又不想从头开始搞开发,直接付钱省事。 现在可以谈谈API和SDK的区别了。总的来说,两者没有值得比较的区别,因为是具有关联性的两种东西。你可以把SDK想象成一个虚拟的程序包,在这个程序包中有一份做好的软件功能,这份程序包几乎是全封闭的,只有一个小小接口可以联通外界,这个接口就是API。比如——我们现在要在企业ERP系统中增加某个功能(比如自动备份、数据分析、云存储等),但又不想耗费大量时间、也没那么多研发亲自去做这个功能。这时我们可以选择使用这个“SDK”软件包,把ERP系统连接上API接口,就可以使用SDK软件包里的功能。最后,贴近生活讲讲两者的关系:有一杯密封饮料,它的名字叫做“SDK”。饮料上插着吸管,吸管的名字叫“API”。把你叫做“XX系统”。如果你想喝到SDK里的饮料(让系统拥有SDK中的功能),你必须通过API这根吸管来实现(通过API连接你的系统和SDK工具包),否则你就喝不到饮料。所以:SDK=放着你想要的软件功能的软件包API=SDK上唯一的接口 现在你明白了吗?  
  • [服务构建器] 【华为云Stack ManageOne 服务构建器】服务构建器四编场景之【新编】· API编排介绍
    背景企业信息化改造、上云之后,仍然有以下痛点亟待解决:不同部门各种IT系统重复造轮子,系统越来越多,开发、维护成本高;不同部门系统之间无法共享,业务申请人各部门之间跑断腿,流程厚重效率低;云内云外系统无法协同,一套业务登录好多个系统,自动化变为半自动,效率打折;。。。。。。服务构建器致力于解决客户高效用云的问题,当然义不容辞,急客户之所急,祭出大杀器~~API编排能力。简介服务构建器以对政企已有IT能力治理以及政企服务供给侧改革为使命,为政企客户提供极简、开放和高效的在线服务构建平台能力,实现IT资源及能力的在线申请、开通、配置和部署,统一IT能力服务化流程,提升IT能力供给效率,构建IT能力服务化生态。API编排伴随当前业界火热的Serverless理念,基于BPMN标准,提供极简的图形化设计器,以拖拽方式生成表单界面和业务流程。其理念就是通过把政企各部门、云内外的各种IT系统的接口能力整合起来,像搭积木一样组成一个新的服务,解决上述背景章节中的痛点。支撑服务构建器的四大场景(重编、混编、新编、联编)中的“新编”。像这样:API编排涉及功主要能块1. 服务API提供者2. 表单设计器3. 流程设计器API编排使用流程服务API提供者(接入需要编排的系统的API) -> 创建服务模板(表单设计器(设计申请表单) -> 流程设计器(设计业务流程)) -> 上线服务 -> 申请服务。API编排基本能力目前API编排的表单设计器支持10中基本界面渲染控件,支持设置显示控制逻辑等,满足一般业务的界面渲染,后续版本会进一步丰富控件类型。流程设计器可以通过拖拽方式设置API的调度,支持子流程,支持数值计算、字符串处理、数组、加解密等30+的丰富内置函数,用于对输入、输出及流程中的过程变量进行计算。案例某大型银行的内部的一种自研的缓存中间件,由于涉及7个部门、5个系统,效率较低,故现状按照每月一个版本申请一次。也就是说某个IT业务部门想申请使用该缓存中间件集群,需要提前一个月向IT管理部门申请版本,然后一个月内相关部门在不同的系统之间申请发放不同的资源,最终才能发放给业务部门使用。该缓存中间件架构如下图:其涉及的部门以及IT系统:通过服务构建器的API编排能力,我们将其整合为如下的流程以及申请界面,将其上线到服务目录中,用户自助申请,审批后流程自动自行,申请人员不用再各部门之间跑腿盖戳,效率大幅提升:申请界面部分截图:流程处理:最终效果:想进一步了解服务构建器的API编排能力?请参考HCS的在线帮助文档中的“服务构建器->API编排”章节。
  • [方案分享] ModelArts 在线服务API对接demo-java版本
    # 1. 服务说明 ModelArts在线服务:将训练好的模型通过modelarts在线服务平台部署为一个Web Service服务。对外提供一个标准的Restful API,可使用HTTPS协议访问。# 2. Api对接前置说明## 2.1 确认服务正常### 2.1.1 确认服务运行状态Ⅰ. 在华为云控制台查看已部署的在线服务,确认状态为运行中。!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202111/23/185859gzar2aitfez2ommw.png)Ⅱ. 进入已运行的在线服务,进入预测功能,进行接口调用。a.上传图片!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202111/23/185917bas9rulxltospkpk.png)b.图片预测!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202111/23/185926uhslqcnczf94hbmt.png)### 2.1.2 获取tokenⅠ. 请求接口方式:https://support.huaweicloud.com/api-iam/iam_30_0001.html集成华为SDK:https://sdkcenter.developer.huaweicloud.com/?product=%E7%BB%9F%E4%B8%80%E8%BA%AB%E4%BB%BD%E8%AE%A4%E8%AF%81%E6%9C%8D%E5%8A%A1&language=javaⅡ 调试过程,可以使用API Explorer 调用统一身份认证服务 KeystoneCreateUserTokenByPassword接口获取IAM用户token:https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=IAM&api=KeystoneCreateUserTokenByPassword# 3. Demo适用服务说明该服务调用demo适用于Java语言,调用华为云mdoelarts在线服务、APIG等涉及到图片上传的以及返接口返回信息为json串的接口。# 4. Demo代码 import javax.net.ssl.HttpsURLConnection; import java.io.*; import java.net.URL; /** ** 向华为云上传图片的demo **/ public class UploadImageDemo { public static void main(String[] args) { // 服务器url String modelApi = "https://XXX"; // token String tokenStr = "XXXX"; // 图片的绝对路径 String imageUrl = "C:\%users\\chuyunwei\\Desktop\\yully.jpg"; // 文件控件名称 String fileParamName = "images"; postData(modelApi, tokenStr, imageUrl, fileParamName); } // 发送post请求 public static void postData(String modelApi, String tokenStr, String imageUrl, String fileParamName) { String boundary = java.util.UUID.randomUUID().toString(); String prefix = "--", linend = "\r\n"; String charset = "UTF-8"; // 数据流 DataOutputStream outStream = null; // 连接 HttpsURLConnection connetion = null; // 读取图片的流 InputStream input = null; try { URL url = new URL(modelApi); connetion = (HttpsURLConnection) url.openConnection(); connetion.setReadTimeout(30 * 1000); // 缓存的最长时间 connetion.setDoInput(true);// 允许输入 connetion.setDoOutput(true);// 允许输出 connetion.setUseCaches(false); // 不允许使用缓存 connetion.setRequestMethod("POST"); connetion.setRequestProperty("connection", "keep-alive"); // 设置以二进制传输数据;multipart/form-data: 每个参数以 --boundary 开始 connetion.setRequestProperty("Content-Type", "multipart/form-data;Charsert=UTF-8;boundary=" + boundary); connetion.setRequestProperty("X-Auth-Token", tokenStr); File file = new File(imageUrl); // 设置内容参数 StringBuilder contentParam = new StringBuilder(prefix).append(boundary).append(linend) .append("Content-Disposition: form-data; name=" + fileParamName + "; filename=" + file.getName() + linend) .append("Content-Type: application/octet-stream; charset=" + charset).append(linend).append(linend); outStream = new DataOutputStream(connetion.getOutputStream()); outStream.write(contentParam.toString().getBytes()); input = new FileInputStream(file); byte[] buffer = new byte[1024]; int len = 0; while ((len = input.read(buffer)) != -1) { outStream.write(buffer, 0, len); } input.close(); outStream.write(linend.getBytes()); // 设置请求结束标志符: 以 --boundary-- 为结束符 byte[] endData = (prefix + boundary + prefix + linend).getBytes(); outStream.write(endData); outStream.flush(); // 获取响应结果流 InputStream connetionInput = connetion.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connetionInput, charset)); // 按行读取响应结果 String line = ""; // 读取响应的结果值 StringBuffer resultBuffer = new StringBuffer(); while ((line = bufferedReader.readLine()) != null) { resultBuffer.append(line); } // 向控制台打印结果 System.out.println(resultBuffer.toString()); } catch (Exception e) { // 打印错误堆栈 e.printStackTrace(); } finally { // 关闭资源 closeResources(outStream, connetion, input); } } // 关闭资源 private static void closeResources(DataOutputStream outStream, HttpsURLConnection connetion, InputStream input) { if (input != null) { try { input.close(); } catch (IOException e) { e.printStackTrace(); } } if (outStream != null) { try { outStream.close(); } catch (IOException e) { e.printStackTrace(); } } if (connetion != null) { connetion.disconnect(); } } }# 5. Demo补充说明## 5.1 注释说明 // 服务器url String modelApi = "https://XXX"; // token String tokenStr = "XXXX"; // 图片的绝对路径 String imageUrl = "C:\%users\\chuyunwei\\Desktop\\yully.jpg"; // 文件控件名称 String fileParamName = "images";Ⅰ. rl获取,控制台在线服务器调用指南TOP 页获取:!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202111/23/191342hsdt0d3jgrqyxae1.png)Ⅱ. token,调试过程直接调用:KeystoneCreateUserTokenByPassword接口获取IAM用户token:https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=IAM&api=KeystoneCreateUserTokenByPasswordⅢ. 图片的绝对路径:图片存放本地,直接使用本机的绝对路径进行获取。Ⅳ. 文件控件名称,即为在线服务API输入图片的参数名称:!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202111/23/191414bzrwlsrtppjrirzr.png)# 6. 实测结果## 6.1 修改配置!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202111/23/191516au8a4eb8scpraqhs.png)## 6.2 代码调试!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202111/23/191525ppdaxxrhwx4lipvr.png)调试成功,返回结果。# 7. 问题记录及解决办法## 7.1 服务未启动,运行报错Ⅰ. 在线服务未启动,调试报错如下,重新启动服务即可正常请求。!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202111/23/191653nmijbmix9linlbmo.png)## 7.2 请求报401错误Ⅰ. 查看错误码,判断401错误为鉴权问题导致,查看modelarts的认证鉴权方式帮助文档。可知请求token时,“auth.scope”的取值需要选择“project”。!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202111/23/1917214vlvw9khc59ilept.png)Ⅱ. 我的token获取方式:!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202111/23/191729bgrihqsac0eoyrsl.png)Ⅲ. Modelart token获取方式:按照如下方式获取token后,请求正常。!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202111/23/191739o1haypjnskpt4toa.png)# 8. 问题解决渠道说明## 8.1 华为云开发者技术支持界面访问链接:https://support.developer.huaweicloud.com/feedback/#/!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202111/23/191814czd0vyl5ygo08t6c.png)## 8.2 华为云开发者论坛界面访问链接:https://bbs.huaweicloud.com/forum/forum-1175-1.html!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202111/23/1918211hmoslfxm9en5fib.png)
  • [服务构建器] 【华为云Stack ManageOne 服务构建器】服务构建器API编排最佳实践——编排华为云RDS
    服务构建器API编排简介将政企现有IT能力以服务API的形式接入系统后,API编排提供图形化拖拽方式对服务API进行流程编排,同时提供在线表单构建能力为流程编排定制参数,方便用户灵活地构建模板,从而快速构建服务并上线到服务目录,实现IT现有能力的在线申请、开通、配置和部署。云数据库RDS简介云数据库RDS(Relational Database Service,简称RDS)是一种基于云计算平台的稳定可靠、弹性伸缩、便捷管理的在线云数据库服务。服务构建器编排RDS服务部署演示:
  • [问题求助] 调用SDC9.0 API 提示用户被锁
    这个用户被锁,如何解决?{ "IpLockStatus": { "ResponseStatus": { "RequestURL": "\/SDCAPI\/V1.0\/FaceApp\/FaceRecog\/FaceLibs\/Libs", "StatusCode": 108, "StatusString": "The user is locked" } }, "remainTime": 102 }
  • [问题求助] SDC 9.0.0 API 求一份
    SDC 9.0.0 API 求一份摄像机 D2150-10-SIU目标:通过http维护目标库(人脸或车牌信息),并能接收设别记录
  • [问题求助] IVS1800 RTSP取流问题
    两种方式VLC播放器都可以播放ffmpeg 直接通过 摄像机 取流没啥问题 NVR取流rtsp://192.168.2.200:443/rtsp/streaming?channel=1&subtype=0&token=0765644768bec3678757326c80330ed082f38de7d33aef5b3e0c0ab7e627115a可以正常取推流ffmpeg -i "rtsp://192.168.2.200:443/rtsp/streaming?channel=1&subtype=0&token=0af7d20013d59cb80b67f353712ecc5d5c2b06096f55fecdb97ca617826b992a" -q 0 -f mpegts -codec:v mpeg1video -r 25 -s 720X480   http://192.168.2.234:18090/stream/upload/f1d1dfaf-f1c2-39c1-91a5-5f39602ab515IVS的就不行rtsp://192.168.2.111:554/01869302648553380101?DstCode=01&ServiceType=1&ClientType=1&StreamID=1&SrcTP=2&DstTP=1&SrcPP=1&DstPP=1&MediaTransMode=0&BroadcastType=0&SV=1&Token=NXwDJ5RCZjD+vvlEbVZZkLWSTZoRhCiY4BNpDERLRHA=&取流失敗ffmpeg -i "rtsp://192.168.2.111:554/01869302648553380101?DstCode=01&ServiceType=1&ClientType=1&StreamID=1&SrcTP=2&DstTP=1&SrcPP=1&DstPP=1&MediaTransMode=0&BroadcastType=0&SV=1&Token=NXwDJ5RCZjD+vvlEbVZZkLWSTZoRhCiY4BNpDERLRHA=&" -q 0 -f mpegts -codec:v mpeg1video -r 25 -s 720X480 http://192.168.2.234:18090/stream/upload/d1b032dc-fae7-3b94-ba25-161005148e00一直在打印这个日志另外一种不转码 copy的方式就一直卡着不动https://bbs.huaweicloud.com/forum/thread-85965-1-1.html换其它指令会出现一下问题https://bbs.huaweicloud.com/forum/thread-161977-1-1.htmlIVS1800的api接口获取的rtsp用ffmpeg相关的库的工具都出现取流转码失败,NVR的api接口获取的rtsp流可以正常使用ffmpeg
  • [问题求助] 【API调用】OPTIONS请求状态返回404 Not Found
    【功能模块】做了一个简单的html页面,通过JS的跨域请求,要取得设备的影子属性。【操作步骤&问题现象】<html><head>    <title>Mqtt Over Websocket Demo</title></head><body>    <script>        var xmlhttp = new XMLHttpRequest();        var url = 'https://iotda.cn-north-4.myhuaweicloud.com/v5/iot/{我的project_id}/devices/{我的device_id}/shadow';        var token = "取得的token";        xmlhttp.open("GET", url, true);        xmlhttp.setRequestHeader("X-Auth-Token", token);        xmlhttp.setRequestHeader("Content-Type", "application/json");        xmlhttp.onload = function () {            // 处理取回的数据(在 xmlhttp.response 中找到)            console.log(xmlhttp.response);        };        xmlhttp.send(null);    </script></body></html>执行之后出现了下面的错误【截图信息】网上查了一下,浏览器在做跨域请求是要在GET请求之前做OPTIONS请求,之后在做真正的GET请求,现在OPTIONS请求出错,是说API不能用JS直接调用吗?有没有大神帮忙解决一下。
  • [技术干货] 验证api
    checkValidity() 方法<input id="id1" type="number" min="100" max="300" required><button onclick="myFunction()">验证</button> <p id="demo"></p> <script>function myFunction() {    var inpObj = document.getElementById("id1");    if (inpObj.checkValidity() == false) {        document.getElementById("demo").innerHTML = inpObj.validationMessage;    }}</script>尝试一下 »实例如果输入的值大于 100,显示一个信息:rangeOverflow 属性<input id="id1" type="number" max="100"><button onclick="myFunction()">验证</button> <p id="demo"></p> <script>function myFunction() {    var txt = "";    if (document.getElementById("id1").validity.rangeOverflow) {       txt = "输入的值太大了";    }    document.getElementById("demo").innerHTML = txt;}</script>尝试一下 »如果输入的值小于 100,显示一个信息:rangeUnderflow 属性<input id="id1" type="number" min="100" required><button onclick="myFunction()">OK</button> <p id="demo"></p> <script>function myFunction() {    var txt = "";    var inpObj = document.getElementById("id1");    if(!isNumeric(inpObj.value)) {        txt = "你输入的不是数字";    } else if (inpObj.validity.rangeUnderflow) {        txt = "输入的值太小了";    } else {        txt = "输入正确";    }    document.getElementById("demo").innerHTML = txt;} // 判断输入是否为数字function isNumeric(n) {    return !isNaN(parseFloat(n)) && isFinite(n);}</script>尝试一下 »
  • [API使用] 【mindspore】【api】 MindSpore API文档只有英文,请提供中文文档
    【功能模块】MindSpore API文档只有英文,请提供中文文档
  • [活动体验] 【API映射体验】concat算子功能差异
    api映射链接中对算子功能的细微差异没有进行标注,比如最近踩坑的concat算子:映射表中显示功能一致,但实际使用中两个框架内的算子是有差别的。torch代码:result = torch.cat((a, b, c.float()), 1)拼接是可以正常执行的,对应的shape和dtype如下:mindspore代码如下:result = ops.Concat(1)((a, b, ops.Cast()(c, mstype.float32)))运行时这行代码抛出了错误:ValueError: For 'Concat', the 'x_type[2]' should be = x_type[0]: Tensor, but got  Tensor.报错原因是a的dtype是mindspore.float16, c的dtype是mindspore.float32,类型不一致mindspore框架下需要改为:result = ops.Concat(1)((a, b, ops.Cast()(c, mstype.float16)))才能正常运行,运行shape及结果如下:而torch会自动的将结果对齐精度较高的类型。个人觉得这种差异虽然方便辨认,但也不应该认为是功能一致,要么完善算子对齐功能,要么指出差异点,方便开发人员进行网络迁移。
  • [活动体验] 【API映射体验】mindspore tensor bool index获取值失败
    正在练习将pytorch网络改写为mindspore网络:目前遇到一个问题,就是torch的tensor可以根据bool index 直接获取对应的值,但是mindspore貌似不行,api映射表中缺少tensor基础功能的api映射比如torch的new,tensor列值更新时会报warning,不支持int64等这个问题也参照了论坛的帖子https://bbs.huaweicloud.com/forum/thread-80636-1-1.html仍然失败,对应值已保存为npy文件,期望得到解答:torch代码:detections = detections[conf_mask]期望的输出值:
  • [活动体验] 【API映射】【迁移场景】使用体验(PyTorch && TensorFlow)
    从事网络迁移相关工作已经有近一年的时间,从刚开始的PyTorch GPU->NPU迁移到现在的PyTorch->MindSpore、TensorFlow->MindSpore的迁移,我们关注的重点和诉求往往有如下几个方面:1、能否做到他人可读、可理解,目标框架是否提供了表述一致的API接口定义2、能否达到迁移前水平(性能,精度等等),目标框架是否提供了功能、性能高度一致甚至更优的API3、能否做到自动化,其中最重要的是抽象迁移规则,而规则化就要考虑目标框架是否提供了明确的映射关系4、能否覆盖所有场景,目标框架的API是否丰富、完善接触PyTorch->MindSpore迁移以来,最依赖的工具就是API映射关系表,最开始的时候,还只能在Git仓库上看到原始的不大完整的PyTorch映射关系表格,随着工作推进,一天天看着这个表格丰满起来,对迁移工作的效率提升、进展推进都起到了极大的帮助,后来官网也推出了API映射界面,支持在界面上查询torch API所对应的MindSpore API并给出差异和使用方法,用户体验直线提升~对比一下~后来工作重点转移到了TensorFlow->MindSpore,这部分API映射一直是缺失的,可能TF的API组织较为混乱,而且1.x和2.x的差异也比较大,所以一直没能等到想PyTorch那样的API映射界面。这次终于更新啦,感谢社区开发者的贡献~ 虽然只有TF 1.15的部分APi,但是还是对工作起到了很大的帮助作用。希望可以继续补充完善~ 收录更多的TF API!API映射真的可以给开发者减少相当多的学习成本和调试成本,极大地降低了开发的难度,对MindSpore生态建设和推广都有很重要的意义。目前API映射的建设已经基本可以满足部分开发者的开发需要,社区和开发者们功不可没~ 但是针对API映射方面,还是有几处小小的期望:1、能否按照API的功能进行进一步划分,而不是通篇列举,提高查询效率2、差异对比中采用的是中文,而API详情中使用的确实英文,让人感觉有些不适,能否统一一下,或者切换中英文模式时切换的彻底一些3、可能是由于架构设计的关系,很多API其实参数、入参类型、返回值类型等方面是不对等的,但是映射列表中没有相关说明,是不是考虑新增这部分说明,并且指导用户如何规避或者适配此类不对等场景4、是否可以考虑TF2.x的API映射?5、部分API映射存在错误(已在仓库中提了issue),还是要加强审核力度~希望MindSpore可以越来越好,学习、迁移、开发都更加简单易用,真正实现极简易用高效~ID:wang_shiling邮箱:957163625@qq.com
  • [活动体验] 体验内容更新,MindSpore轻松掌握
    API映射体验:与之前版本(可能是r1.3之前,具体版本不太确定了)比较, 这次更新确实很棒,主要体现下面几个方面:1.torch, tensorflow, mindspore 对应api都提供了对应的链接, 可以跳转到相应的API文档, 可以查阅官方的全面的接口介绍, 这点真的很赞, 不需要自己单独去找地址2.以前只提供了torch与mindspore 接口对比, 没有Tensorflow的, 这次补上了TensorFlow的, 方便了用户对比TensorFlow接口3.差异对比保留了差异总结(使用方式)也是很必要的, 同时添加了相应接口的地址链接,很方便跳转查看接口介绍贡献指南体验:有两个版本:文字版指南和trail chess,结构分明,脉络清晰,清晰说明了支持哪些平台,可以体验哪些组件,以及如何参与社区活动, 根据指引很顺利完成个人贡献编程指南体验:编程指南是相当的详细,概述总体框架,API说明,基本概念,到快速入门,特性介绍,功能调试,精度调优,性能优化,应用实践等,由浅入深,结合实例解释说明,浅显易懂,帮助用户逐渐了解熟悉mindspore,进而进一步去使用,非常详尽。华为云id:SaraCao邮箱:403121932@qq.com
  • [活动体验] mindspore部分指南体验分享
    API映射体验感受与之前版本(可能是r1.3之前,具体版本不太确定了)比较, 这次更新确实很棒,主要体现下面几个方面:1.torch, tensorflow, mindspore 对应api都提供了对应的链接, 可以跳转到相应的API文档, 可以查阅官方的全面的接口介绍, 这点真的很赞, 不需要自己单独去找地址2.以前只提供了torch与mindspore 接口对比, 没有Tensorflow的, 这次补上了TensorFlow的, 方便了用户对比TensorFlow接口3.差异对比保留了差异总结(使用方式)也是很必要的, 同时添加了相应接口的地址链接,很方便跳转查看接口介绍贡献指南:有两个版本:文字版指南和trail chess,结构分明,脉络清晰,清晰说明了支持哪些平台,可以体验哪些组件,以及如何参与社区活动编程指南:编程指南是相当的详细,概述总体框架,API说明,基本概念,到快速入门,特性介绍,功能调试,精度调优,性能优化,应用实践等,由浅入深,结合实例解释说明,浅显易懂,帮助用户逐渐了解熟悉mindspore,进而进一步去使用,非常详尽。华为云id:SaraCao邮箱:403121932@qq.com
总条数:752 到第
上滑加载中