14/12/2024
C/C++
Choose your career carefully and we’ll help you find your way. Green Hackers Institute is one of the best technical colleges in the Union of Myanmar.
14/12/2024
C/C++
14/12/2024
Programming
DIPLOMA IN PYTHON PROGRAMMING
⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️
➡️“ ယနေ့ ခေတ်ထဲမှာ Skillful Programmer များအတွက် မလေ့လာထားရင် နောင်တရမည့် langauge တစ်ခုကို ပြောပါဆိုရင် Python Programming ဖြစ်မှာပါ”
➖
➡️Python Programming ကို အဆင့်မြင့် သင်တန်းများ တက်ရောက် လိုသော်လည်း သင်တန်းကြေး မြောက်များစွာ မတက်နိုင်သူများအတွက် အဆင့်မြင့် Diploma in Python Programming တန်းကို ဖွင့် ပေးလိုက်ပါတယ်။
➖
➡️Diploma In Python Programming တန်းသည် ပုံမှန် အားဖြင့် သင်တန်းကြေး ( ၃၀၀၀၀၀ ) ၃သိန်းကျပ် အစား ယခုကာလမို့ သင်တန်းကြေး အပြီးအစီး (100000 ) တစ်သိန်း ကျပ်သာ သွင်းရမှာ ဖြစ်ပါတယ်။ ( ပထမဆုံး ၁၀ ယောက်သာ )
➖
➡️သင်တန်းကာလသည် ၃ လ ဝန်းကျင်ခန့် ဖြစ်ပြီး သင်တန်းကို အောင်မြင်စွာ ပြီးဆုံးပါက International Cyber City Company မှ Diploma လက်မှတ်ကို ရရှိမှာ ဖြစ်ပါတယ်။
➖
➡️Diploma လက်မှတ်ကို ရရှိနိုင်ရန် သင်တန်း သားများ အနေဖြင့် သင်တန်းမှ ပေးသော Assignment များကို အဆင့်ဆင့် လုပ်ဆောင် သွားရမှာ ဖြစ်ပါတယ်။
➖
➡️ဘယ်လို လူမျိုးတွေ တက်ရောက်သင့်သလဲ
***************************************
🥇IT နည်းပညာဖြင့် အသက်မွေး ဝမ်းကြောင်း ပြုလိုသူများ၊
🥇Programming ကို စတင် လေ့လာ လိုသော်လည်း မည့်သည့်နေရာမှ စတင်၍ လေ့လာရမည်ကို မသိသေးသော သူများ ၊
🥇Programming သင်တန်းများစွာ တက်ဖူးသော်လည်း ကိုယ်တိုင် project မရေး တတ်သေးသူများ ၊
🥇Project တစ်ခုကို ကိုယ်တိုင် စရေးရန် မစဉ်းစား တတ်သေးသူများ
🥇IT/ computer ကျောင်းမှ မဟုတ်သော်လည်း Computer Programming ကို စိတ်ဝင်စားသူများ ၊
🥇AI , ML ,DL တို့ကို Python Programming သုံးပြီး လေ့လာ လိုသူများ ၊
🥇Thesis များ ပြုလုပ်ရာတွင် Python programming ကို အသုံးပြုလိုသူများ ၊
🥇လုံးဝ beginner level မှ Advanced ထိ သင်ကြားသော သင်တန်း ဖြစ်ပါသည်။
➖
ယခု သင်တန်းပြီးရင် ဘာတွေ တတ်မြောက်သွားမလဲ
************************************************
🥇Programming Language တစ်ခုကို စနစ်တကျ တက်မြောက်သွားမည်ဖြစ်ပြီး
🥇Artificial Intelligence , Machine Learning , Deep Learning , Data Science , IOT (internet of things), Hacking with python , WebDevelopment , Automation with Python စတဲ့နည်းပညာများအတွက် Professional Level အထိ ဆက်လက်လေ့လာဖို အထောက်ကူကောင်းများစွာ ရရှိသွားမှာဖြစ်ပါတယ်။
➖
Course အကြောင်း အသေးစိတ်
***********************************
🥇ယခု Python Programming အဆင့်မြင့် သင်တန်းအား Unit 20 ဖြင့် ပြန်လည် ဖွဲ့စည်းလိုက်ပြီး Assignment Projects များနှင့် Real World Projects များစွာကို ထည့်သွင်း update ပြုလုပ်ထားပါတယ်။ Diploma တန်း ဖြစ်သည့် နှင့် အညီ Diploma သင်တန်းနှင့် ထိုက်တန်သည့် Assignment Questionsများကိုလည်း ပြန်လည် ပြုလုပ် ထားပါသည်။
➖
🥇Unit 1 : Introduction To Programming
🥇Unit 2: Operators
🥇Unit 3: Functional 1
🥇Unit 4: Functional 2
🥇Unit 5: Advanced in Functional
🥇Unit 6: Object Oriented Programming
🥇Unit 6.1 : Assignment Projects ( 3 Projects )
🥇Unit 7: File Handling and Exception
🥇Unit 8 : JSON DataFormat and API
🥇Unit 9: MySQL Database
🥇Unit 10: Mongo Database
🥇Unit 10.1: Assignment Projects ( 3 Projects )
🥇Unit 11: Web Development Basic
🥇Unit 11.1: Assignment Projects ( 1 Project )
🥇Unit 12: Django Framework For Web Dev
🥇Unit 12.1: Web Assignments Projects ( 3 Project )
🥇Unit 13: Numpy( Use in AI , ML , DL ,DS )
🥇Unit 14: Matplotlib ( Visualization )
🥇Unit 15: AI , Machine Learning and DataScience(Introduction)
🥇Unit 15.1 : Final Assignments Projects ( 3 Projects )
➖
သင်းကြားမည့် ပုံစံ
*********************
🥇Recorded Online Class ဖြစ်ပြီး Google Class Room ဖြင့် သင်ကြားခြင်း ဖြစ်သည့် အတွက် Internet အချိန် ပြည့် မလိုအပ်ပါ။
🥇သင်ခန်းစာ များကို Download ရယူသောအချိန်တွင်သာ Internet လိုအပ်မည် ဖြစ်ပြီး ကျန် အချိန် များတွင် မလိုအပ်ပါ ( ဉပမာ တစ်ပတ်စာ မိမိ လေ့လာ မည့် သင်ခန်းစာများကို download ရယူ ထားမည်ဆိုလျှင် ကျန်ရက်များ၌ Internet မလိုအပ်တော့ပါ ) ။
🥇သင်ခန်းစာ အားလုံးကို Google Class Room တွင် အစီအစဉ် တကျ တင်ပေးထားမည် ဖြစ်သောကြောင့် မိမိတို့ အားလပ်သော အချိန်များတွင် အေးဆေးစွာ လေ့လာ နိုင်ပါသည်။
➖
မှတ်ချက်
*********
🥇သင်ခန်းစာများအား တစ်သက်တာ ( Life Time Access ) ပေးထားခြင်း ဖြစ်သောကြောင့် သင်ခန်းစာများအား သင်တန်းဘက်မှ ဖျက်သွားမည် မဟုတ်ပါ။
➖
🥇နားမလည်သော သင်ခန်းစာများကို ပြန်လည် မေးမြန်း နိုင်ရန် အတွက်လည်း Google Class Room တွင် ပြန်လည် ဆွေးနွေးနိုင်သလို Facebook Private Group တွင်လည်း မိမိတို့ နားမလည်သော အကြောင်းအရာများကို သင်တန်းသား များဖြင့် ပြန်လည် ဆွေး နွေး နိုင်သည်။
➖
🥇ယခု သင်တန်းကို ပြီးဆုံးသွားပါကလည်း Assignment များ တင်သွင်းပြီး သင်ယူ တတ်မြောက်ကြောင်း Diploma လက်မှတ် နှင့် အတူ အလုပ် ထောက်ခံချက်ကိုလည်း National Cyber City Company မှ ထုတ်ပေးသွားမှာ ဖြစ်ပါတယ်ဗျ။
➖
🥇မှတ်ချက် 1- Assignment များကိုတော့ ပြီးမြောက်အောင် တင်သွင်းရန် လိုအပ်ပါသည်။
➖
🥇မှတ်ချက် 2- Assignment ဆိုသည့် နေရာတွင် စာများကို အလွတ်ကျက်မှတ် ရခြင်း မဟုတ်ပဲ သက်ဆိုင်ရာ Projects များကို ရေးသားရခြင်းဖြစ်ပါသည်။
➖
🥇အသေးစိတ်သိရှိလိုပါက National Cyber City Page Messenger မှသော်လည်းကောင်း
ဖုန်း - 09453 741 976 (Viber , Telegram ) သို့
ဆက်သွယ်မေးမြန်းနိုင်ပါသည်။
➖
📳Programming Language အကြောင်းသာ သင်ကြား ရုံ မဟုတ်ပဲ မိမိကိုယ်ပိုင် idea ဖြင့် project ရေးသား ခြင်းများကိုပါ ထည့်သွင်း သင်ကြား ပေးပါသည်။
20/11/2020
17/11/2020
အလိုလျောက် မောင်းနှင်မှုမှာ Tesla ရဲ့ ကားတွေနဲ့ အခြား car brands တွေဘယ်လို ကွာခြားကြသလဲ?
AUTONOMOUS CARS
***************************
လူမဲ့ထိန်းချုပ်ယာဥ်တွေမှာ လမ်းကြောင်းပြောင်းခြင်း၊ ယာဥ် အမြန်နှုန်း သင်္ကေတများကို မှတ်သား ထားခြင်း၊ ယာဥ်၏အရှေ့တွင် ရုတ်တရက် ဖြစ်ပေါ်လာသော ကိစ္စများကြောင့် ယာဥ်ကို အရှိန်လျော့ပေး ခြင်းစသော ယာဥ်မောင်းသူကို ကူညီပေးနိုင်သော စနစ်များပါဝင်သည်။ ၎င်း စနစ်များသည် အဆင့်မြင့်ယဥ် မောင်းကူညီစနစ် Advanced Driver Assistance Systems(ADAS) ရှေ့ပြေးမျိုးဆက်တွေဖြစ် ပါတယ်။ အလိုအလျောက်မောင်းနှင်နိုင်သော ယာဥ်၏ရှေ့ပြေးပုံစံနှင့် ၎င်းတို့၏ sensors များအကြောင်း မလေ့လာခင် အလိုလျောက်စနစ်အကြောင်း ကိုလေ့လာသင့်ပါတယ်။
ဘာလို့လဲဆိုတော့ အလိုအလျောက်မောင်း စနစ် တစ်ခုနှင့်တစ်ခုမတူညီသောကြောင့် ဖြစ်သည်။ Society of Autonomous Engineering (SAE) က သတ်မှတ်ထားသော အလိုလျောက်မောင်းနှင်ခြင်း အဆင့်သတ်မှတ်ချက်များကို အောက်တွင် လေ့လာ နိင်ပါသည်။
Level 0 :: ယာဥ်မောင်းကပဲ အားလုံးမောင်းနှင်သည့် ပုံစံ
Level 1 :: ADAS က ယဥ်မောင်းကို steering သို့မဟုတ် brake/accelerate လုပ်ပေးမယ်။ နှစ်ခုလုံး တော့ တပြိုင်တည်း လုပ်မပေးနိုင်။
Level 2 :: သူကတော့ တချို့အခြေအနေတွေမှာ steering ရော brake/accelerate ရောလုပ်ပေး နိုင်တယ်။ human driver က မပြတ်စောင့်ကြည့်ဖို့လိုပါလိမ့်မယ်။
Level 3 :: သူကတော့ human driver က လိုအပ်မှသာ control လုပ်ပေးဖို့လိုပါတယ်။
Level 4 :: သူကတော့ human driver က စောင့်ကြည့်ဖို့မလိုပါဘူး။.
Level 5 :: သူကတော့ passenger only ပဲ။ driver ကို ပါစရာမလိုတော့ပါဘူး။
Level 4 and 5 လိုအခြေနေမျိုးတွက်ဆိုရင်တော့ အသွားလာ အန္တရာယ်ကင်းရှင်းရန် နှင့် လုံခြုံမှုရှိဖို့ ပတ်ဝန်းကျင်မှအချက်လက်များကို အချိန်ပြည့်ရယူနေသော sensors ၏ အချက်လက်များနှင့် ၏ရွေ့လျားမှုကို တိကျသေချာတဲ့ algorithms များအသုံးပြု၍ ပေါင်းစပ်အသုံးပြုသင့်ပါတယ်။ ကျွန်တော်တို့ကတော့ camera, computer vision and lidar sensor ကိုလေ့လာမှာဖြစ်တဲ့တွက် sensors type ၂ မျိုး ကိုဘဲ အဓိကထားမှာဖြစ်ပါတယ်။ အလိုလျောက်မောင်းနှင်သောကားအချို့နှင့်၎င်းတို့တွင်အသုံးပြုထားသော sensors အချို့ကိုလေ့လာဖို့ ဖော်ပြလိုက်ပါတယ်။
The Uber ATG Autonomous Vehicle
****************************************
Uber မှအလိုလျောက်မောင်းနှင်နိုင်သော ကားများတွင် 360 degree Lidar Scanner နှင့် cameras အများအပြားကို အပေါ်တွင်တပ်ဆင်ထား၍ radar sensors ကို ကားဘေးပတ်လည်တွင် တပ်ဆင်ထားပါတယ်။ ၎င်း sensors များကို တစ်ခုချင်းလေ့လာကြည့်ရအောင်
1. Camera: Volvo XC90 SUVs ကိုပြုပြင်ထားသော camera မျိုးကို ကားအမိုးပေါ်တွင်သာမက ဘေးဘက်နှင့်အနောက်ဖက်တွင်တပ်ဆင်ထားသည်။ အမိုးတွင်တပ်ထားသော camera သည် ကား၏ ဘေး ဝန်းကျင် အနီးအဝေး၊ အရှိန်လျော့သွားသောကား၊ ကားရှေ့ဖြတ်သွားသော အရာရှိမရှိ၊ မီးပွိုင့် နှင့် အချက်ပြ သင်္ကေတမျာကို focus ထားပါသည်။ ကင်မရာကရတဲ့ data တွေကို ပုံရိပ်များထုတ်ရန်နှင့် အခြား sensors များကထုတ်ပေးသော data များကို computer စီသို့ပို့ပေးသည်။ camera တွေကလူ့မျက်လုံးကဲ့သို့ပင် အလင်းရောင်ကောင်းစွာမရသောအချိန်နှင့် ညအချိန်တို့တွင် ပတ်ဝန်းကျင်ရှိအရာ များ၏ အကွာဝေး နှင့်နေရာတို့ကိုထောက်လှမ်းရာတွင် ကြန့်ကြာပြီးတိကျမှုနည်းလာသောကြောင့် uber car များတွင် ကျန် sensor နှစ်ခုကို တပ်ဆင်အသုံးပြုထားသည်။
2. Radar: Radar system သည် အရာဝတ္ထုတော်တော်များကိုရိုက်ခတ်၍ ပြန်လာနိုင်သော ရေဒီယိုလှိုင်းများကိုထုတ်လွှတ်သည်။ ၎င်းလှိုင်းများ၏ ပြန်လာသောကြာချိန်နှင့် ပြောင်းလဲလာသောကြိမ်နှုန်း တို့မှတဆင့် အမြန်နှုန်းနှင့် အကွာအဝေးတို့ကိုဆန်းစစ်နိုင်သည်။ radar သည် တစ်ခြား sensors type နှစ်ခု ထက်ထူးခြားချက်တာက အရာဝတ္ထု၏အရှိန် ကိုတိတိကျကျတိုင်းတာနိုင်တာဖြစ်တယ်။ radar တွေကို ၎င်းတို့၏ ကြီးမားသောအရာဝတ္ထုများတွင်လှိုင်းရိုက်ခတ်၍ ထောက်လှမ်းနိုင်မှု တိကျကောင်းမွန်သောကြောင့် အရင်နှစ်များကတည်းက အရှိန်ထိန်းကိရိယာဖြစ်သုံးခဲ့ကြသည်။ ဒါပေမဲ့ ရိုက်ခတ်မှုဧရိယာသေးငယ် ပျော့ပျောင်းတဲ့ လူ,တိရိစ္ဆာန်ကဲ့သို့သော အရာများတွင် ထောက်လှမ်းနိုင်မှုသည် လျော့ကျသွားပါသည်။ camera and radar နှစ်ခုကိုကောင်းစွာအသုံးပြုနိုင်သော်လည်း ၎င်းတို့နှစ်ခုလုံးမလုပ်နိုင်သော အခြေနေမျိုး ရှိတာမို့ uber ကားတွေမှာ laser sensor ကိုထပ်ပေါင်းထည့်ထားတာဖြစ်တယ်။
3. Lidar: Lidar လုပ်ဆောင်မှုက radar ကဲ့သို့ပေမဲ့ ရေဒီယိုလှိုင်းများအစား အနီအောက်ရောင်ခြည်ကိုထုတ်လွှတ်တာဖြစ်ပါတယ်။ခေါင်မိုးတွင်တပ်ဆင်ထားသော sensor သည်အမြင့်ဆုံး အရှိန်နှင့် လည်နေပီးပတ်ဝန်းကျင်၏တိကျသော 3D ပုံရိပ်တွေတည်ဆောက်ပေးသည်။ အခုအခြေနေတွင်သုံးထားသော Velodyne VLS-128 sensor သည် laser beams 128 ခုကို မီတာ ၃၀၀ အတွင်းက အရာတွေကို စုံးစမ်းထောက်လှမ်းဖို့ အသုံးပြုထားပါတယ်။ ၃၆၀ ဒီရီတစ်ပတ်လည်တိုင်းတွင် တစ်စက္ကန့်တွင် 4 million datapoints များထုတ်လုပ်နေတာဖြစ်တယ်။ Lidar က camera ကဲ့သို့အလင်းအခြေခံ sensor မျိုးဖြစ်သော်လည်း cameraလိုပတ်ဝန်းကျင်က အလင်းရောင်မလိုဘဲ ကိုယ်ပိုင်အလင်း ထုတ်လွှတ်နိုင်တာက အားသာချက်တစ်ခုဖြစ်သည်။သို့သော် ၎င်း၏စွမ်းဆောင်ရည်သည်လည်း မိုးသည်းခြင်း နှင်းထူးခြင်းကဲ့သို့သော ပတ်ဝန်းကျင်အခြေနေမျိုးမှာ လျော့ကျနိုင်ပါတယ်။
Mercedes Benz Autonomous Prototype
********************************************
German ကားထုတ်လုပ်သူတွေဖြစ်တဲ့ mercedes benz ကလည်း Uber car များကဲ့သို့ camera, lidar နဲ့ radar sensors များအသုံးပြု၍ အလိုလျောက် မောင်းနှင်နိုင်သော ကားများ ထုတ်လုပ်လျက်ရှိသည်။ ကားပတ်ဝန်းကျင်ကို လေ့လာဖို့တွက် camera မြောက်မြားစွာ သုံးထားပါသည်။ စိတ်ဝင်စားဖို့ကောင်းသောအချက်ကတော့ ပုံရိပ်နှစ်ခုမှတူညီသော အချက်များကိုဆွဲထုတ်၍ အကွာဝေး တိုင်းနိုင်သည့် လုပ်ဆောင်မှုတူညီသော camera နှစ်ခုကို တစ်ပြိုင်နက်အလုပ်လုပ်စေရန်ပြုလုပ်၍ တပ်ဆင်ထားသောအချက်ဖြစ်ပါတယ်။ stereo camera တစ်လုံးတည်းကနေ မောင်းနှင်နေသော kilometer တိုင်းတွက် 100 gigabyte datas များကိုထုတ်လုပ်နိုင်သည်ဟု ဆိုထားပါသည်။
The Tesla Autopilot
**********************
Autopilot system ကိုစတင်အသုံးပြုချိန်က ကမ္ဘာပေါ် တွင်အသုံးပြုနေကျသော စနစ်တစ်ခုဖြစ်သည့် လိုက်လျောညီထွေပြုမူနိုင်သော steering and brake/accelerate စနစ်ကိုသာ ပေါင်းစပ်အသုံးပြုထားတာဖြစ်တယ်။ ၂၀၁၆ အောက်တိုဘာမှာ tesla sensors များကို upgrade မြှင့်ပီး autopilot စနစ်ကို software upgrade ပြုလုပ်ခဲ့သည်။
Tesla တွင်တပ်ဆင်ထားသော sensor type တစ်ခုစီ လေ့လာကြည့်ကြစို့
Cameras: ရှေ့ပိုင်းမြင်ကွင်းအတွက် focal lengths .မတူသော cameras လေးလုံးပါဝင်သည်။ focal length ကျဥ်းသောရှေ့ကင်မရာသည်ရှေ့အောက်ပိုင်းသို့ 250 မီတာအထိရိုက်ကူးနိုင်ပီး အနည်းငယ်ကျယ်သော ကင်မရာသည် ရှေ့ပိုင်းကို 150 မီတာထိရိုက်ကူးသည်။ အရှေ့ပိုင်း 60 မီတာထိရိုက်ကူးနိုင်သော wide-angle ကင်မရာတစ်ခု နှင့် ရှေ့ဘက်နှင့်ဘေးဘက်အောက်ခြေကို 80 မီတာထိ ရိုက်ကူးနိုင်သော ကင်မရာတစ်ခုပါသည်။ wide-angle camera သည် လမ်းသင်္ကေတများ၊ မီးပွိုင့်အချက်ပြများကိုဖတ်၍ သင်္ကေတအတိုင်း ကားကိုပြုမူစေရန်အတွက်သုံးထားခြင်းဖြစ်သည်။
Radar: ရှေ့တွင်တပ်ဆင်ထားသော radar သည် ကားရှေ့ပိုင်း 160 မီတာကို ဖတ်နိုင်သည်။
Sonar: 360 ultrasonic sonar သည် ကား၏ ၈ မီတာပတ်လည်ကိုထောက်လှမ်းနိုင်သည်။
၎င်း sonar sensor သည် မည်သည့် မြန်နှုန်းဖြင့်မဆို အလုပ်လုပ်နိုင်ပီး ကားပတ်ဝန်ကျင်နီး ကပ်လာသောအရာများကို ထောက်လှမ်းနိုင်ရန်အသုံးပြုထားသည်။ ultrasonic sensor က လမ်းကြောင်းပြောင်းရာတွင် ကားကိုကူညီရန်တွက်လည်းအသုံးပြုထားခြင်းဖြစ်သည်။ ဒီ sensor ၏အကွာဝေးသည် တစ်ခြား sensor များနှင့်နှိုင်းယှဥ်ပါကအတိကျကန့်သတ်ထားပီး 8 မီတာ အကွာဝေးတွင်းသာရှိသည်။
Tesla ကားများတွင် uber နှင့် အခြား အလိုလျောက်မောင်းနှင်နိုင်သောကားများကဲ့သို့ lidar sensor ကိုအသုံးပြုထားခြင်းမရှိပါဘူး။ tesla သည် level 4/5 အဆင့် အလိုလျောက်မောင်း နှ င်နိုင်သော ကားများတွင် စွမ်းဆောင်ရည်မြင့်မားသော camera များနှင့် စွမ်းအားမြင့် radar နှစ်ခုပေါင်းစပ် အသုံးပြုခြင်းက လုံလောက်သည်ဟုယုံကြည်ထားသည်။ tesla က radar ၏စျေးနှုန်းနှင့် အားနည်းချက်များ ကြောင့် autopilot စနစ်တွက်မသုံးသင့်ကြောင်းပြောထားသည်။
သို့သော် Uber, Tesla, Waymo နှင့် တစ်ခြားကားထုတ်လုပ်သူတွေက sensors များအသုံးပြုရာတွင် radar sensor နှင့် lidar sensor အသုံးပြုခြင်းကို ငြင်းခုန်မှုရှိကြသော်လည်း camera ကိုတော့အများဆုံး အသုံးပြုကြသည်။ ထို့ကြောင့် camera နှင့် computer vision ကိုလေ့လာခြင်းသည် အလိုလျောက်မောင်းနှင်သောကားများတွက် အကျိုးရှိပါသည်။
11/09/2020
Numerical Computing Part - 6
**********************************
ရှေ့ပိုင်း သင်ခန်းစာများ တွင် 45* အတွက် တွက်ချက်ပြီးသွားပြီ ဖြစ်သည့် အတွက် ယခု ဆက်ပြီး 60* degree အတွက်ကို တွက်ပါမည်။ Triangle တစ်ခုရဲ့ အတွင်းထောင့်များ အားလုံးပေါင်းခြင်း သည် 180 degree ဖြစ်ပါတယ်။ ထိုနည်းတူ sides တွေ အားလုံး သာ တူညီ နေခဲ့မည် ဆိုလျှင် အတွင်းထောင့်များသည် 60 degree စီ ကိုယ်စီ ရှိနေကြမှာ ဖြစ်ပါတယ်။ ထို 60 degree စီ ကိုယ်စီရှိနေကြတဲ့ unit circle အတွင်းမှာ triangle တစ်ခုအား အလယ်တည့်တည့်မှ မျဉ်းစွဲ ချလိုက်မည်ဆိုလျှင် အောက်ပါ ပုံအတိုင်း တွေ့ရပါမည်။
x2 +y2 = 1 ဖြစ်တဲ့ အတွက် x value သည် ½ ဖြစ်ပါတယ် အဘယ်ကြောင့် ½ ဟု ပြောရလဲ ဆိုလျှင် r value သည် 1 ပါ ထို 1 ကို တစ်ဝက် ဝက်တာ ဖြစ်တဲ့ အတွက် ½ ဟု ဆိုခြင်း ဖြစ်ပါသည်။
(½)2 +y2 = 1
¼ + y2=1
y2 = 1 - ¼ = 1- 0.25
y2= 0.75 = ¾
y = √3/4
y = √3/2
Y တန်ဖိုးကိုပါ ရပြီဆိုတော့ ယခင် 45 degree value ကို ရှာခဲ့သည့် အတိုင်း sine , cos , tan တို့ကို ရှာလို့ ရသွားပါပြီ။ အောက်တွင်လည်း ပုံနှင့် တကွ အသေးစိတ် တွက်ပြထားပါသည်။
30 degree ကို ရှာရန် အထက်ပါ ပုံကို ကြည့်ပါ။ r, y ,x ဆိုပြီး အနီရောင် နောက်ခံ ဖြင့် ရေးထားသော triangle သည် 30 degree အတွက် ဖြစ်ပြီး R , Y , X ဆိုပြီး ပန်းရောင်နောက်ခံဖြင့် ရေးထားသော triangle သည် 60 degree အတွက် ဖြစ်သည်။ ပထမ triangle သည် လည်း 90 , 60 , 30 ဖြင့် 180 degree ဖြစ်သလို ဒုတိယ triangle သည်လည်း 90 ,60,30 ဖြင့် 180 degree ဖြစ်ပါသည်။ တစ်နည်း အားဖြင့် ဆိုလျှင် ထို triangle နှစ်ခုသည် အတူတူပင် ဖြစ်သည် ထို့ကြောင့် x , y ,r တန်ဖိုးများသည်လည်း အတူတူပင် ဖြစ်ပါသည်။ ထို့ကြောင့် 30 degree triangle ရဲ့ y တန်ဖိုးသည် ½ ဖြစ်ပြီး x တန်ဖိုးသည် √3/4 ဖြစ်သည် ။ x နှင့် y တန်ဖိုးအား ပြောင်းပြန်လှန်လိုက် ရုံသာ ဖြစ်သည်။ x နှင့် y တန်ဖိုးများ ရသွားပြီ ဖြစ်သည့် အတွက် sine value ကိုလည်း တွက်ထုတ်လို့ ရနိုင်ပါပြီ။ ယခု တစ်ခေါက် 30 degree အတွက် sine value ကို မိမိတို့ဘာသာ အစဉ်လိုက် တွက်ကြည့်စေချင်ပါသည် အကယ်၍ အခက်ခဲများ ရှိခဲ့ပါက ယခင် သင်ခန်းစာ တွက်နည်းများကို ကြည့်ရှု နိုင်ပါသည်။ 30 degree ရဲ့ sine value သည် 0.50000 ဖြစ်ပါသည်။
Rounding Functions
Numpy မှာ decimal float number တွေကို မိမိလို သလို ဖြတ်ထုတ်ရန် function များစွာကို support လုပ်ထားပါတယ်။ ဉပမာ numpy array တစ်ခုထဲတွင်ရှိသော decimal float number တွေကို ဒသမ နောက် 2 နေရာထိပဲ ယူမယ် အကယ်၍ ဒသမနောက် 2 နောက်မှာ ရှိနေတဲ့ value သည် 5 ထက် ကျော်နေခဲ့လျှင် တစ်ခါတည်း ရှေ့ကို ပါ တစ်တိုးပေးပြီး ထုတ်ပြ ပေးနိုင်သည်။ ထိုသို့ ပြုလုပ်နိုင်ရန် အတွက် around ဆိုသည့် function ကို အသုံးပြု နိုင်ပါသည်။ around function သည် parameter နှစ်ခု ယူပါသည် ပထမ တစ်ခုသည် number or array ဖြစ်ပြီး ဒုတိယ တစ်ခုသည် မိမိလိုချင်သည့် ဒသမ နောက်မှ number အရေ အတွက် ဖြစ်သည်။ အကယ်၍ ဒုတိယ parameter နေရာတွင် မည်သည့် value မှ မထည့်ပေးလျှင် default အနေဖြင့် zero ဖြစ်ပါသည် zero ဆိုလျှင် ဒသမ ရှေ့မှ value များကိုသာ ယူပါသည်။ ထိုနည်းတူ ဒုတိယ parameter နေရာတွင် -1 ဟု ရေးမည် ဆိုလျှင်လည်း ဒသမ ရှေ့မှ value များကိုသာ ယူပါသည်။ sample program ကို အောက်တွင် ဖော်ပြထားပါသည်။
အကယ်၍ ဒသမ ရှေ့မှ value များသာ လိုချင်သော အခါတွင်လည်း floor() function ကို အသုံးပြုလို့ ရပါသေးတယ်။ floor function သည် parameter အဖြစ် number or array ကို ယူပြီး return အနေဖြင့် ဒသမ ရှေ့မှ value များကိုပြန်ပေးပါတယ်။ သတိပြုရန် အချက်မှာ output value များသည် input ပေးလိုက်သော value များနှင့် တူညီသော ဒသမ ရှေ့မှ value များကို ပြန် ပေးပါသည်။
Ceil function သည် floor function နဲ့ လုပ်ဆောင်ပုံ တူညီသော်လည်း output value သည် input value ထက်ပိုကြီးသော ဒသမရှေ့မှ value များကိုသာ ပြန်ပေးပါသည်။ Ceil function အသုံးပြုပုံကို အောက်တွင် ဖော်ပြထားပါသည် output value များသည် မူရင်း input value ထက် 1 ကြီးနေသည်ကို သတိပြုပါ။
အောက်က link မှာ သွားဖတ်ရင် ပုံနဲ့တွဲပြီး ဖတ်လို့ရပါတယ်။
https://medium.com//numerical-computing-part-6-62f2cb2a29a6
WinHtut(VijjA)
Internship Program
************************
Covid 19 virus ကူးစက်ရောဂါ ကာကွယ်နိုင်ရေးအတွက် နိုင်ငံတော်အစိုးရ နှင့် ကျန်းမာရေး၀န်ကြီးဌာန တို့က လိုအပ်သည့် ညွှန်ကြားချက်များ ထုတ်ပြန်ထားရှိပါသည်။
သို့ပါ၍ Green Hackers Institute အနေဖြင့် လည်း မလိုလားအပ်သည့် စုဖွဲ့မှုများ မဖြစ်ပေါ်စေရန် မူလက စီစဉ်ထားသည့် ၂၀၂၀ ခုနှစ် Internship program အား အပြီး ရပ်စဲလိုက်ပါသည်။
intern လျောက်ထားသည့် ကျောင်းသားကျောင်းသူများအနေဖြင့်လည်း GHI သို့ဆက်သွယ်စုံစမ်းနိုင်ပါသည်။
ကျန်းမာကြပါစေခင်ဗျာ
Aung Ko Latt
Director of Business Development
Thu Yein Soe
Diret of Products development
Pyae Soan Aung
CTO
22/04/2020
Partial Function in Python
===================
Author :: Win Htut ( https://web.facebook.com/WinHtutEquation )
Partial function ကို အသုံးပြုခြင်း အားဖြင့် function တစ်ခုရဲ့ arguments တွေကို လျော့ချ နိုင်ပါတယ်။ Partial function ကို ခေါ်သုံးနိုင်ရန် functools ဆိုသည့် module ကို import လုပ်ပေးရန် လိုအပ်ပါသည်။ partial function ကို ခေါ်မသုံးခင် မိမိတို့ ကိုယ်တိုင် အောက်ပါ အတိုင်း ရေးကြည့်ပါမည်။
def myFun(x,y,z):
print(x,y,z)
def fn(yy,zz): # line 3
return myFun(10,yy,zz) 4
print(fn(100,200)) 5
အထက်ပါ program အား run ကြည့်ပါက output အနေဖြင့် 10 ,100 ,200 တို့ကို ရှိပါမည်။ program အလုပ်လုပ်ပုံမှာ -
ပထမဆုံး အနေဖြင့် myFun ဆိုသည့် function ကို x,y,z ဆိုသည့် arguments 3 ခုဖြင့် ရေးထားပါသည်။
ဒုတိယ အနေဖြင့် fn ဆိုသည့် function အား yy ,zz ဆိုသည့် arguments 2 ခုဖြင့် တည်ဆောက်ထားပါသည်။ fn ဆိုသည့် function အား ခေါ်သော အခါတွင် return အနေဖြင့် myFun ဆိုသည့် function ကို ပြန်ပေးပါမည်။ ထိုသို့ return ပြန်ရာတွင် 10 ဆိုသည့် value ကို တစ်ခါတည်း ထည့်ပေးလိုက်ပါသည်။ ထိုသို့ထည့်ပေးမှသာ အလုပ်လုပ် မည်ဖြစ်ပြီး မထည့်ပေးပါက error တက်မည် ဖြစ်သည်။
နောက်ဆုံ အနေဖြင့် fn ဆိုသည့် function အား 100 ,200 ဆိုသည့် value များထည့်ပြီး ခေါ်လိုက်ပါသည်။ ထို့ကြောင့် line 3 မှ yy and zz နေရာတွင် 100 နှင့် 200 တို့ ဝင်ရောက်လာပါမည်။
ထို့နောက် fn function သည် myFun အား return ပြန်ပေးသည့် အတွက် myFun ဆိုသည့် function အား 10 ,100 ,200 တို့ဖြင့် လှမ်းခေါ်ပါတော့သည် ။ ထို့ကြောင့် myFun ထဲသို့ 10 ,100 ,200 တို့ arguments value အနေဖြင့် ဝင်သွားပြီး ထို data များအား output အနေဖြင့် ပြန်ပေးခြင်း ဖြစ်ပါသည်။
Partial function သည် higher order function လည်း ဖြစ်သကဲ့သို့ ပုံမှန်အားဖြင့် argument နှစ်ခု ယူပါသည်။ ပထမ တစ်ခုသည် function ဖြစ်ပြီး ဒုတိယ တစ်ခုသည် preset လုပ်ရန် value ဖြစ်သည်။ preset လုပ်ရန် ဆိုသည်မှာ value တစ်ခုအား သတ်မှတ် ပေးထားခြင်း ဖြစ်သည် အထက် Program တွင် 10 ကို preset value အဖြစ် သုံးထားပါသည်။ အောက်တွင် partial function ကို သုံးပြီး program ရေးပြထားပါသည်။
Sample Program :: partial function
from functools import partial
def myFun(x,y,z):
print(x,y,z)
pFn = partial(myFun , 10) 4
print(pFn(100,200))
Partial function သည် return value အနေဖြင့် new function တစ်ခုအား return ပြန်ပေးပါသည်။ ထို့သို့ ပြန်ပေးသည့် function တွင် မိမိတို့ partial function ကို ခေါ်တုန်းက ထည့်ပေးလိုက်သော keyword and arguments တွေကို default အနေဖြင့် function အသစ် မှာ ထည့်ပေးလိုက်ပါသည်။ အထက်ပါ program တွင် line number 4 ၌ ထည့်ပေးလိုက်သော 10 သည် preset value or default အနေဖြင့် pFun ဆိုသည့် function အသစ် မှာ ပါဝင်နေမှာ ဖြစ်ပါတယ်။ ထို့ကြောင့် line number 5 တွင် pFn ဆိုသည့် function ကို ခေါ်ရာ၌ 100 , 200 ဆိုသည့် argument နှစ်ခုသာ ထည့်ပေးလိုက်သော်လည်း output တွင် 10 ,100 , 200 တို့ကို ရနေခြင်း ဖြစ်သည် အဘယ်ကြောင့်ဆိုသော် 10 သည် preset value အဖြစ် partial function မှ ပြုလုပ်ပေးလိုက်သော ကြောင့် ဖြစ်သည်။
နောက်ထပ် program တစ်ပုဒ် အနေဖြင့် ရှုပ်ထွေးသည့် arguments များပါဝင်သည့် function တစ်ခု ကို partial function သုံးပြီး arguments များ လျော့ချ ကြည့်ပါမည်။
from functools import partial
def myFun( x , y , *args , x1 ,y1 ,**kwargs):
print( x , y , args , x1 ,y1 , kwargs) 3
pFn = partial(myFun , 10 ,x1='test') 4
pFn(20 ,30 ,40 ,y1='hello', aa=100 ,bb=200 , cc=300) 5
Output::
10 20 (30, 40) test hello {'aa': 100, 'bb': 200, 'cc': 300}
10 သည် preset value အနေဖြင့် ထည့်ထားသော value ဖြစ်သည်။ 20 သည် y အတွက် ထည့်ပေးလိုက်သော value ဖြစ်သည်။ 30 and 40 တို့မှာ arbitrary argument အတွက် ထည့်ပေးလိုက်သော value များ ဖြစ်သည်။ test သည် လည်း preset အနေဖြင့် partial function ၌ ထား ထားပြီးသော value ဖြစ်ပြီး hello သည် y1 အတွက် ထည့်ပေးလိုက်သော value ဖြစ်သည်။ နောက်ဆုံးတွင် ကျန်ခဲ့သော aa , bb, cc တို့သည့် **kwargs argument အတွက် ဖြစ်ပါသည်။ အထက်ပါ program တွင် partial function ကိုသုံးပြီး arguments နှစ်ခုကို preset လုပ်ကာ လျော့ချ လိုက်ပါသည်။
Partial function က လုပ်ပေးလိုက်သော preset value ကိုလည်း ပြန်လည်ချိန်းနိုင်ပါသေးတယ်။ အောက်တွင် sample program ရေးပြထားပါသည်။
from functools import partial 1
def pow(base , exponent): 2
return base ** exponent 3
sq = partial(pow , exponent =3) 4
print(sq(4)) 5
cu = partial(pow , exponent =2) 6
print(cu(2)) 7
print("test with base 5 expo 2 = ",cu(base=5)) 8
Output::
64
4
test with base 5 expo 2 = 25
Line number 2 တွင် power ကိုရှာသည့် fun တစ်ခုရေးထားပါသည်။ line number 4 တွင် partial function ဖြင့် exponent အား 3 အဖြစ် preset လုပ်ပါသည်။ ထို့နောက် sq(4) ဟု လှမ်းခေါ်ရာတွင် output အနေဖြင့် 64 ကို ရ ရှိပါသည်။ အဘယ်ကြောင့်ဆိုသော် 4 သည် base ဆိုသည့် နေရာသို့ရောက်သွားမည် ဖြစ်ပြီး မူရင်း preset value အဖြစ်ရှိနေသော 3 ဖြင့် 4 to the power 3 ဖြစ်သောကြောင့် ဖြစ်သည်။ line number 6 တွင် exponent = 2 ဟုရေးပြီးမူရင်း preset value အား လှမ်းပြင်ပါသည်။ ထို့ကြောင့် cu(2) ဟုလှမ်းခေါ်လိုက်သော အချိန်တွင် 2 to the power 2 ဖြစ်သွားသောကြောင့် output အနေဖြင့် 4 ကို ရရှိခြင်း ဖြစ်ပါသည်။ line number 8 တွင်မူ base အား 5 ဟု လှမ်းပြင်ပါသည် line number 6 တွင် exponent အား 2 ဟု ပြင်ခဲ့သည့်အတွက် 5 to the power 2 ဖြစ်သွားသောကြောင့် output ကို 25 ဟု ရရှိခြင်း ဖြစ်ပါသည်။
06/03/2020
Lambda Expression/function , Anonymous Function , Higher-Order Function in Python
Author : Win Htut (https://www.facebook.com/WinHtutEquation )
Lambda Expressions/function
def myFun(x):
return x*2
ပုံမှန် function တစ်ခုကို ကြေငြာမယ်ဆိုရင် def ဆိုတဲ့ keyword ကိုသုံးရသလို ထို function ရဲ့ function name ကိုလည်း ထည့်ပေးရပါတယ်။ သို့သော် lambda function တွင်မူ def လည်း မသုံးသလို function name ကိုလည်း ရေးပေးစရာမလိုပါဘူး။ ထိုနည်းတူ return ပြန်ရန် အတွက်လည်း return ဆိုသည့် keyword ကိုသုံးပေးစရာမလိုပါဘူး ။ ထိုကဲ့သို့ function name မရှိတဲ့အတွက် anonymous function လို့လည်း ခေါ်ကြပါတယ်။
Declaration of lambda function
lambda y: y*2
lambda function ကို ကြေငြာရန် lambda ဆိုတဲ့ keyword ကို သုံးပါတယ်။ သူ့နောက်မှာ ကြေငြာထားတဲ့ y သည် parameter ဖြစ်ပြီး function header အဆုံးကို colon နဲ့ ပြပါတယ်။ y*2 ထို lambda function ရဲ့ return value ဖြစ်ပါတယ်။ return value သည် function object အနေနဲ့ return value ပြန်ပေးမှာ ဖြစ်တဲ့အတွက် variable ထဲသို့လည်း assign လုပ်နိုင်ပါတယ်။
x=lambda y: y*2
print(x(3))
အထက်ပါ program ကို run ကြည့်လျှင် 6 ကို ပြန်ရပါမည်။ lambda သည် function object ကို ပြန်ပေးပါသည်။ ထို့ကြောင့် x သည် function object ဖြစ်သွားပြီး x ထဲတွင် parameter အနေဖြင့် 3 ကို ထည့်လို့ ရခြင်းဖြစ်သည်။ parameter အနေဖြင့် ထည့်ပေးလိုက်သော 3 သည် y နေရာတွင် ဝင်ရောက်သွားမည်ဖြစ်ပြီး y*2 ဆိုသောကြောင့် output အနေဖြင့် 6 ကို ရရှိခြင်း ဖြစ်သည်။ ထို program ထဲတွင် print(x) ဟု ရေးပြီး run ကြည့်ပါက အောက်ပါ အတိုင်း function lambda ကို ရရှိပါမည်။မိမိ အသုံးပြုသော python version အပေါ်မူတည်ပြီး output မှာလည်း အနည်းငယ်ကွဲပြားနိုင်ပါသည်။
29/02/2020
Green Hackers Institute တွင် Robotics , ML ဘာသာရပ်တို့တွင် internship လျောက်ထားကြသူများခင်ဗျာ။
Internship program နဲ့ပါက်သက်၍သော်လည်းကောင်း ၊ projects များနဲ့ပါက်သက်၍သော်လည်းကောင်း အသေးစိတ်သိရှိလိုပါက အောက်ပါဖုန်းနံပါတ်များကို 24 hours ဆက်သွယ်နိုင်ပါတယ်ခင်ဗျာ။ 🙂🙂🙂
ပုံမှာပြထားတဲ့ devices and technology ကို စိတ်၀င်စား လေ့လာလိုသူတွေကိုလည်း ဖိတ်ခေါ်ပါတယ်ခင်ဗျာ။
ကိုပြည့်စုံအောင်
CTO & Lecturer @ GHI
09259288229
09259288230