Pytorch: خطأ عند إجراء CUDA Conv2d مع نواة 1x1.

تم إنشاؤها على ٢٣ يناير ٢٠١٧  ·  3تعليقات  ·  مصدر: pytorch/pytorch

لا يعمل Conv2d مع 1x1 kernel على وحدة معالجة الرسومات ، على الرغم من أنه يعمل بشكل جيد على وحدة المعالجة المركزية:

net = nn.Conv2d(1, 6, kernel_size=(1,1))
net.cuda()
x = Variable(torch.randn(1, 1, 100, 100))
x.cuda()
net(x)

رسالة خطأ:

TypeError: FloatSpatialConvolutionMM_updateOutput received an invalid combination of arguments - got (int, torch.FloatTensor, torch.FloatTensor, torch.cuda.FloatTensor, torch.cuda.FloatTensor, torch.FloatTensor, torch.FloatTensor, int, int, int, int, int, int), but expected (int state, torch.FloatTensor input, torch.FloatTensor output, torch.FloatTensor weight, [torch.FloatTensor bias or None], torch.FloatTensor finput, torch.FloatTensor fgradInput, int kW, int kH, int dW, int dH, int padW, int padH)

حاولت تعطيل cudnn باستخدام torch.backends.cudnn.enabled = False ولكن ما زلت أتلقى نفس رسالة الخطأ.

أستخدم Ubuntu 14.04 و Cuda 7.5 و Cudnn 5.1.5 و Python 3.5.2 و Pytorch مثبتة من الثنائيات.

التعليق الأكثر فائدة

للتوضيح ، بدلاً من:

x = Variable(torch.randn(1, 1, 100, 100))
x.cuda()  # This creates a copy on the GPU and immediately discards it. "x" is still on the CPU

يجب ان تكتب:

x = Variable(torch.randn(1, 1, 100, 100).cuda())

ال 3 كومينتر

إذا نظرت عن كثب إلى أنواع الوسيطات التي تم منحها للتحويل ، فسترى أن بعض الموترات هي torch.cuda.FloatTensor s ، في حين أن البعض الآخر هو torch.FloatTensor s. ربما نسيت إرسال الإدخال إلى وحدة معالجة الرسومات.

للتوضيح ، بدلاً من:

x = Variable(torch.randn(1, 1, 100, 100))
x.cuda()  # This creates a copy on the GPU and immediately discards it. "x" is still on the CPU

يجب ان تكتب:

x = Variable(torch.randn(1, 1, 100, 100).cuda())

أعتقد أنه من الأفضل جعل model.cuda() و x.cuda() يتصرفون باستمرار لتجنب الالتباس.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

miguelvr picture miguelvr  ·  3تعليقات

dablyo picture dablyo  ·  3تعليقات

Coderx7 picture Coderx7  ·  3تعليقات

SeparateReality picture SeparateReality  ·  3تعليقات

keskarnitish picture keskarnitish  ·  3تعليقات