ပြုပြင်နည်း- တန်ဖိုးအမှား- operands များကို ပုံသဏ္ဍာန်များဖြင့် ထုတ်လွှင့်၍မရပါ။
Python ကိုအသုံးပြုရာတွင် သင်ကြုံတွေ့ရနိုင်သည့် အမှားတစ်ခုမှာ-
ValueError : operands could not be broadcast together with shapes (2,2) (2,3)
numpy.dot() လုပ်ဆောင်ချက်အစား Python တွင် အမြှောက်သင်္ကေတ ( * ) ကို အသုံးပြု၍ matrix ပေါင်းခြင်းကို လုပ်ဆောင်ရန် ကြိုးပမ်းသောအခါတွင် ဤအမှားသည် ဖြစ်ပေါ်လာပါသည်။
အောက်ပါနမူနာများသည် အခြေအနေတစ်ခုစီတွင် ဤအမှားကို မည်သို့ပြင်ရမည်ကို ပြသထားသည်။
အမှားကို ဘယ်လိုပြန်ထုတ်မလဲ။
ကျွန်ုပ်တို့တွင် အတန်း 2 ခုနှင့် ကော်လံ 2 ခုပါသော 2×2 matrix C ရှိသည်ဆိုပါစို့။

အတန်း 2 နှင့် ကော်လံ 3 ခုပါသော 2×3 matrix D လည်းရှိသည်ဆိုပါစို့။

ဤတွင် matrix C ကို matrix D ဖြင့် မြှောက်နည်း။

၎င်းသည် အောက်ပါ matrix ကို ဖြစ်ပေါ်စေသည်-

အောက်ပါအတိုင်း အမြှောက်သင်္ကေတ (*) ကို အသုံးပြု၍ ဤ matrix မြှောက်ခြင်းကို Python တွင် လုပ်ဆောင်ရန် ကြိုးစားသည်ဆိုပါစို့။
import numpy as np #define matrices C = np. array ([7, 5, 6, 3]). reshape (2, 2) D = np. array ([2, 1, 4, 5, 1, 2]). reshape (2, 3) #print dies print (C) [[7 5] [6 3]] print (D) [[2 1 4] [5 1 2]] #attempt to multiply two matrices together CD ValueError: operands could not be broadcast together with shapes (2,2) (2,3)
ကျွန်ုပ်တို့သည် ValueError ကိုလက်ခံရရှိပါသည်။ ဤအမှားအယွင်းကို ဘာကြောင့်ရရှိခဲ့သည်ကို နားလည်ရန် NumPy စာရွက်စာတမ်း ကို ကိုးကားနိုင်သည်-
array နှစ်ခုတွင် လုပ်ဆောင်သောအခါ NumPy သည် ၎င်းတို့၏ ပုံသဏ္ဍာန်ဒြပ်စင်အား ဒြပ်စင်အလိုက် နှိုင်းယှဉ်ပါသည်။ ၎င်းသည် အဆုံးအတိုင်းအတာ (ဆိုလိုသည်မှာ ညာဘက်ဆုံး) ဖြင့် စတင်ပြီး ဘယ်ဘက်သို့ ၎င်း၏နည်းလမ်းဖြင့် လုပ်ဆောင်သည်။ အတိုင်းအတာနှစ်ခု လိုက်ဖက်လိုက်တာ
- ၎င်းတို့သည် တန်းတူဖြစ်သည်။
- အဲဒီထဲက တစ်ယောက်က ၁
ဤအခြေအနေများနှင့် မကိုက်ညီပါက ValueError- Operands များကို အတူတကွ ထုတ်လွှင့်၍မရသော ခြွင်းချက်အား ဖယ်ချလိုက်ပြီး arrays များတွင် ကိုက်ညီမှုမရှိသော ပုံသဏ္ဍာန်များရှိကြောင်း ညွှန်ပြပါသည်။
ကျွန်ုပ်တို့၏ matrices နှစ်ခုသည် ၎င်းတို့၏ နောက်ဆုံးအတိုင်းအတာများအတွက် တူညီသောတန်ဖိုးမရှိသောကြောင့် ( matrix C တွင် နောက်ဆုံးအတိုင်းအတာ 2 ရှိပြီး matrix D တွင် နောက်ဆုံးအတိုင်းအတာ 3 ရှိသည်) ဖြစ်သောကြောင့် ကျွန်ုပ်တို့သည် အမှားတစ်ခုရရှိမည်ဖြစ်သည်။
အမှားကိုဘယ်လိုပြင်မလဲ။
ဤအမှားကိုပြင်ရန် အလွယ်ကူဆုံးနည်းလမ်းမှာ matrix မြှောက်ခြင်းကိုလုပ်ဆောင်ရန် numpy.dot() လုပ်ဆောင်ချက်ကို အသုံးပြုရန်ဖြစ်သည်-
import numpy as np #define matrices C = np. array ([7, 5, 6, 3]). reshape (2, 2) D = np. array ([2, 1, 4, 5, 1, 2]). reshape (2, 3) #perform matrix multiplication C. dowry (D) array([[39, 12, 38], [27, 9, 30]])
ကျွန်ုပ်တို့သည် ValueError ကို ရှောင်ရှားပြီး matrices နှစ်ခုလုံးကို အောင်မြင်စွာမြှောက်ရန် စီမံထားကြောင်း သတိပြုပါ။
ရလဒ်များသည် အစောပိုင်းတွင် ကျွန်ုပ်တို့ကိုယ်တိုင်တွက်ချက်ထားသော ရလဒ်များနှင့် ကိုက်ညီကြောင်းကိုလည်း သတိပြုပါ။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် Python ရှိ အခြားသော ဘုံအမှားများကို မည်သို့ပြင်ဆင်ရမည်ကို ရှင်းပြသည်-
ပြုပြင်နည်း- ကော်လံများ ထပ်နေသော်လည်း နောက်ဆက်တွဲကို သတ်မှတ်မထားပါ။
ပြုပြင်နည်း- Object ‘numpy.ndarray’ တွင် ‘append’ attribute မရှိပါ။
ပြင်ဆင်နည်း- scalar တန်ဖိုးများအားလုံးကို အသုံးပြုပါက၊ အညွှန်းတစ်ခုကို ကျော်သွားရန်လိုအပ်သည်။
ပြင်ဆင်နည်း- ValueError- float NaN ကို int အဖြစ်သို့ ပြောင်းလဲ၍မရပါ။