• [网络精度/性能调优] GatherNd算子耗时很大
    【功能模块】GatherNd【操作步骤&问题现象】1、编写 算子json文件 op.json如下:[ { "op": "GatherNd", "input_desc": [ { "format": "ND", "shape": [3,17,30], "type": "float16" }, { "format": "ND", "shape": [1530,3], "type": "int32" } ], "output_desc": [ { "format": "ND", "shape": [1530], "type": "float16" } ] } ]2、利用atc 工具转成模型文件atc --singleop=op.json --output=. --soc_version=Ascend310 生成 0_GatherNd_1_2_3_17_30_3_2_1530_3_1_2_1530.om3、在板子上atlas200 上测试算子时间,单位毫秒test 1 cost time = 1.147000   test 2 cost time = 0.907000   test 3 cost time = 0.837000   test 4 cost time = 0.841000   test 5 cost time = 0.839000   test 6 cost time = 0.886000   test 7 cost time = 0.832000   test 8 cost time = 0.833000   test 9 cost time = 0.834000   test 10 cost time = 0.834000  同上面 修改数据大小如下[ { "op": "GatherNd", "input_desc": [ { "format": "ND", "shape": [3,544,960], "type": "float16" }, { "format": "ND", "shape": [1566720,3], "type": "int32" } ], "output_desc": [ { "format": "ND", "shape": [1566720], "type": "float16" } ] } ]耗时,单位毫秒test 1 cost time = 295.242000   test 2 cost time = 295.097000   test 3 cost time = 295.567000   test 4 cost time = 295.306000   test 5 cost time = 295.145000   test 6 cost time = 295.533000   test 7 cost time = 295.582000   test 8 cost time = 295.750000   test 9 cost time = 296.213000   test 10 cost time = 295.924000 这个耗时是正常耗时吗?
  • [MindX SDK] SDK常用数据流protobuf,json,str,bytes,base64互相转换
    SDK经常会用到这几种数据流,整理了一下它们之间的关系,以及如何互相转换。protobuf与json互转需要import google.protobuf.json_formatbase64的转换需要import base64以如下protobuf结构为例:message MxpiOsdParams{ uint32 scalorB = 1; uint32 scalorG = 2; uint32 scalorR = 3;}直接参考下图:(绿色背景文字为print()的显示结果)
  • [算子开发] samples中 ScatterNdAdd算子的算子描述 json应该怎么写?
    【功能模块】ScatterNdAdd 算子【操作步骤&问题现象】1、在samples中 build.sh编译后,执行 custtom...run2、下面是我自己写的 op.json[ { "op": "ScatterNdAdd", "input_desc": [ { "format": "ND", "shape": [2,3,4], "type": "float32" }, { "format": "ND", "shape": [2,2,2], "type": "int32" }, { "format": "ND", "shape": [2,2,4], "type": "float32" } ], "output_desc": [ { "format": "ND", "shape": [2,3,4], "type": "float32" } ] } ]3、执行 atc --singleop=op.json --output=. --soc_version=Ascend310   后报错ATC run failed, Please check the detail log, Try 'atc --help' for more informationE29999: Inner Error!        [SubGraphOpt][PreCompileOp] No default value, get attr value failed.[FUNC:GetAttrValue][FILE:get_attr_by_type.cc][LINE:26]        [SubGraphOpt][PreCompileOp] Op [ScatterNdAdd] get bool attr [use_locking] value failed.[FUNC:GetBoolAttrValue][FILE:get_attr_by_type.cc][LINE:86]        [SubGraphOpt][PreCompileOp][AssembleInput][Op ScatterNdAdd, type ScatterNdAdd]: failed to feedAttrsToTbeOpInfo.[FUNC:AssembleTbeInfo][FILE:tbe_info_assembler.cc][LINE:1199]        [SubGraphOpt][Compile][PreCompSetInfo] AssembleTbeInfo failed.[FUNC:PreCompSetTbeOpInfo][FILE:tbe_op_store_adapter.cc][LINE:222]        [SubGraphOpt][Pre-Comp] Set TbeOpInfo Failed.[FUNC:ParallelPreCompileOp][FILE:tbe_op_store_adapter.cc][LINE:266]        Call OptimizeFusedGraph failed, ret:-1, engine_name:AIcoreEngine, graph_name:partition0_rank1_new_sub_graph1[FUNC:OptimizeSubGraph][FILE:graph_optimize.cc][LINE:126]        subgraph 0 optimize failed[FUNC:OptimizeSubGraphWithMultiThreads][FILE:graph_manager.cc][LINE:767]        build graph failed, graph id:0, ret:1343242268[FUNC:BuildModel][FILE:ge_generator.cc][LINE:1117]【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [技术干货] Python 哈啤酒式写法
    爬虫分析数据接口,两次请求获取热榜前 100 数据。https://blog.csdn.net/phoenix/web/blog/hotRank?page=0&pageSize=50 https://blog.csdn.net/phoenix/web/blog/hotRank?page=1&pageSize=50数据返回格式:JSON{ "code": 200, "message": "success", "data": [ # 实际数据 ] }分析完毕,开始编码,全套代码可直接使用 requests 库。热榜爬虫这么简单的代码,首先编写一个基础爬虫,获取到数据,然后再对其进行优化。import requests import json for i in range(2): headers = { "user-agent": "Baiduspider" } res = requests.get(f"https://blog.csdn.net/phoenix/web/blog/hotRank?page={i}&pageSize=50", headers=headers) data = res.json() if data["code"] == 200: data = data["data"] with open(f"{i}.json", "w+", encoding="utf-8") as f: f.write(json.dumps(data))运行代码,会在代码目录中生成两个 json 文件,每个文件存在 50 条数据,即热榜所有数据。以上代码合计 12 行,接下来内卷开始,让代码行数变短。缩写变量的声明import requests import json for i in range(2): json_data = requests.get(f"https://blog.csdn.net/phoenix/web/blog/hotRank?page={i}&pageSize=50",headers={"user-agent": "Baiduspider"}).json() if json_data and json_data["code"] == 200: with open(f"{i}.json", "w+", encoding="utf-8") as f: f.write(json.dumps(json_data))进行简单整理,从 12 行降低到 7 行,略有进步。再将代码开头部分的 json 和 requests 合并为一行,代码降低为 6 行。增加生成器代码将循环部分替换为生成器,进行代码再次精简,本步减少代码比较少,只减少 1 行代码。import requests, json for i, data in enumerate([requests.get(f"https://blog.csdn.net/phoenix/web/blog/hotRank?page={i}&pageSize=50",headers={"user-agent": "Baiduspider"}).json() for i in range(2)]): with open(f"{i}.json", "w+", encoding="utf-8") as f: f.write(json.dumps(data))请忽略自动折行代码,目前剩余 4 行代码。继续优化,将折行与 json 模块去除掉。换行也去除import requests for i, data in enumerate([requests.get(f"https://blog.csdn.net/phoenix/web/blog/hotRank?page={i}&pageSize=50", headers={"user-agent": "Baiduspider"}).text for i in range(2)]): with open(f"{i}.json", "w+", encoding="utf-8") as f: f.write(data)按照上述代码整理之后,此时只剩下 3 行代码。这难道是极限了吗?我们就不能写出正常人理解不了的代码吗?1 行代码最终版使用最简单的知识,实现最刺激的效果,为了让代码到最少行数,我写出了下面这个版本。import requests with open("file.json", "a+", encoding="utf-8") as f: [f.write(my_str + "\n") for my_str in [ requests.get(f"https://blog.csdn.net/phoenix/web/blog/hotRank?page={i}&pageSize=50", headers={"user-agent": "Baiduspider"}).text for i in range(2)]]你没看错,除去 模块导入外,只有 1 行代码。这行代码展开之后长成下面的样子,一大长行,而它抓到了热榜 100 数据。with open("file.json", "a+", encoding="utf-8") as f: [f.write(my_str + "\n") for my_str in [requests.get(f"https://blog.csdn.net/phoenix/web/blog/hotRank?page={i}&pageSize=50",headers={"user-agent": "Baiduspider"}).text for i in range(2)]]
  • [开发应用] 【GaussDB对JSON的支撑】
    【操作步骤&问题现象】网上看PG是支撑JSON类型数据的,且查询语句可以用select这样的语句,例如select '[1,2,3]'::json->>2;但是发现GaussDB不支持,请问是否有相应的资料,还是就是不支持这样的语法
  • [执行问题] 【MindSpore】【FileWriter】[json.exception.type_error.316]
    【功能模块】按照这个连接的教程一步一步走:course/lstm at master · mindspore-ai/course (github.com)完全一样的代码和数据集,在本地运行出现如下报错:【操作步骤&问题现象】我不明白,这个FileWriter不是以字节的形式写入磁盘吗,为什么跟utf8编码有关?【日志信息】(可选,上传日志内容或者附件)见附件ps: 为什么在贵论坛发个求助帖跟写八股文一样?
  • [问题求助] NB设备lwM2M协议通过华为云IoT平台的编解码插件转JSON格式与直接透传到第三方服务器的优劣势各有哪些?
    按照华为云IoT平台设备接入里的说法,当设备上传的数据是二进制时候需要编解码插件转成JSON格式,这样的话和直接设备传数据是二进制透传到服务器相比,各有什么优劣势呢?求解答!
  • [体验官] docker的daemon.json文件
    安装k8s之前需要把docker的域名改过来。方法是编辑(或生成)vim /etc/docker/daemon.json这只是一个文本格式的文件,但是,对文件格式的要求非常严格:不能有空格,不能有其他字符,居然还不能缩进!文件格式出错,docker进程重启动报错:root@ecs-385f:~# systemctl status docker.service● docker.service - Docker Application Container Engine   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)   Active: failed (Result: start-limit-hit) since Wed 2021-05-12 15:46:40 CST; 347ms ago     Docs: https://docs.docker.com  Process: 28720 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE) Main PID: 28720 (code=exited, status=1/FAILURE)May 12 15:46:38 ecs-385f systemd[1]: Failed to start Docker Application Container Engine.May 12 15:46:38 ecs-385f systemd[1]: docker.service: Unit entered failed state.May 12 15:46:38 ecs-385f systemd[1]: docker.service: Failed with result 'exit-code'.May 12 15:46:40 ecs-385f systemd[1]: docker.service: Service hold-off time over, scheduling restart.May 12 15:46:40 ecs-385f systemd[1]: Stopped Docker Application Container Engine.May 12 15:46:40 ecs-385f systemd[1]: docker.service: Start request repeated too quickly.May 12 15:46:40 ecs-385f systemd[1]: Failed to start Docker Application Container Engine.May 12 15:46:40 ecs-385f systemd[1]: docker.service: Unit entered failed state.May 12 15:46:40 ecs-385f systemd[1]: docker.service: Failed with result 'start-limit-hit'.字面指示是容器起不来了,其实跟容器没啥关系,docker进程起不来了。把字符格式清理干净后,故障排除了。root@ecs-385f:~# vim /etc/docker/daemon.json{"exec-opts": ["native.cgroupdriver=systemd"]}
  • Jmeter系列(27)- 详解正则提取器
    有了 JSON 提取器为啥还要用正则提取器?JSON 提取器只针对接口返回的响应内容如果想提取的是响应头、请求头的值,而非响应内容的值呢?这个时候正则提取器的作用就出来了,它可以提取请求任一部分的值 需知正则表达式很多内容,在这篇文章中不会展开详细说的哦,主要还是说提取器的使用 正则提取器我们通过实际栗子去讲述理论知识点 正则提取器界面介绍 字段含义字段含义Apply to应用范围,选默认的 main sample only 就行了Field to check可提取的字段Names of created variables接收提取值的变量名必传Regular Expression正则表达式Template从找到的匹配项中创建字符串的模板Match No.(0 for Random)取第几个值0:随机,默认-1:所有1:第一个值非必传Default Value缺省值,匹配不到值的时候取该值非必传Use empty default value勾选后,提取不到值时,则返回空字符串 Template如果一条正则表达式有多个提取结果,则提取结果是数组形式模板 $1$、$2$.....表示把解析到的第几个值赋给变量,从 1 开始匹配$0$ 表示整个表达式匹配的内容(后续具体看栗子)若只有一个结果,只能是$1$ Field to check属性含义Body响应体,不包括响应头;最常用Body (unescaped)响应体,替换了所有HTML转义符;不建议使用Body as a Document从不同类型的文件中提取文本;影响性能Request Headers请求头Response Headers响应头URLURLResponse Code响应码Response Message响应信息 Body Request Headers Response Headers URL Response Code、Message 入门栗子栗子的前提这个栗子,我都会以这个地址的接口来完成 JSON 提取器的实战栗子,大家可以注册个账号玩一玩哦 测试计划树结构下面多个栗子都以这个测试计划为基础哦 提取某个特定的值的栗子登录接口响应登录是执行其他接口的前置接口,所以要获取用户登录后的 token、uuid 提取 token 提取 uuid 其他接口调用 token、uuid 知识点提其他接口可以通过  ${var}  这种格式,来获取提取到的值 ( ) 里面写匹配规则,用于解析正则表达式 .*? 表示匹配任意长度的任意字符,这也是最常用的正则表达式一般 (.+?) 和 (.*?) 能够满足我们 80%的使用场景 一般正则表达式都可以写成下面两种 左边界(.+?)右边界  左边界(.*?)右边界  举更多栗子前的一些话上面讲的是使用正则提取器时的一个流程,也是实际工作中最简单的栗子在实际项目中,我们可能会出现一条正则表达式有多个提取结果的情况 JSON 字符串下面的栗子都以这个 JSON 字符串为基础,从里面提取结果这 JSON 字符串也是某个接口的响应内容,货真价实,感兴趣也可以自己玩一玩:http://api.yesapi.cn/docs-api-App.User.GetList.html{ "ret": 200, "msg": "V2.5.1 YesApi App.User.GetList", "data": { "total": 4, "err_msg": "", "err_code": 0, "users": [ { "role": "user", "status_desc": "正常", "reg_time": "2020-06-22 20:45:05", "role_desc": "普通会员", "ext_info": { "yesapi_nickname": "", "yesapi_points": 0 }, "uuid": "0564CE592B4CE914365D8922F6FC4CEC", "username": "luojunjiess286", "status": 0 }, { "role": "user", "status_desc": "正常", "reg_time": "2020-06-22 14:27:17", "role_desc": "普通会员", "ext_info": { "yesapi_nickname": "", "yesapi_points": 0 }, "uuid": "0164DC0680F84DCE40D3DD4A36640ECA", "username": "luojunjiessa", "status": 0 }, { "role": "admin", "status_desc": "正常", "reg_time": "2020-03-23 22:48:32", "role_desc": "管理员", "ext_info": { "yesapi_nickname": "", "yesapi_points": 0 "yesapi_reg_source": "" }, "uuid": "079BF6BB82AFCFC7084F96AECAF0519F", "username": "luojunjiess", "status": 0 } ] } } 一条正则表达式只有一个提取结果的栗子什么叫只有一个提取结果就是正则表达式里只有一个 ( ) ,且  Match No. 不是 -1 未填写模板提取器 测试结果uuid1= uuid1_g=1 uuid1_g0="uuid":"0564CE592B4CE914365D8922F6FC4CEC" uuid1_g1=0564CE592B4CE914365D8922F6FC4CEC 知识点如果正则匹配到值,但是没有填模板,则返回空 $0$提取器 测试结果uuid2="uuid":"0564CE592B4CE914365D8922F6FC4CEC" uuid2_g=1 uuid2_g0="uuid":"0564CE592B4CE914365D8922F6FC4CEC" uuid2_g1=0564CE592B4CE914365D8922F6FC4CEC 知识点 $0$ 模板其实返回的就是 uuid2_g0 的值返回了整个正则表达式,不只是 ( ) 内匹配到的值 $1$提取器 测试结果uuid3=0564CE592B4CE914365D8922F6FC4CEC uuid3_g=1 uuid3_g0="uuid":"0564CE592B4CE914365D8922F6FC4CEC" uuid3_g1=0564CE592B4CE914365D8922F6FC4CEC 知识点 $1$  模板其实返回的就是 uuid2_g1 的值仅返回 ( ) 内匹配到的值 $2$提取器 测试结果uuid4=null uuid4_g=1 uuid4_g0="uuid":"0564CE592B4CE914365D8922F6FC4CEC" uuid4_g1=0564CE592B4CE914365D8922F6FC4CEC 知识点 $2$ 模板并不存在,其实就是 uuid4_g2 变量不存在,即使勾了使用空默认值,也返回 null, 总结其实 uuid 在 JSON 字符串中有三个可匹配到的值,如果不填写匹配数字 Match No. ,则会随机取一个 uuid 并返回像上述的几个栗子,都填了 1 ,所以都返回了第一个匹配到的 uuid 一条正则表达式有多个提取结果的栗子什么叫有多个提取结果有两种情况一条表达式有多个 ( ) 一个 ( ) 匹配到多个值,且 Match No 填了 -1 一个 ( ) 匹配到多个值 提取器 测试结果手动分成四部分uuid1_1=0564CE592B4CE914365D8922F6FC4CEC uuid1_1_g=1 uuid1_1_g0="uuid":"0564CE592B4CE914365D8922F6FC4CEC" uuid1_1_g1=0564CE592B4CE914365D8922F6FC4CEC uuid1_2=0164DC0680F84DCE40D3DD4A36640ECA uuid1_2_g=1 uuid1_2_g0="uuid":"0164DC0680F84DCE40D3DD4A36640ECA" uuid1_2_g1=0164DC0680F84DCE40D3DD4A36640ECA uuid1_3=079BF6BB82AFCFC7084F96AECAF0519F uuid1_3_g=1 uuid1_3_g0="uuid":"079BF6BB82AFCFC7084F96AECAF0519F" uuid1_3_g1=079BF6BB82AFCFC7084F96AECAF0519F uuid1_matchNr=3 知识点一个 ( ) 匹配到多个值的场景 ,一般会结合 ForEach控制器,可以循环将提取到的值赋予到 HTTP 请求中可以看看下图的小栗子,这里不展开讲,后面会再详细讲解 结构树 + ForEach 控制器 查看结果树 一条表达式有多个( ),且模板为空提取器 测试结果info1= info1_g=2 info1_g0="uuid":"0564CE592B4CE914365D8922F6FC4CEC","username":"luojunjiess286" info1_g1=0564CE592B4CE914365D8922F6FC4CEC info1_g2=luojunjiess286 一条表达式有多个( ),且只有一个模板提取器 测试结果info2=0564CE592B4CE914365D8922F6FC4CEC info2_g=2 info2_g0="uuid":"0564CE592B4CE914365D8922F6FC4CEC","username":"luojunjiess286" info2_g1=0564CE592B4CE914365D8922F6FC4CEC info2_g2=luojunjiess286 知识点info2 拿的就是 info2_g1 的值 $1$ 获取的是第一个 ( ) 匹配到的值, $2$ 获取的是第二个 ( ) 匹配到的值,以此类推      一条表达式有多个( ),且有两个模板提取器 测试结果info3=0564CE592B4CE914365D8922F6FC4CECluojunjiess286 info3_g=2 info3_g0="uuid":"0564CE592B4CE914365D8922F6FC4CEC","username":"luojunjiess286" info3_g1=0564CE592B4CE914365D8922F6FC4CEC info3_g2=luojunjiess286 info4=0564CE592B4CE914365D8922F6FC4CEC,luojunjiess286 info4_g=2 info4_g0="uuid":"0564CE592B4CE914365D8922F6FC4CEC","username":"luojunjiess286" info4_g1=0564CE592B4CE914365D8922F6FC4CEC info4_g2=luojunjiess286 
  • Jmeter系列(26)- 详解 JSON 提取器
    为什么要用 JSON 提取器JSON 是目前大多数接口响应内容的数据格式在接口测试中,不同接口之间可能会有数据依赖,在 Jmeter 中可以通过后置处理器来提取接口的响应内容JSON 提取器是其中一个可以用来提取响应内容的元件 JSON 提取器的应用场景提取某个特定的值提取多个值按条件取值提取值组成的列表 JSON 提取器我们通过实际栗子去讲述理论知识点 JSON 提取器界面介绍 字段含义 字段结果Apply to应用范围,选默认的 main sample only 就行了Names of created variables接收提取值的变量名多个变量用 ; 分隔必传JSON Path expressionjson path 表达式,用来提取某个值多个表达式用 ; 分隔必传Match No.(0 for Random)取第几个值,多个值用 ; 分隔0:随机,默认-1:所有1:第一个值非必传Compute concatenation var(suffix_ALL)如果匹配到多个值,则将它们都连接起来,不同值之间用 , 分隔变量会自动命名为 <variable name>_ALL Default Values缺省值,匹配不到值的时候取该值,可写error多个值用 ; 分隔非必传 入门栗子 测试计划树结构下面多个栗子都以这个测试计划为基础哦 提取某个特定的值的栗子登录接口响应登录是执行其他接口的前置接口,所以要获取用户登录后的 token、uuid 提取 token相对路径的方式 提取 uuid绝对路径的方式 其他接口调用 token、uuid 知识点提取某个特定值的方式有两种:绝对路径、相对路径提其他接口可以通过 ${var} 这种格式,来获取提取到的值 综合栗子上面讲的是使用 JSON 提取器时的一个流程在实际项目中,接口的响应内容肯定是非常复杂的,而我们需要提取的值也是多样化的,需要通过各种实战栗子来讲述清晰 JSON 字符串{ "ret": 200, "msg": "V2.5.1 YesApi App.User.GetList", "data": { "total": 3, "err_msg": "", "err_code": 0, "users": [ { "role": "user", "status_desc": "正常", "reg_time": "2020-06-22 15:19:51", "role_desc": "普通会员", "ext_info": { "yesapi_nickname": "", "yesapi_points": 0 }, "uuid": "6D5EDCB459F0917A98106E07D5438C58", "username": "fangjieyaossb", "status": 0 }, { "role": "user", "status_desc": "正常", "reg_time": "2020-06-22 14:27:17", "role_desc": "普通会员", "ext_info": { "yesapi_nickname": "", "yesapi_points": 0 }, "uuid": "0164DC0680F84DCE40D3DD4A36640ECA", "username": "fangjieyaossa", "status": 0 }, { "role": "admin", "status_desc": "正常", "reg_time": "2020-03-23 22:48:32", "role_desc": "管理员", "ext_info": { "yesapi_nickname": "", "yesapi_points": 0 }, "uuid": "079BF6BB82AFCFC7084F96AECAF0519F", "username": "fangjieyaoss", "status": 0 } ] } } 提取单个值Jsonpath结果$.data.total3$..total3$..users[0].roleuser$..uuid079BF6BB82AFCFC7084F96AECAF0519F$.data.users[0].ext_info.yesapi_points0 重点如果匹配到多个值(像 $..uuid ),也只能提取到一个值如果想提取匹配到的所有 uuid,可以设置为 -1,结果如下图还会告诉你匹配了多少个值 ${uuid_matchNr} ,记住,调用变量时,不再是 ${uuid} 而是 ${uuid_1} 、 ${uuid_2}  利用切片提取单个值和 Python  切片一样的原理Jsonpath结果$..users[2]第三个 users$..users[-2]倒数第二个users$..users[0,1]前面两个users$..users[:2]第一、二个users$..users[1:2]第二个users$..users[-2:]倒数两个users$..users[1:]第二个开始的所有users 提取多个值四种写法类似,选一种方法自己熟记即可重点:提取多个值,提取器的 Match No. 必须填 -1 $.data.users[*].role提取所有 role 字段值[*] 表示取数组的所有元素 $..users..role_desc提取所有 role_desc 字段值 $..reg_time提取所有 reg_time 字段值 $..[*].username提取所有 username 字段值 按条件提取值有时候只需要提取某个特定条件下的参数值 语法格式[?(expression)] 栗子Jsonpath结果$..users[?(@.uuid)]提取 users 里面包含 uuid 字段的记录$..users[?(@.reg_time > '2020-06-01')]提取 reg_time 字段大于 2020-06-01 的记录$..users[?(@.role_desc =~ /.*会员.*?/i)]提取 role_desc 字段包含会员的记录$..users[?(@.status == 0)]提取 status 字段等于 0 的记录 @代表当前节点,像上面的四个栗子,@代表 users 这个列表字段 =~后面跟正则表达式,如果想提取包含指定字符的值,可以使用此正则: /.*指定字符串.*?/i  i  代表大小写不敏感 提取数据指定字段的值的栗子提取 users 第一条记录的 uuid、username 字段的值$..users[0].['uuid','username'] 测试结果new_1={"uuid":"6D5EDCB459F0917A98106E07D5438C58","username":"luojunjiessb"} 勾选 Compute concatenation var 的栗子JSON 提取器 测试结果uuid_1=6D5EDCB459F0917A98106E07D5438C58 uuid_2=0164DC0680F84DCE40D3DD4A36640ECA uuid_3=079BF6BB82AFCFC7084F96AECAF0519F uuid_ALL=6D5EDCB459F0917A98106E07D5438C58,0164DC0680F84DCE40D3DD4A36640ECA,079BF6BB82AFCFC7084F96AECAF0519F uuid_matchNr=3 一个 JSON 提取器有多个 Jsonpath 的栗子JSON 提取器 测试结果uuid1_1=6D5EDCB459F0917A98106E07D5438C58 uuid1_2=0164DC0680F84DCE40D3DD4A36640ECA uuid1_3=079BF6BB82AFCFC7084F96AECAF0519F uuid1_matchNr=3 uuid2_1=6D5EDCB459F0917A98106E07D5438C58 uuid2_2=0164DC0680F84DCE40D3DD4A36640ECA uuid2_3=079BF6BB82AFCFC7084F96AECAF0519F uuid2_matchNr=3 
  • [问题求助] 关于arm架构 如何安装json库 xml库
    【功能模块】如题【操作步骤&问题现象】1、2、【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [算子开发] 【众智】【CANN】st测试json文件的编写
    【功能模块】ReduceSum输入要求如下:*@li x: A Tensor. Must be one of the following types:* float32, float64, int32, uint8, int16, int8,* complex64, int64, qint8, quint8, qint32, uint16,* complex128, float16, uint32, uint64, complex64, complex128.*@li axes: A 1D list or tuple of int32 or int64. Specifies the dimensions to reduce . 【操作步骤&问题现象】第二个输入是含有多个元素的数组时(元素的值不能重复,且元素的值要人为指定,因为输出的shape和元素的取值有关),按照链接 https://support.huaweicloud.com/aicpu_devg_community_beta/atlasaicpu_10_0030.html 不知道该如何编写
  • [MindX SDK] 如何从GetResult或者GetProtobuf的结果取出图像或张量的内存
    GetResultGetResult或GetResultWithUniqueId拿到的是经过序列化插件后的结果,形成一个json字符串。示例:inferResult = streamManagerApi.GetResultWithUniqueId(streamName, uniqueId, 3000)1.首先将其转为一个json对象:res_dict = json.loads(inferResult.data.decode())2.之后按照读取字典成员的方法,找到所需的内存对应的序列化后字符串:具体读取方法与pipeline有关,如下仅作示例参考。res = res_dict["MxpiVision"][0]["visionData"]["dataStr"]3.最后用base64的库将序列化后字符串解码回来,并用numpy读取。n = np.frombuffer(base64.b64decode(res), dtype=np.uint8)4.运行成功:print("tensor:", n)print("tensor shape:", n.shape)GetProtobufGetProtobuf拿到的经过protobuf序列化后的字符串,内存没有经过base64编码,相对上一种,转换回来更加简单。示例:keyVec = StringVector()keyVec.push_back(b'mxpi_tensorinfer0')inferResult = streamManagerApi.GetProtobuf(streamName, 0, keyVec)1.首先将结果反序列回protobuf:result = MxpiDataType.MxpiTensorPackageList()result.ParseFromString(inferResult[0].messageBuf)2.之后就可以直接读取其内存res = np.frombuffer(result.tensorPackageVec[0].tensorVec[0].dataStr, dtype=np.float32)3.运行成功:    print("output tensor is: ",res)    print("output tensor shape is: ",res.shape)
  • [传感器适配] 曾经下发过CANFD的配置文件导致CAN通讯失效
    问题1:之前使用CAN 2.0发消息,今天更新透传时,不小心下发了CAN-FD的透传配置。导致之前CAN 2.0的失效。是否时当前CANFD配置文件与CAN配置文件不能同时存在?如何清除CANFD的配置文件/配置表。问题2:使用MMC配置数据透传后,生成arxml文件会最终生成per_manifest.json,那么是使用devmTool能让这个per_manifest.json生效吗?另外,canbus_config.json和per_manifest.json是什么关系?我使用上传per_manifest.json到MDC后,使用devmTool工具 set-dev-cfg 0后,提示success。但是vi canbus_config.json后,看到canbus_config.json没有改变。请华为的同事尽快回复,感谢!
  • [传感器适配] 下发canfdbus_config.json配置文件时出错
    【功能模块】配置canfdbus_config.json文件下发出错【操作步骤&问题现象】1、登录mdc用户切换home/mdc/bin2、./devmTool.sh get-dev-cfg 1通过devm工具下发canfdbus_config.json配置文件时出错【截图信息】【日志信息】(可选,上传日志内容或者附件)
总条数:119 到第
上滑加载中