عندما قمت بتثبيت أحدث إصدار من pytorch برمز المصدر ، تلقيت الخطأ:
UserWarning: فهرس غير صالح للموتر 0 خافت. سيكون هذا خطأ في PyTorch 0.5. استخدم tensor.item () لتحويل موتر 0 خافت إلى رقم بايثون
train_loss + = loss.data [0]
التتبع (آخر مكالمة أخيرة): ......................... 10/2984 الخطوة: 61 مللي ثانية | Tot: 2s170ms | الخسارة: ملف "testgn.py" ، السطر 267 ، بتنسيق
قطار (حقبة)
ملف "testgn.py" ، السطر 199 ، في القطار
٪ (train_loss / (batch_idx + 1) ، 100. * صحيح / إجمالي ، صحيح ، إجمالي))
خطأ وقت التشغيل: لا يمكن تحويل القيمة إلى نوع uint8_t بدون تجاوز: 264
بالمناسبة ، يعمل الكود جيدًا على pytorch الذي تم تثبيته بواسطة conda.
أعتقد أنك بحاجة إلى حل مشكلة النوع الصحيح ، أعتقد أن نوع الصحيح الذي تحصل عليه هو "byteTensor".
يؤسفني سماع ذلك ، لقد واجهت هذه المشكلة من قبل ، وآمل أن تساعدك فكرتي.
قد تضطر إلى تغيير loss.data[0]
إلى loss.item()
كما هو موضح في رسالة الخطأ.
نعم ، هذا أحد الآثار الجانبية لدمج المتغير / الموتر. اتبع رسالة الخطأ (أو قم بتثبيتها بشكل صريح على عوامة باستخدام float(loss)
/home/kerax/usys/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:31: UserWarning: فهرس غير صالح للموتر 0 باهت. سيكون هذا خطأ في PyTorch 0.5. استخدم tensor.item () لتحويل موتر 0 خافت إلى رقم بايثون
/home/kerax/usys/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:32: UserWarning: فهرس غير صالح للموتر 0 باهت. سيكون هذا خطأ في PyTorch 0.5. استخدم tensor.item () لتحويل موتر 0 خافت إلى رقم بايثون
Iter: 0، D: 1.351، G: 0.6499
حصلت على نفس الخطأ ولكن أصلحته مع الخسارة.item () كما [vishwakftw] المذكورة أعلاه. شكرا لك
شكرًا لـ [vishwakftw] ، هذه هي مشكلة تحويل pytorch
أتلقى هذا الخطأ ، هل يعرف أي شخص كيفية حله ، شكرًا مقدمًا!
IndexError Traceback (آخر مكالمة أخيرة)
21 save_file_name = 'jigsaw_cifar100_e {} _ s {}. pk'.format (n_epochs، sinkhorn_iter)
22 history = train_model (نموذج ، معيار ، مُحسِّن ، أداة تحميل قطار ، أداة تحميل_صادقة ،
---> 23 n_epochs = n_epochs ، save_file_name = save_file_name)
24
38 محسن .zero_grad ()
39 مخرجات = نموذج (x_in)
---> 40 n_correct_pred + = compute_acc (vecmat2perm2x2 (مخرجات) ، perms ، خطأ). البيانات [0]
41 خسارة = المعيار (النواتج ، y_in)
42 الخسارة. backward ()
IndexError: فهرس غير صالح للموتر 0 خافت. استخدم tensor.item () لتحويل موتر 0 خافت إلى رقم بايثون
أتلقى هذا الخطأ ، هل يعرف أي شخص كيفية حله ، شكرًا مقدمًا!
IndexError Traceback (آخر مكالمة أخيرة)
21 save_file_name = 'jigsaw_cifar100_e {} _ s {}. pk'.format (n_epochs، sinkhorn_iter)
22 history = train_model (نموذج ، معيار ، مُحسِّن ، أداة تحميل قطار ، أداة تحميل_صادقة ،
---> 23 n_epochs = n_epochs ، save_file_name = save_file_name)
24
38 محسن .zero_grad ()
39 مخرجات = نموذج (x_in)
---> 40 n_correct_pred + = compute_acc (vecmat2perm2x2 (مخرجات) ، perms ، خطأ). البيانات [0]
41 خسارة = المعيار (النواتج ، y_in)
42 الخسارة. backward ()
IndexError: فهرس غير صالح للموتر 0 خافت. استخدم tensor.item () لتحويل موتر 0 خافت إلى رقم بايثون
اتبع التعليمات الواردة في رسالة الخطأ
التعليق الأكثر فائدة
قد تضطر إلى تغيير
loss.data[0]
إلىloss.item()
كما هو موضح في رسالة الخطأ.