- 博客(319)
- 收藏
- 关注
原创 MindSpore报错ImportError cannot import name “build dataset loader‘ from ‘mindformers.dataset. dataload
报错表示无法加载build_dataset_loader函数。从报错信息给定的位置查找发现__init__.py文件中没有添加这个函数。只需在__init__.py文件中添加build_dataset_loader函数即可。硬件环境(Ascend/GPU/CPU): Ascend。执行模式(PyNative/ Graph): 不限。MindSpore版本: 2.1。
2024-05-22 03:16:18 255 1
原创 MindSpore开启profile,使用并行策略报错ValueError: When dıstrıbuted loads are slıced we1ghts, sınk mode must be
硬件环境(Ascend/GPU/CPU): Ascend/GPU/CPU。分析配置文件可知,此时开启了profile功能,当前不支持两者同时使用。执行模式(PyNative/ Graph): 不限。MindSpore版本: 2.1。不同时使用这两个功能。
2024-05-22 03:15:12 179
原创 Ascend上构建MindSpore报has no member named ‘update output desc dpse‘ ;did you mean ‘update_output_desc_d
需要将对应CANN包的latest/opp/built-in/op_proto/inc/experiment_ops.h文件复制并覆盖mindspore目录下的graphengine/910b/third_party/fwkacllib/inc/ops/experiment_ops.h,不需要清缓存,直接重新执行构建命令即可。硬件环境(Ascend/GPU/CPU): Ascend。执行模式(PyNative/ Graph): 不限。MindSpore和CANN包版本不匹配。
2024-05-22 03:14:12 345
原创 MindSpore和tbe版本不匹配问题及解决
执行完上面命令后,屏幕错误信息中显示类似"CPU"和"tbe"字眼。可以通过执行如下命令自检MindSpore和tbe版本是否匹配。大多数是因为当前虚拟环境的te版本和MindSpore、CANN包不匹配。尝试卸载相关whl包,重装对应CANN路径下的whl包。
2024-05-22 03:12:49 388
原创 MindSpore开启MS_DISABLE_REF_MODE导致报错The device address type is wrong:type name in address:CPU,type nam
分析发现是开启“MS_DISABLE_REF_MODE”环境变量所导致。硬件环境(Ascend/GPU/CPU): Ascend。执行模式(PyNative/ Graph): 不限。unset此环境变量后即可正常跑通。MindSpore版本: 2.2。
2024-05-22 03:11:56 420
原创 MindSpore模型权重功能无法保存更新后的权重
根据上述信息发现最终保存的模型权重还是和初始化权重一样,表示并没有保存到训练之后的权重。升级版本到MindSpore 2.2之后,模型保存可以正常工作。硬件环境(Ascend/GPU/CPU): Ascend。执行模式(PyNative/ Graph): 不限。MindSpore版本: 2.1.1。
2024-05-22 03:10:52 195
原创 MindSpore在yaml文件的callbacks中配置SummaryMonitor后,开启summary功能失效
的base_trainer.py文件中阴影部分的代码会导致SummaryMonitor失效,所以需要将其注释掉。最好的方法是将mindformers更新到最新版本。硬件环境(Ascend/GPU/CPU): Ascend。执行模式(PyNative/ Graph): 不限。MindSpore版本: 2.1。
2024-05-22 03:09:41 143
原创 MindSpore开启summary报错ValueError: not enough values to unpack (expected 4, got 0)
硬件环境(Ascend/GPU/CPU): Ascend。解决办法是把上面报错提示中的“_, _, _”去掉。执行模式(PyNative/ Graph): 不限。MindSpore版本: 2.1.1。应该和两机网络通信有关。
2024-05-22 03:08:55 251
原创 MindSpore开启profiler功能报错IndexError:list index out of range
原因是Ascend环境启动profiler需要配置一些环境命令。硬件环境(Ascend/GPU/CPU): Ascend。执行模式(PyNative/ Graph): 不限。MindSpore版本: 2.1。
2024-05-22 03:07:49 189
原创 MindSpore保存模型提示:need to checkwhether you is batch size and so on in the ‘net‘ and ‘parameter dict‘ a
2) 设置export MS_ENABLE_REF_MODE=1,上述代码则不需要注释。注意:有些环境中设置MS_ENABLE_REF_MODE=1可能会报错,可能是CANN版本等原因,这需要在适合的环境中使用。保存模型需要使用到callback.py中的_save_ckpt()功能,但是在使用Ascend上使用时,会走进如下代码的第一个if判断代码部分,从而导致报错。硬件环境(Ascend/GPU/CPU): Ascend。1) 注释掉上面if判断的代码,问题可以解决。MindSpore版本: 2.1。
2024-05-22 03:07:02 165
原创 MindSpore2.2.10使用Flash attention特性报错AttributeError: module ‘mindspore.nn‘has no attribute ‘FlashAt
低版本MindSpore不支持flash attention(如MindSpore2.0beta、MindSpore2.1),需要升级高版本才能支持这个特性。硬件环境(Ascend/GPU/CPU): Ascend。执行模式(PyNative/ Graph): 不限。MindSpore版本: 2.1。
2024-05-22 03:05:42 167
原创 报错:调用MindSpore内部函数时的语法错误
硬件环境(Ascend/GPU/CPU): Ascend/GPU/CPUMindSpore版本: 不限执行模式(动态图):不限Python版本: Python=3.7.5操作系统平台: 不限。
2024-05-22 03:03:05 218
原创 MindSpore论坛报错活动第四期---在静态图模式下使用try语法报错RuntimeError: Unsupported statement ‘Try‘.
硬件环境(Ascend/GPU/CPU): CPUMindSpore版本: 1.9.0执行模式(动态图/静态图): 静态图Python版本: 3.7操作系统平台:linux。
2024-05-22 03:01:52 286
原创 MindSpoer报错:The strategy is ((6, 4), (4,6)), the value of stategy must be the power of 2, but get 6.
该报错原因就是当前并行不支持非2的幂次方的并行切分,6*4显然不是2的幂次方。因此我们只需要根据实际情况选择16,32或其它符合要求的并行度即可。我们把算子的shard切分度改为符合要求的即可。3. rank_table_8p.json参考如下。将下述的bash脚本另存为 run.sh。将下述的脚本命名为run.py。
2024-05-22 03:00:11 218
原创 MindSpore并行模式配置报错解决:Parallel mode dose not support **
如下图所示,明显的报错信息说明当前的并行模式中不支持。的可选项有如下几种,正确配置即可。在合理配置并行模式之后(如配置成。将以下python脚本保存为。将以下shell脚本保存为。将下面json文件保存为。
2024-05-22 02:58:33 361
原创 叮!请查收昇思人工智能框架峰会2024邀请函
昇思MindSpore人工智能框架峰会,北京国家会议中心,2024年3月21闭门会议,3月22日主论坛和开发者嘉年华,人工智能产学研用专家齐聚,诚邀各位开发者参加~~
2024-03-12 15:31:20 426
转载 RWKV解读:在Transformer的时代的新RNN
最开始自然语言使用RNN来建模,它是一种基于循环层的特征提取网络结构,循环层可以将前一个时间步的隐藏状态传递到下一个时间步,从而实现对自然语言的建模。RNN由于存在循环结构(如下图所示),每个时间步的计算都要依赖上一个时间步的隐藏状态,导致计算复杂度较高,而且容易出现梯度消失或梯度爆炸的问题,导致训练效率低下,因此RNN网络扩展性不好。RNN结构Transformer在2017年由谷歌提出,是一种基于自注意力机制的特征提取网络结构,主要用于自然语言处理领域。
2023-09-15 14:40:38 1446
原创 张量运算失败报错RuntimeError:Malloc for kernel output failed, Memory isn’t enough
硬件环境(Ascend/GPU/CPU): GPUMindSpore版本: mindspore=1.10.1执行模式(PyNative/ Graph):PyNativePython版本: Python=3.7.5操作系统平台: linux。
2023-08-18 09:44:55 359
原创 在NPU上的切片操作x=x[:,::-1,:,:]不生效的分析解决
硬件环境(Ascend/GPU/CPU): Ascend&GPUMindSpore版本: 1.9.0执行模式(PyNative/ Graph): 不限Python版本: 3.7.5操作系统平台:Linux。
2023-08-18 09:44:11 201
原创 MindSpore:TopK算子返回的全零的Tensor的解决
硬件环境(Ascend/GPU/CPU): GPUMindSpore版本: mindspore=1.10.1执行模式(PyNative/ Graph):GraphPython版本: Python=3.9.16操作系统平台: Linux Ubuntu 20.04。
2023-08-18 09:43:30 174
原创 MindSpore报refer to Ascend Error Message错误
该报错是mindspore拦截CANN的报错抛出的通用性报错。通常来说可能是环境配置有误,参数有误,但不排除底层架构实现/算子级别的实现导致的。获取报错码后,可在CANN手册里查询对应原因以及解决方案。若查询不到,或者解决方案未能解决,可联系华为工程师寻求算子层面的帮助。有先尝试使用配套兼容版本。如果更换版本后不能解决或者特殊原因不能更换版本,需要提取底层CANN包日志。在配置完成后,重新启动训练,复现问题。并获取日志中的ERROR信息,提取其中报错码和报错信息进行进一步定位和解决。
2023-08-18 09:42:33 491
原创 MindFormers大模型套件llama 训练&微调&评估&推理 一步到位奶爸级教程
基于MindFormers大模型套件中llama readme跑通的训练、评估、微调、推理整理的文档,适合初次接触大模型套件的童鞋入坑学习。
2023-08-18 09:41:35 754
原创 损失函数小结MindSporeAI
mindspore.nn.SampledSoftmaxLoss(num_sampled, num_classes, num_true=1, sampled_values=None, remove_accidental_hits=True, seed=0, reduction="none"):在类别数较多的情况下,加速训练。mindspore.nn.FocalLoss(weight=None, gamma=2.0, reduction="mean"):通常用于目标检测,解决了类别不平衡问题。
2023-08-18 09:34:46 139
原创 对比pytorch的优化器实现及使用方法MindSporeAI
MindSpore和pytorch都支持参数分组且使用方法相似,在使用时都是给优化器传入一个字典的列表,每个字典对应一个参数组,其中key为参数名,value为对应的设置值。Mindspore中的混合精度场景下,如果使用FixedLossScaleManager进行溢出检测,且drop_overflow_update为False时,优化器需设置loss_scale的值,且loss_scale值与FixedLossScaleManager的相同,详细使用方法可以参考优化器的混合精度配置。
2023-08-18 09:34:03 806
原创 经典论文复现(Adam),基于MindSpore2.0
在本文中,我们将展示如何使用 MindSpore 2.0 构建自己的 Adam 优化器。Adam 是一种广泛使用的优化器,它结合了 Momentum 和 RMSProp 的优点,通常在许多深度学习任务中表现良好。
2023-08-18 09:33:05 198
原创 数据处理性能调试经验
4. 对后续节点而言,若其前一节点的输出队列为空,则说明前一节点的生产速度慢于当前节点的消费速度,则应增大前一节点的并发数,或减小当前节点的并发数;若其前一节点的输出队列为满,则说明前一节点的生产速度快于当前节点的消费速度,则应减小前一节点的并发数,或增大当前节点的并发数。5. 按照4中的步骤,不断调节各节点并发数,然后开启训练并观察队列使用率情况,直到整个数据管道即没有队列过满,也没有队列过空,都维持在30%-70%的利用率水平,此时数据可以从磁盘中源源不断流入训练网络,不存在瓶颈节点。
2023-08-18 09:32:28 100
原创 MindSpore异常数据检查
在对神经网络进行训练之前,一般需要准备好大量、丰富的可训练数据,使模型得到充分的训练,以提升其准确率、泛化能力。数据的来源是多样的,在准备训练数据时,有可能从本地读取数据,也可能远端服务器拉取数据。当读取到的数据丰富度不够时,可能会使用一些通用的数据增强方法对数据的样式和种类进行扩展,或者根据具体的需要对数据进行预处理计算(如token to id等),以满足神经网络的输入需要。
2023-08-14 10:17:35 105
原创 混合精度调优经验分享(四)
由于昇腾上部分算子不支持fp32(如 Conv,Pooling),或部分算子虽然支持fp32但性能极差,不得不切换成fp16(如MatMul),或者用户脚本中设置了混合精度,这些原因导致其必须走fp16格式,这增大了训练过程中算子溢出的风险,影响网络最终收敛的精度,这里给出算子溢出分析方法。如果算子计算不存在溢出,则算子存在误溢出;如果该溢出是由于LossScale的值过大导致,则该算子的溢出是合理的,如果不是LossScale的值过大引起,则连续发生溢出,则该算子的溢出不合理;
2023-08-11 17:21:02 125
原创 混合精度调优经验分享(三)
而 DynamicLossScaleManager 的lossScale是动态调整的,当网络在连续的一定step 下都没有发生溢出,LossScale 的值就会进行调整,具体的调整方式和连续step的数量可以通过其参数控制,而当检测到网络溢出后,LossScale的值便会下降;MindSpore提供了LossScaleManager类来帮助用户设置混合精度的参数,用户在编写神经网络代码时,可以按照全精度的方式构建,然后仅通过 LossScaleManager 来对网络进行混合精度的处理。
2023-08-11 17:20:24 146
原创 混合精度调优经验分享(二)
在混合精度论文[Mixed Precision Training] 中,作者提出,对于大规模的累加操作,使用FP16会损失更多精度,这一类算子仍要保持FP32的运算,比较常见的算子如:BatchNorm,SoftMax等,这些算子的Redunction 操作仍需要使用FP32格式。为了解决权重无法进行微小更新的问题,在权重更新阶段,我们需要让更新值和被更新值的格式都是FP32。更新值就是梯度,被更新值就是权重,因此,在最后的更新阶段,需要先将FP16梯度转换为FP32格式,然后更新到FP32的权重上。
2023-08-11 17:19:48 169
原创 混合精度调优经验分享(一)
以下是SSD网络激活层梯度的范围,可以看到,整体数值非FP16值域中心对称,绝大多数数值在FP16的表达范围之外,而在FP16表达访问之内的数据,绝大部分又在 FP16的denorm区间(该区间最小相邻数据间隔更大)。这是因为,对于FP16而言,当一个大数和小数相加时,结果的指数位通常和指数位保持一致,如果两数相差2048倍,则较小的数无法用较大的数的指数位表达,较小的数相当于0,所以结果仍为较大的数,该问题同样会导致权重无法更新。混合精度论文参考:[Mixed Precision Training]
2023-08-11 17:19:14 203
原创 Convolutional Neural Networks for Sentence Classification-经典论文复现活动(MindSpore)
任务描述参考任务清单中paperswithcode链接,学习论文中的网络模型,基于MindSpore框架完成对应网络模型的复现。任务要求1. 建议基于MindSpore框架最新版本(Nightly)进行开发,不能使用其他AI框架的接口。最新版本安装请参考:https://www.mindspore.cn/install 选择Nightly版本。2. 任务分为两部分:3. 代码提交至个人github开源仓库,并在paperswithcode网站对应的论文下添加自己的代码实现。
2023-08-11 17:18:04 157
原创 经典论文复现(VAE),基于MindSpore2.0
变分自编码器是一种生成模型,它使用概率编码和解码的方式来生成数据。VAE 的目标是学习输入数据的潜在分布,然后从这个分布中采样新的数据点,这些数据点应该与原始数据具有相似的特性。
2023-08-11 17:16:59 225
原创 静态图跑动态shape场景报错ValueError:The 7th input dims of ‘set_inputs‘ must be the same as network‘s input,but
可以通过迭代打印数据部分看下数据的情况(shape,dtype信息etc.),根据这些信息来设定上图中输入。硬件环境(Ascend/GPU/CPU): Ascend。这是因为第7个输入的shape和网络真实所需要的不符合。功能时,需要在训练之前给动态的部分置为。静态图跑动态shape场景报错。不一致,当我们使用静态图动态。Python版本:3.7。操作系统平台:Linux。的时候的输入和网络输入的。
2023-08-11 17:16:13 55
原创 Ascend单卡可以跑通,分布式报错误:Hccl ops kernel builder is null, may not be inited.
代码单P可以跑通,分布式报以上错误,从报错信息可以看到是因为没有初始化通信服务需要的分布式后端。硬件环境(Ascend/GPU/CPU): Ascend。Python版本:3.7。操作系统平台:Linux。
2023-08-11 17:15:40 139
原创 使用TrainOneStepWithLossScaleCell报错Error:Found inconsistent format!
单P:仅跑前向+反向更新能够正常跑通,结果正确输出。使用TrainOneStepWithLossScaleCell就会报以上错误.排查到context时,发现一个疑问点,我跑的是单P,设置中是数据并行分布式训练。这时我们可以去看下我们设置的context,或者优化器设置。我们首先可以思考是否是梯度聚合或者参数更新的时候出现问题。硬件环境(Ascend/GPU/CPU): Ascend。将这段代码注释掉跑单P,可以顺利跑通。Python版本:3.7。操作系统平台:Linux。
2023-08-11 17:15:08 73
原创 使用自定义数据集运行mindformers的gpt2大模型,报错TypeError: The predict type and infer type is not match, predict typ
硬件环境(Ascend/GPU/CPU): GPUMindSpore版本: 2.0rc1执行模式(PyNative/ Graph): 不限Python版本: 3.7.5操作系统平台: 不限。
2023-08-11 17:07:16 274
原创 MindSpore SPONGE暑期学校火热招生中,分子计算课程等你来
北京大学化学与分子工程学院(名额有限,请大家填写报名表单的同时一定加入课程群组,最终线下参与学员将会在群内或者邮件通知您,线下将提供免费云算力平台供实操体验)。8月21日~25日 每天的8:30~12:00、14:00~17:00、19:00~20:30。
2023-08-10 10:19:31 219
原创 宝典相授,无错在手 |昇思MindSpore报错调试宝典(六):网络构建与训练类报错之资源不足
那么本期我们看看网络构建与训练类报错常见的最后一个问题分类,即资源不足方面的报错,如遇到资源不足方面的报错,如 Out Of Memory、memory isn’t enough 等等资源问题应该如何分析呢。这次的问题是,神经网络训练模型脚本在执行过程中报错退出了,你帮我看看是哪里出了问题?小孢子:好的,我明白啦,在遇到资源不足问题时,还是看具体情况,是其他程序占用、还是程序本身配置问题。MindSpore:不错,总结的很到位,真是触类旁通呢。小孢子:好了,执行没有报错,程序可以继续进行训练了。
2023-06-12 15:56:25 101
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人