DS-CNN网络性能调测经验总结

举报
JeffDing 发表于 2021/07/13 15:44:15 2021/07/13
【摘要】 代码链接:https://gitee.com/ascend/modelzoo/tree/master/contrib/TensorFlow/Research/speech/ds-cnn/ds-cnn_tf_huangjinsaiDSCNN网络在白银赛段的时候就发现运行的性能比GPU要慢很多倍,一直没找到原因所在黄金赛段利用profiling工具终于找到原因通过分析aicpu_0_1文件感觉A...

代码链接:https://gitee.com/ascend/modelzoo/tree/master/contrib/TensorFlow/Research/speech/ds-cnn/ds-cnn_tf_huangjinsai

DSCNN网络在白银赛段的时候就发现运行的性能比GPU要慢很多倍,一直没找到原因所在

黄金赛段利用profiling工具终于找到原因

110448_5f08c0f1_7379786.png

通过分析aicpu_0_1文件感觉AudioSpectrogram20210627111443_0这个算子Task执行时间有点长,但是不知道怎么去优化,所以提了一个issue:https://gitee.com/ascend/modelzoo/issues/I3YAEX

110557_3725f261_7379786.png

通过分析op_summary_0_1文件感觉MatMul和TransData算子时间也是需要很久,找不到好的优化方法。

也得到了回复目前正在解决中。

本来想放弃的时候,通过和测试的交流,他发现可能是数据处理的时候GPU和NPU存在差距,于是就修改了一下代码

start = time.time() #new add
train_summary, train_accuracy, cross_entropy_value, _, _ = sess.run(
            [
                merged_summaries, evaluation_step, cross_entropy_mean, train_step,
                increment_global_step
            ],
            feed_dict={
                fingerprint_input: train_fingerprints,
                ground_truth_input: train_ground_truth,
                learning_rate_input: learning_rate_value,
                dropout_prob: 1.0
            })
avg_time_per_step = (time.time() - start) # new add

只计算运行时候的性能,这样比一下NPU比GPU要快一点了

DS-CNN精度和性能调优数据:

平台 Acc 速度
论文 95.4% /
Ascend 910A 95.89% 0.22 seconds/step
GPU(Tesla V100 16GB) 96.24% 0.31 seconds/step

最终感觉NPU和GPU的差异应该是在数据处理那一块。


整个过程中感觉遇到profiling的时候解析和导出数据需要权限才能导出,一开始没注意所以遇到了一些报错,也提了issue,期初以为是环境没装好,但是后来发现是权限问题,使用sudo后能正常在平台进行解析导出了。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。