【Document Link】/【文档链接】
https://gitee.com/lytgogogo/mindscience/blob/master/MindSPONGE/applications/research/esm/src/gvp_utils.py
【Issues Section】/【问题文档片段】
该文件flatten_graph函数的tensor to numpy以及后续过程。
【Existing Issues】/【存在的问题】
Esm模型训练过程较慢,花费时间过长。以下为原因分析以及性能异常报告。
Esm模型每个step训练时间在GPU中和昇腾910中性能对比如下:
GPU:
昇腾910:
昇腾910profiling:计算时间较长的算子均转为了float16进行运算。CPU.NPU时间均正常。
CPU耗时:78.16ms
NPU算子总耗时:1747.94ms
模型性能较差原因:
在gvp_utils中存在tensor to numpy的转换:
该过程只能转换为numpy进行。且存在动态shape问题:模型的edge_embedding过程需要调用flatten_graph函数。该函数以及该过程存在张量尺寸变化问题。
该问题导致模型无法转为静态图测试。
尝试解决方案:
尝试通过ops.nonzero()产生mask序号,并通过序号实现动态shape过程的平替。
该平替过程在gvp_utils的单个函数中可达到相同的效果,但在网络中由于nonzero会产生某一维度的shape为-1,该问题会导致网络后续无法继续计算,并导致大量报错。
ValueError: For 'Concat', element1 shape in input can not concat with element0. To perform concat in the axis 0 direction, except for the 0th axis, all other axes must have the same shape. But got element1_shape[0]: -1, element0_shape[0]: 16470.
你好,问题收到,我们已安排人员分析
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论