鲲鹏920跑pytorch cpu训练速度很慢
收藏回复举报
鲲鹏920跑pytorch cpu训练速度很慢
t('forum.solved') 已解决
新人帖
发表于2024-01-05 17:55:50
0 查看

如题,pytorch cpu训练很慢,使用的是开源的wenet语音识别框架,搭了一个nvidia/cuda:11.6.1-cudnn8-runtime-ubuntu20.04镜像,但用的是cpu,训练可以正常运行,性能表现是模型前向计算很慢,一个小时的训练数据,batchsize 16, num_worker 4, 模型参数量80M, 需要一个小时才能跑一个batch,16小时跑一个epoch,这是因为什么问题导致的呢,大佬们帮忙看看

我仔细分析了下,发现是torch.nn.Conv1d这个函数跑的慢, X86跑了0.016秒,arm跑了0.254秒,我推测是不是需要在docker里安装一些鲲鹏独有的数学计算加速库,拜托大佬们指导指导, 这是测试代码: 

import torch 

import time 

# Create random input 

input_data = torch.randn(1, 256, 1000) 

 

# Create convolutional layer 

#conv1d_layer = torch.nn.Conv1d(in_channels=1, out_channels=1, kernel_size=3) 

#start_time_x86 = time.time() 

conv1d_layer = torch.nn.Conv1d( 

            256, 

            256, 

            15, 

            stride=1, 

            padding=0, 

            groups=256, 

            bias=True, 

        ) 

# Perform convolution on x86 

start_time_x86 = time.time() 

output_x86 = conv1d_layer(input_data) 

end_time_x86 = time.time() 

time_elapsed_x86 = end_time_x86 - start_time_x86 

print('Time elapsed on x86:', time_elapsed_x86) 

print(output_x86) 

本帖最后由 匿名用户2024/01/05 17:56:50 编辑

我要发帖子