• [公告] MindSpore新春壁纸上线啦!
    喜气洋洋贺新春!前段时间呼声很高的MindSpore精美壁纸送上!让MindSpore在桌面陪伴着你,新的一年虎虎生威,顺风顺水!手机各尺寸在压缩包里面哦。看附件2示例:
  • [主题讨论] 【一周AI资讯】20220121:MindSpore最新成果开源:北大高毅勤课题组发布高性能蛋白质结构预测工具
    盘点本周AI科技热点热点一:上海交大ACM班创始人俞勇:为培养中国的图灵奖得主而教书俞勇是上海交大 ACM 班的创始人,成立 20 年来这个班级里走出了很多计算机科学和人工智能领域的优秀人才,比如林晨曦、戴文渊、李磊、李沐、陈天奇,等等。这不仅归功于 ACM 班,更离不开俞勇这个人。今年 60 岁的他虽会继续留在上海交大,但对于「培养中国的计算机科学家」这个目标而言,ACM 班四年的时间太短,很多习惯在本科开始改变太晚。他正致力于将这些年来积累的教育理念、方法和资源拓展到全社会,期望有一天他的学生能够获得图灵奖。原文链接:https://www.jiqizhixin.com/articles/2022-01-20-6 热点二:2021 ACM Fellow公布:13位华人学者,唐杰、谢涛、刘铁岩、李飞飞在列ACM(Association for Computing Machinery, ACM)是**计算机协会的简称,创立于 1947 年,是全世界计算机领域影响力最大的专业学术组织之一。ACM Fellow 则是由该组织授予资深会员的荣誉,目的是表彰对于计算机相关领域有杰出贡献的学者,其审查过程十分严格,每年遴选一次。2021 年,共有 71 人入选 ACM Fellow,他(她)们在包括云数据库系统、深度学习加速、高性能计算、机器人、理论计算机科学等计算相关领域做出了广泛和基础性贡献。这些新晋 ACM Fellows 来自比利时、中国、法国、德国、印度、以色列、意大利和**的高校、企业和研究中心。在这 71 位入选者中,包括 13 位华人学者,如清华大学计算机系教授唐杰、北京大学计算机学院讲席教授谢涛、微软亚洲研究院副院长刘铁岩、阿里云智能数据库产品事业部总负责人李飞飞等。机器之心对这些华人入选者进行了简单介绍(如有遗漏或错误,欢迎在留言区指正)。原文链接:https://www.jiqizhixin.com/articles/2022-01-20-4 热点三:使用深度学习,通过一个片段修饰进行分子优化分子优化是药物开发中的关键步骤,可通过化学修饰改善候选药物的预期特性。来自俄亥俄州立大学(The Ohio State University)的研究人员,在分子图上开发了一种新颖的深度生成模型 Modof,用于分子优化。Modof 通过预测分子处的单个断开位点以及在该位点去除和/或添加片段来修饰给定的分子。在 Modof-pipe 中实现了多个相同 Modof 模型的管道,以修改多个断开位置的输入分子。研究人员表明 Modof-pipe 能够保留主要的分子支架,允许控制中间优化步骤并更好地约束分子相似性。Modof-pipe 在基准数据集上优于最先进的方法。该研究以「A deep generative model for molecule optimization via one fragment modification」为题,于 2021 年 12 月 9 日发布在《Nature Machine Intelligence 》。原文链接:https://www.jiqizhixin.com/articles/2022-01-17-3 热点四:MIT科学家制造了量子龙卷风如果你稍微了解流体力学,就会知道这个领域是以「难」而闻名的,其中的有些原理似是而非,不得要领,解释起来也是五花八门,研究这个领域的绝大多数人可能都难以获得显著的成果。物理学家维尔纳 · 海森堡曾说过:「当我遇到上帝的时候,我会问他两个问题:为什么会有相对论?为什么会有湍流?我想上帝可能只能回答第一个问题。」40 年前,物理学家理查德 · 费曼又说,「如果你觉得你懂量子力学,那你就不懂量子力学。」这是一门挑战直觉的学科,有时甚至会让研究它的物理学家也目瞪口呆。那么如果在量子力学领域里研究流体会是什么结果?有一群麻省理工学院的研究人员的确这么做了。在量子力学中有一个名为「玻色—爱因斯坦凝聚态」的概念,可由量子气体在失重条件下产生。科学家希望借助这种零重力下的超低温量子气体研制原子干涉仪等高精密测量仪器,以用于测量地球的重力场。最近,MIT 的一份相关研究登上了《自然》杂志。原文链接:https://www.jiqizhixin.com/articles/2022-01-14-3 热点五:我的杀毒软件直接扫描电磁波,查木马准确率99.82%我们总是说,物联网设备的网络安全难以保证,现在有人用「降维打击」的办法作了安排。物联网 (IoT) 是由数量和复杂性呈指数增长的设备组成的,在使用大量定制的固件和硬件的同时,制造者却很难全面地考虑到安全问题,这使 IoT 很容易成为网络**的目标,尤其是那些恶意软件攻击。当前,世界上的许多大型企业都在努力应对日益广泛和复杂的恶意软件攻击。但一种有趣的新恶意软件检测技术,可以帮助企业在不需要任何软件的情况下铲除这些威胁。来自法国计算机科学与随机系统研究所的研究团队创建了一个以树莓派为中心的反恶意软件系统,该系统可以扫描设备中的电磁波来检测恶意软件。原文链接:https://www.jiqizhixin.com/articles/2022-01-14-5 热点六:昇思MindSpore最新成果开源:北大高毅勤课题组发布高性能蛋白质结构预测工具近日,昇思MindSpore【1】团队与昌平实验室、北京大学生物医学前沿创新中心(BIOPIC)和化学与分子工程学院、深圳湾实验室高毅勤教授课题组联合推出蛋白质结构预测推理工具。该工具首次提供了基于昇腾AI基础软硬件平台的解决方案,并且端到端性能优于AlphaFold22-3倍。相关模型代码将依托于华为全场景AI框架昇思MindSpore进行开源、并将定期扩展与维护,旨在为全球产、学、研界领域伙伴提供优质的昇腾AI软硬件解决方案。蛋白质在分子生物学的中心法则中具有十分重要的地位,在各种生命过程中不可或缺。传统的药物设计一般要通过大批量筛选,寻找易与目标蛋白质分子紧密结合、易合成且没有毒副作用的化合物来完成的,因此研发周期长、费用高,而在了解蛋白质的空间结构后可减少寻找药物的盲目性,从而缩短研发周期并降低成本。因此,准确、快速的蛋白质结构预测不仅可以在学术研究领域帮助科学家快速获得或验证关键蛋白结构,促进人们对重要生命过程中分子机理的理解,而且在医疗健康和生物工程领域也能作为有力的工具,引发药物靶点发现、功能蛋白设计(如抗体和人工酶)以及大分子(蛋白)或小分子药物高通量虚拟筛选的革命。原文链接:https://my.oschina.net/u/5283003/blog/5375095 热点七:跨次元”目标检测模型hold住各种画风,真人赛博恐龙梵高画作都能识别,复旦校友一作,在线Demo可玩大论文一作Xingyi Zhou,目前在德克萨斯大学奥斯汀分校读博,本科就读于复旦大学计算机系,之前也是CenterNet论文的第一作者,项目在GitHub上目前已经收获6.1k Star。“跨次元”目标检测模型hold住各种画风,真人赛博恐龙都能识别Rohit Girdhar、Armand Joulin和Ishan Misra,Meta AI的研究科学家,主要研究方向是机器学习和计算机视觉,此前Armand Joulin曾经在李飞飞的实验室进行博士后工作。Philipp Krähenbühl,德克萨斯大学奥斯汀分校助理教授,Xingyi Zhou的导师,研究方向是计算机视觉、机器学习和计算机图形学。原文链接:https://www.qbitai.com/2022/01/32001.html 总结:每周七个小热点,帮助各位了解最新科技资讯。欢迎大家阅览评论哦,也可以留言发表您的关注点,我们根据大家的关注点,推送更多您喜欢的资讯。
  • [安装经验] 小Mi的MindSpore安装经验之环境依赖常见问题及解决办法
    再长的路,一步步也能走完;再短的路,不迈出第一步也无法到达,想要体验MindSpore,一定是从安装开始。今天小Mi为大家整理安装过程中常出现的环境配置和依赖相关问题。 1. 无论是什么方式和平台安装MindSpore,请务必确认所有规定的依赖及版本。 2. Ubuntu 18.0404自带环境与MindSpore要求不同,需要手动调整。 3. gcc安装失败/如何安装/装不起来等问题,可参考以下两位的经验:张小白教你如何在Ubuntu 18.04上源码安装MindSpore V1.0mindspore1.3.0的编译环境之GCC7.3.0的安装4. 选择CUDA不同版本,对应的cuDNN版本也不同。CUDA 10.1对应cuDNN 7.6.x,而CUDA 11.1配套的cuDNN 8.0.x。5. CUDA安装请确认是否安装相应的cuDNN,一般需要自己手动安装。可以参考张小白博客内容:https://bbs.huaweicloud.com/blogs/3098916. 使用pip安装时报错: ERROR: mindspore_{VERSION}.whl is not a supported wheel on this platform。A:pip会通过wheel安装包的文件名来判断该安装包是否与当前Python环境兼容,例如安装mindspore_ascend-1.2.0-cp37-cp37m-linux_aarch64.whl时,pip会检查: 当前python环境为7.x版本 当前操作系统为Linux 操作系统架构为arm64因此,如果出现is not a supported wheel on this platform问题,请检查当前环境是否满足MindSpore安装要求,以及该MindSpore安装包版本是否正确。7. 使用pip安装依赖库时提示No matching distribution found for XXX错误,应该怎么办?A:请执行pip config list,查看当前软件库索引路径index-url。某些情况下,软件库索引会出现更新滞后,可尝试设置其它软件库索引路径。 8. Ascend硬件平台,在个人的Conda环境中,有时候出现报错RuntimeError: json.exception.parse_error.101 parse error at line 1, column 1: syntax error while parsing value - invalid literal; last read: ‘T’,该怎么处理?A:出现这种类型的报错,大概率是run包更新后个人的Conda环境中没有更新te或topi或hccl工具包,可以将当前Conda环境中的上述几个工具包卸载,然后使用如下命令再重新安装: pip install /usr/local/Ascend/ascend-toolkit/latest/fwkacllib/lib64/{te/topi/hccl}-{version}-py3-none-any.whl。 9. 在ARM架构的环境上使用pip安装MindSpore时报错: Could not find a version that satisfies the requirement应该怎么办?A:大概率是因为pip版本低于19.3,无法识别manylinux2014标签,导致pip install阶段下载了错误版本的numpy或scipy等python软件包,进而引发了无法找到构建依赖的问题,请执行pip install --upgrade pip将环境中的pip升级到19.3以上,重新安装MindSpore。 10. 如何改变第三方依赖库安装路径?A:第三方依赖库的包默认安装在build/mindspore/.mslib目录下,可以设置环境变量MSLIBS_CACHE_PATH来改变安装目录,比如 export MSLIBS_CACHE_PATH = ~/.mslib。 11. 环境上安装了Python3.7.5,环境变量设置正确,编译MindSpore时仍然报错Python3 not found,应该怎么办?A:可能是因为当前环境上的Python未包含动态库。编译MindSpore需要动态链接Python库,因此需要使用开启动态库编译选项的Python3.7.5,即在源码编译Python时使用./configure --enable-shared命令。12. 一些常用的环境变量设置,在新启动的终端窗口中需要重新设置,容易忘记应该怎么办?A:常用的环境变量设置写入到~/.bash_profile 或 ~/.bashrc中,可让环境变量设置在新启动的终端窗口中立即生效。 13. 使用GPU版本MindSpore时,如何设置DEVICE_ID环境变量?A:MindSpore GPU模式一般无需设置DEVICE_ID环境变量,MindSpore会根据cuda环境变量CUDA_VISIBLE_DEVICES,自动选择可见的GPU设备。设置CUDA_VISIBLE_DEVICES环境变量后,则DEVICE_ID环境变量代表可见GPU设备的下标:执行export CUDA_VISIBLE_DEVICES=1,3,5后,DEVICE_ID应当被设置为0,1或2,若设置为3及以上,MindSpore会由于设备ID不合法而运行失败。 14. 编译应用时报错/usr/bin/ld: warning: libxxx.so, needed by libmindspore.so, not found怎么办?A:寻找缺少的动态库文件所在目录,添加该路径到环境变量LD_LIBRARY_PATH中,环境变量设置参考Ascend 310 AI处理器上使用MindIR模型进行推理#编译推理代码。 15. 运行应用时出现ModuleNotFoundError: No module named 'te'怎么办?首先确认环境安装是否正确,te、topi等whl包是否正确安装。如果用户环境中有多个Python版本,如Conda虚拟环境中,需ldd name_of_your_executable_app确认应用所链接的libpython3.so是否与当前Python路径一致,如果不一致需要调整环境变量LD_LIBRARY_PATH顺序,例:export LD_LIBRARY_PATH=`python -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR'))"`:$LD_LIBRARY_PATH将当前的python命令对应程序的运行库路径加入到LD_LIBRARY_PATH的最前面。 优秀用户经验分享[深夜上线]MindSpore的CPU在win10x64下安装(超详细,小白可懂)保姆式教程教你如何一步步在window10系统下安装mindspore框架+pycharm导入python遇到的问题解决MindSpore GPU版本安装指导pip方式安装MindSpore Ascend 910版本Windows上体验源码编译安装MindSpore 解决路径非注意事项提到的问题可以通过查询论坛 问题求助-安装或官网 FAQ-安装来查询同类问题的解决方式。如果您遇到了问题并成功解决,也可以分享相关经验到论坛 技术干货-安装经验《手把手安装教程》系列视频看这里。如果上述方式都没有解决您的问题,欢迎到论坛问题求助板块发帖求助,我们的技术支撑将在第一时间给您回复。欢迎补充本篇遗漏内容~看到这里,准备好say Hello World了么?
  • [安装] 在MindSpore官网容器内安装MindInsight不能在本地正常工作
    【训练环境】Ubuntu16.04+Docker18.09.1在官网提供的MindSpore1.3镜像(OpneMPI4.0.3/NCCL2.7.8)中运行MindInsight1.3GPU: V100*8【问题】1. 在容器内启动MindInsight1.3:mindinsight start --port 6007 --summary-base-dir /data/mindspore/summary/2. 本地安全PC上连接容器6007端口:ssh -L 6007:127.0.0.1:6007 root@xx.xxx.xxx.xx
  • [执行问题] 【Mindinsight】【迁移模型定义脚本】Pytorch模型onnx转Mindspore
    环境mindinsight        1.5.0mindspore          1.5.0使用MindConverter能转换成功,但Expand和LogSoftMax算子不支持,我看算子文档应该是支持的吧report如下[Start Convert]line 1012:27: 'onnx::Expand' didn't convert.line 1029:27: 'onnx::Expand' didn't convert.line 1066:31: 'onnx::LogSoftmax' didn't convert.[Convert Over]Converted Rate: 96.67%.
  • [ModelArts昇腾] 昇腾310在线推理服务中的CANN版本太低了,能否更新一下?
    通过导入昇腾310环境的推理模型,然后部署推理在线服务的环境中的CANN版本太低了,是一年前的版本了,能否更新一下?现在手上有不少模型,因为上面的CANN版本太低都不好部署了。最好升级到CANN5.0.4,这个版本也能适配mindspore1.5,或者至少升级到CANN5.0.2,这个版本适配mindspore1.3。现在310在线推理服务中的CANN版本,对应适配的mindspore也只有1.0,这都一年多以前的版本
  • [执行问题] 求助:windows本地安装MindSpore1.5,CPU训练时报错
    windows安装MindSpore1.5,利用MindStudio--python3.7.5,本地CPU训练,DeepLabv3,数据集voc2012(不混合SBD数据集);参考gitee上帖子:models: Models of MindSpore - Gitee.com参数如下:--data_file=D:\code\models-master\official\cv\deeplabv3\src\data\preprocess\MindRecoder_train0--device_target=CPU--train_dir=./ckpt--train_epochs=20--batch_size=8--crop_size=513--base_lr=0.015--lr_type=cos--min_scale=0.5--max_scale=2.0--ignore_label=255--num_classes=21--model=deeplab_v3_s16--ckpt_pre_trained=D:\code\models-master\official\cv\deeplabv3\model\resnet101_ascend_v120_imagenet2012_official_cv_bs32_acc78.ckpt--save_steps=3--keep_checkpoint_max=200问题:batch_size初始设为32,16都报错内存不足;后调整为8,但训练几步后报错,提示如下:
  • [执行问题] 【mindspore1.5】【自动问答模型】模型训练失败
    【功能模块】mindspore1.5版本【操作步骤&问题现象】在根据自动问答使用手册在mindspore1.5的版本进行训练时出现runtime的错误。【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [推理] mindspore-serving示例部署报错
    【功能模块】按照https://www.mindspore.cn/serving/docs/zh-CN/r1.5/serving_example.html文档安装Serving模块,并进行示例部署推理时报错【操作步骤&问题现象】1、因为环境为nvidiaGPU,修改export_model/add_model.py 中的device_target="GPU"2、通过python add_model.py命令生成模型tensor_add.mindir3、通过python serving_server.py命令部署模型,报错RuntimeError【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [其他问题] mindspore需要cudnn,但是好像服务器超过太大就上传不了,怎么设置上传文件大小的上限啊?
    mindspore需要cudnn,但是好像服务器超过太大就上传不了,怎么设置上传文件大小的上限啊?wget也不好使
  • [安装] 【mindspore】【训练】请问是否支持在Ascend710上训练?mindspore在Ascend710上训练检查报错
    【功能模块】训练【操作步骤&问题现象】1、按照mindspore官网的安装步骤2、执行 mindspore.run_check() 报错【截图信息【日志信息】(可选,上传日志内容或者附件)
  • [模型管理] 导入310推理的模型环境版本太旧,能否更新下?
    导入用来进行昇腾310上推理的模型模板环境中的CANN版本太低了,是一年前的版本,现在我手上好多模型都没法部署了,能否把里面的CANN版本更新一下?最好更新到目前的5.0.4版本(能够适配目前的mindspore1.5版本),或者至少也要更新到5.0.2版本(能够适配现在的mindspore1.3版本)。
  • [算子开发] 【鲲鹏920+昇腾310云服务器】【mindstudio】mindspore自定义TBE算子UT测试时出错
    【配置信息】鲲鹏920+昇腾310的云服务器驱动版本 A300-3000-npu-driver_21.0.3.1_linux-aarch64CANN版本Ascend-cann-toolkit_5.0.3.alpha005_linux-aarch64               Ascend-cann-nnrt_5.0.3.alpha005_linux-aarch64               Ascend-cann-nnae_5.0.3.alpha005_linux-aarch64MindStudio版本3.0.3Mindspore版本1.5.0【操作步骤&问题现象】1、自定义算子编写完后进行UT测试时出错【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [技术干货] 【史上最简单】MindSpore GPU环境配置
    前言最近参加了CCF BDCI 2021的一个比赛,基于MindSpore AI框架实现零售商品识别,这个比赛中使用了华为的新框架,MindSpore,这个框架的环境特别难配置。CPU版本又不支持调试模型,GPU版本的要改底层的glibc,gcc等版本,要是使用的是服务器,这些也不敢折腾,要是改不成功,服务器崩了就很难受,还要重新装服务器系统。因此去网上查找看看有没有比较好的方法,能不用更改这些底层的东西,就能很方便的使用这个框架。于是发现了docker,下面简要介绍下docker配置MindSpore1.3GPU版本的一些步骤。1. 安装NVIDIA-docker 2.0我的环境是Ubuntu 18 LTS版本NVIDIA-docker是docker的升级版,让docker可以只配置宿主机的NVIDIA驱动,然后在docker容器内部直接调用GPU,可以使用NVIDIA-docker虽然不用配置CUDA和cudnn,但是NVIDIA驱动是必须的,首先看下驱动有没有安装成功。(1)若是以前安装过NVIDIA-docker1.0的要先删除原先的版本,若没有,忽略这一步第一步sudo docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f第二步sudo apt-get purge nvidia-docker(2)配置依赖包curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \  sudo apt-key add -distribution=$(. /etc/os-release;echo $ID$VERSION_ID)curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \  sudo tee /etc/apt/sources.list.d/nvidia-docker.listsudo apt-get update获取sudo权限后,一下子全部粘到shell就行了(3)安装nvidia-docker2sudo apt-get install nvidai-docker2然后输入docker version就能查看docker是否安装成功。出现上图即为安装成功。最后还有一步是需要修改docker的配置文件,使得MindSpore可以使用Docker的nvidia-container-runtime:vim /etc/docker/daemon.json编辑成如下形式{    "runtimes": {        "nvidia": {            "path": "/usr/bin/nvidia-container-runtime",            "runtimeArgs": []                    }                }}2 拉取镜像经过配置环境后,镜像直接拉去就行了。docker pull swr.cn-south-1.myhuaweicloud.com/mindspore/mindspore-gpu:1.3.0这里安装的是1.3版本,其他版本的镜像请查看官网到这里,输入 docker images命令,如果出现有镜像,则表示成功实现3 启动容器※这里解释下docker里面的几个概念镜像和容器,这里可以认为镜像(images)是你安装Ubuntu时做的系统盘,容器(container)是你用系统盘安装的系统,每个容器(container)都是一个新的系统。启动容器命令sudo docker run -it -v /dev/shm:/dev/shm -v /home/dechin/projects/mindspore/test/:/home -v /home/code/mindspore:/home/Downloads --name ms -p 22:22 --runtime=nvidia --privileged=true swr.cn-south-1.myhuaweicloud.com/mindspore/mindspore-gpu:1.3.0 /bin/bash 用到了几个参数,在使用docker时会比较的好用这是一个很长的命令 解释下这个是什么意思-it:指的是用终端的方式进行交互-v:表示将宿主机的目录挂载到docker内,这样就能之间在宿主机编辑修改文件,直接将数据集挂载到容器里,在容器内部就能直接运行了,其中冒号前面的是本地的目录,冒号后面是挂载到容器里面的目录。--name:给容器起个名字-p:将宿主机的端口号和容器之间的端口号建立映射输入 docker ps -a命令,就可以查看你启动的容器了测试代码import numpy as npfrom mindspore import Tensorfrom mindspore.ops import functional as Fimport mindspore.context as contextcontext.set_context(device_target="GPU")   #  此处一定要注意将设备改为GPU,源代码是Ascendx = Tensor(np.ones([1,3,3,4]).astype(np.float32))y = Tensor(np.ones([1,3,3,4]).astype(np.float32))print(F.tensor_add(x, y))如果运行成功,就说明GPU版本的MindSpore环境安装成功了。好啦,进入到你挂在的目录下,就可以进行进行训练任务了补充如果提示container xxxxx is not runningdocker start CONTAINER IDdocker exec -it CONTAINER ID /bin/bash就行了,其中, CONTAINER ID可以通过docker ps -a命令查看。附上一些比较常用的docker命令docker ps -a  #show all dockerdocker images  #show local dockerdocker start  IDdocker stop  IDdocker attach IDexit = ctrl +ddocker exec -it c62d0ebaf99d /bin/bash  # 进入dockerdocker rm ID  # 删除容器docker rmi IMAGES  # 删除镜像参考https://www.cnblogs.com/old-sister/p/13738430.htmlhttps://blog.csdn.net/nidongla/article/details/116495024————————————————原文链接:https://blog.csdn.net/weixin_42200352/article/details/121648602
  • [技术干货] MindSpore性能调试(Ascend)1
    在Ascend AI处理器上使用MindSpore Profiler进行性能调试。流程准备训练脚本,并在训练脚本中调用性能调试接口,接着运行训练脚本。启动MindInsight,并通过启动参数指定summary-base-dir目录(summary-base-dir是Profiler所创建目录的父目录),例如训练时Profiler创建的文件夹绝对路径为/home/user/code/data,则summary-base-dir设为/home/user/code。启动成功后,根据IP和端口访问可视化界面在训练列表找到对应训练,点击性能分析,即可在页面中查看训练性能数据首先准备脚本:set_context之后,初始化网络、以及初始化HCCL之前,需要初始化MindSpore Profiler对象。调用Profiler.analyse()停止性能数据收集并生成性能分析结果。Profiler可以通过start_profile参数控制是否基于step(epoch)开启、关闭收集性能数据。对于图模式的数据下沉模式,只有在每个epoch结束后才有机会告知CANN开启和停止,因此对于数据下沉模式,需要基于epoch开启和关闭。正常正常情况下,代码如下:import numpy as npfrom mindspore import nn, contextfrom mindspore import Modelimport mindspore.dataset as dsfrom mindspore.profiler import Profilerclass Net(nn.Cell):    def __init__(self):        super(Net, self).__init__()        self.fc = nn.Dense(2, 2)    def construct(self, x):        return self.fc(x)def generator():    for i in range(2):        yield (np.ones([2, 2]).astype(np.float32), np.ones([2]).astype(np.int32))def train(net):    optimizer = nn.Momentum(net.trainable_params(), 1, 0.9)    loss = nn.SoftmaxCrossEntropyWithLogits(sparse=True)    data = ds.GeneratorDataset(generator, ["data", "label"])    model = Model(net, loss, optimizer)    model.train(1, data)if __name__ == '__main__':    context.set_context(mode=context.GRAPH_MODE, device_target="Ascend")    # Init Profiler    # Note that the Profiler should be initialized after context.set_context and before model.train    # If you are running in parallel mode on Ascend, the Profiler should be initialized before HCCL    # initialized.    profiler = Profiler(output_path = './profiler_data')    # Train Model    net = Net()    train(net)    # Profiler end    profiler.analyse()图模式:对于非数据下沉,需要基于step开启代码如下:from mindspore.profiler.callback import Callbackclass StopAtStep(Callback):    def __init__(self, start_step, stop_step):        super(StopAtStep, self).__init__()        self.start_step = start_step        self.stop_step = stop_step        self.profiler = Profiler(start_profile=False)    def step_begin(self, run_context):        cb_params = run_context.original_args()        step_num = cb_params.cur_step_num        if step_num == self.start_step:            self.profiler.start()    def step_end(self, run_context):        cb_params = run_context.original_args()        step_num = cb_params.cur_step_num        if step_num == self.stop_step:            self.profiler.stop()    def end(self, run_context):        self.profiler.analyse()对于数据下沉,需要基于epoch开启class StopAtEpoch(Callback):    def init(self, start_epoch, stop_epoch):        super(StopAtStep, self).init()        self.start_epoch = start_epoch        self.stop_epoch = stop_epoch        self.profiler = Profiler(start_profile=False)    def epoch_begin(self, run_context):        cb_params = run_context.original_args()        epoch_num = cb_params.cur_epoch_num        if step_num == self.start_epoch:          self.profiler.start()    def epoch_end(self, run_context):        cb_params = run_context.original_args()        epoch_num = cb_params.cur_epoch_num        if epoch_num == self.stop_epoch:            self.profiler.stop()    def end(self, run_context):        self.profiler.analyse()————————————————原文链接:https://blog.csdn.net/JIAJIA14754545/article/details/121856792
总条数:1857 到第
上滑加载中