EITC/AI/DLPP Python နှင့် PyTorch နှင့်အတူနက်ရှိုင်းစွာသင်ယူခြင်းသည် IT IT အသိအမှတ်ပြုခြင်းအစီအစဉ်ဖြစ်ပြီး Python တွင် PyTorch စက်သင်ယူမှုစာကြည့်တိုက်နှင့်နက်ရှိုင်းစွာလေ့လာခြင်း၏အခြေခံများဖြစ်သည်။
EITC/AI/DLPP နက်နက်နဲနဲလေ့လာမှုနှင့် Pythor နှင့် PyTorch တို့၏သင်ရိုးညွှန်းတမ်းသည်နက်ရှိုင်းစွာသင်ယူခြင်းတွင်လက်တွေ့ကျသောကျွမ်းကျင်မှုများကိုအဓိကထားသည်။ PyTorch စာကြည့်တိုက်ဖြင့် Pythorch စာကြည့်တိုက်ဖြင့်ဖွဲ့စည်းထားသောအောက်ပါဖွဲ့စည်းပုံအတွင်းရှိပြည့်စုံသောဗွီဒီယိုပြုခြင်းအကြောင်းအရာကို EITC အသိအမှတ်ပြုခြင်းအတွက်ရည်ညွှန်းသည်။
နက်ရှိုင်းသောသင်ယူမှု (နက်ရှိုင်းသောစနစ်တကျသင်ယူမှုဟုလည်းလူသိများသည်) သည်အတတ်ပညာဆိုင်ရာသင်ယူမှုပါသည့်အတုအာရုံကြောကွန်ယက်များပေါ်တွင်အခြေခံသည့်စက်ပစ္စည်းလေ့လာမှုနည်းလမ်း၏ပိုမိုကျယ်ပြန့်သောမိသားစု၏အစိတ်အပိုင်းဖြစ်သည်။ သင်ယူခြင်းကိုကြီးကြပ်နိုင်သည်၊ တစ်စိတ်တစ်ပိုင်းကြီးကြပ်နိုင်သည်သို့မဟုတ်မကြီးကြပ်နိုင်သည်။ နက်ရှိုင်းသောအာရုံကြောဆိုင်ရာကွန်ယက်များ၊ နက်ရှိုင်းသောယုံကြည်မှုကွန်ယက်များ၊ ထပ်တလဲလဲအာရုံကြောဆိုင်ရာကွန်ယက်များနှင့်အပြိုင်အဆိုင်အာရုံကြောကွန်ယက်များကဲ့သို့သောနက်ရှိုင်းသောသင်ယူမှုဗိသုကာများကိုကွန်ပျူတာအမြင်၊ စက်အမြင်၊ မိန့်ခွန်းအသိအမှတ်ပြုခြင်း၊ သဘာဝဘာသာစကားပြုပြင်ခြင်း၊ အသံအသိအမှတ်ပြုခြင်း၊ လူမှုကွန်ယက်စစ်ထုတ်ခြင်း၊ မူးယစ်ဆေးဝါးဒီဇိုင်း၊ ဆေးဘက်ဆိုင်ရာပုံရိပ်ခွဲခြမ်းစိတ်ဖြာခြင်း၊ ပစ္စည်းစစ်ဆေးခြင်းနှင့်ဘုတ်အဖွဲ့ဂိမ်းအစီအစဉ်များသည်ရလဒ်များနှင့်နှိုင်းယှဉ်။ အချို့သောကိစ္စများတွင်လူ့ကျွမ်းကျင်မှုစွမ်းရည်ထက်သာလွန်သည်။
Python သည်အနက်၊ အဆင့်မြင့်နှင့်အထွေထွေရည်ရွယ်သည့်ပရိုဂရမ်းမင်းဘာသာစကားဖြစ်သည်။ Python's design philosophy သည်ထူးခြားသော whitespace ကိုအသုံးပြုခြင်းဖြင့် code ဖတ်နိုင်မှုကိုအလေးထားသည်။ ၎င်း၏ဘာသာစကားတည်ဆောက်မှုနှင့်အရာဝတ္ထု -oriented ချဉ်းကပ်မှုသည်ပရိုဂရမ်မာများကိုအသေးစားနှင့်အကြီးစားစီမံကိန်းများအတွက်ရှင်းရှင်းလင်းလင်း၊ Python ကို၎င်း၏ပုံမှန်ပြည့်စုံသောစာကြည့်တိုက်ဖြင့်“ ဘက်ထရီပါ ၀ င်သော” ဘာသာစကားအဖြစ်မကြာခဏဖော်ပြလေ့ရှိသည်။ Python ကို TensorFlow, Keras, Pytorch နှင့် Scikit-learn ကဲ့သို့သောစာကြည့်တိုက်များ၏အကူအညီဖြင့်အတုထောက်လှမ်းရေးစီမံကိန်းများနှင့်စက်သင်ကြားရေးစီမံကိန်းများတွင်အသုံးပြုသည်။
Python သည် dynamically-typed (စုစည်းနေစဉ်အတွင်း static programming language လုပ်ဆောင်လေ့ရှိသောပရိုဂရမ်းမင်းအပြုအမူများစွာကို runt runtime တွင်လုပ်ဆောင်သည်) နှင့်အမှိုက်သိမ်းဆည်းခြင်း (automatic memory management) ဖြင့်ပြုလုပ်သည်။ ၎င်းသည်စနစ်တကျ (အထူးသဖြင့်လုပ်ထုံးလုပ်နည်းများ)၊ အရာဝတ္ထု -oriented နှင့်အလုပ်လုပ်သောပရိုဂရမ်များအပါအ ၀ င်မျိုးစုံသောပရိုဂရမ်парадигဂမ်များကိုထောက်ပံ့သည်။ ၎င်းကို ၁၉၈၀ ပြည့်လွန်နှစ်များနှောင်းပိုင်းတွင်တီထွင်ခဲ့ပြီး ၁၉၉၁ ခုနှစ်တွင် ABC ပရိုဂရမ်ဘာသာစကားကိုဆက်ခံသူအဖြစ် Guido van Rossum ကစတင်မိတ်ဆက်ခဲ့သည်။ ၂၀၀၀ ခုနှစ်တွင်ဖြန့်ချိခဲ့သည့် Python 1980 သည်စာရင်းပြုစုခြင်းနှင့်ရည်ညွှန်းရေတွက်ခြင်းနှင့်အမှိုက်သိမ်းဆည်းခြင်းစနစ်များကဲ့သို့သောအင်္ဂါရပ်အသစ်များကိုမိတ်ဆက်ခဲ့သည်။ ၂၀၂၀ ခုနှစ်တွင်ဗားရှင်း ၂.၇ ဖြင့်ရပ်စဲခဲ့သည်။ Python 1991 ကို ၂၀၀၈ ခုနှစ်တွင်ထုတ်ဝေခဲ့သည်၊ လုံးဝနောက်ပြန်ကိုက်ညီမှုမရှိခြင်းနှင့် Python 2.0 ကုဒ်များစွာသည် Python 2000 တွင်ပြုပြင်မွမ်းမံခြင်းမလုပ်ပါ။ Python 2.7 ၏သက်တမ်းကုန်ဆုံးခြင်းနှင့် (၂၀၂၁ ခုနှစ်တွင် pip ကိုထောက်ပံ့မှုကျဆင်းခြင်း) Python 2020.x နှင့်နောက်ပိုင်းတွင်သာထောက်ပံ့သည်။ ဥပမာအားဖြင့် Windows 3.0 ကိုထောက်ပံ့ခြင်း (နှင့် 2008-bit ၀ င်းဒိုးကိုသာကန့်သတ်မထားသောထည့်သွင်းတပ်ဆင်သူများ)
Python စကားပြန်များကိုပင်မလည်ပတ်မှုစနစ်များအတွက်ပံ့ပိုးပေးပြီးအနည်းငယ်အတွက်ရရှိနိုင်သည် (ယခင်ကများစွာသောအားဖြင့်ထောက်ပံ့ထားသည်) ။ ကမ္ဘာလုံးဆိုင်ရာပရိုဂရမ်မာအသိုင်းအ ၀ ိုင်းသည်အခမဲ့နှင့်ပွင့်လင်းသောအရင်းအမြစ်ရည်ညွှန်းမှုအကောင်အထည်ဖော်မှုဖြစ်သော CPython ကိုတီထွင်။ ထိန်းသိမ်းသည်။ အကျိုးအမြတ်မယူသောအဖွဲ့အစည်းဖြစ်သော Python Software Foundation သည် Python နှင့် CPython ဖွံ့ဖြိုးရေးအတွက်အရင်းအမြစ်များကိုစီမံခန့်ခွဲသည်။
၂၀၂၁ ခုနှစ်ဇန်နဝါရီလတွင် Python သည် TIOBE ၏ C နှင့် Java နောက်တွင်လူကြိုက်အများဆုံးပရိုဂရမ်ဘာသာစကားများ၏အညွှန်းကိန်းတွင်တတိယနေရာတွင်ရပ်တည်ခဲ့ပြီး၊ ၂၀၂၀ တွင်လူကြိုက်အများဆုံးအမြတ်အတွက်ဒုတိယရရှိခဲ့သည်။ ၂၀၀၇၊ ၂၀၁၀ တွင် Programming of the Year ကိုရွေးချယ်ခဲ့သည်။ နှင့် 2021 ။
လက်တွေ့လေ့လာမှုတစ်ခုအရ Python ကဲ့သို့သော scripting languages များသည် C နှင့် Java ကဲ့သို့သမားရိုးကျဘာသာစကားများထက်ပိုမိုအကျိုးဖြစ်ထွန်းကြောင်း၊ အဘိဓာန်တွင်ရှာဖွေခြင်းနှင့်ရှာဖွေခြင်းနှင့်ပတ်သက်သောပရိုဂရမ်းမင်းပြproblemsနာများအတွက်မှတ်ဥာဏ်သုံးစွဲမှုသည်မကြာခဏ“ Java ထက်ပိုကောင်းပြီး၊ အများကြီးပိုဆိုး C သို့မဟုတ် C ++ "။ Python ကိုအသုံးပြုသောအဖွဲ့အစည်းကြီးများတွင် ia Wikipedia, Google, Yahoo !, CERN, NASA, Facebook, Amazon, Instagram တို့ပါဝင်သည်။
Python သည်၎င်း၏အတုထောက်လှမ်းရေး application များအပြင်၊ modular architecture၊ ရိုးရှင်းသော syntax နှင့်ကြွယ်ဝသော text processing tools များပါဝင်သော scripting language တစ်ခုအဖြစ်သဘာဝဘာသာစကားအပြောင်းအလဲအတွက်မကြာခဏအသုံးပြုသည်။
PyTorch သည် Torch စာကြည့်တိုက်ကို အခြေခံ၍ ပွင့်လင်းသောအရင်းအမြစ်စက်ကိရိယာသင်ယူမှုစာကြည့်တိုက်ဖြစ်သည်။ ကွန်ပျူတာအမြင်နှင့်သဘာဝဘာသာစကားပြုပြင်ခြင်းစသည့် application များအတွက်အသုံးပြုသည်။ Facebook ၏ AI သုတေသနဓာတ်ခွဲခန်း (FAIR) ကအဓိကတီထွင်သည်။ ၎င်းသည် Modified BSD လိုင်စင်အောက်တွင်ဖြန့်ချိသောအခမဲ့ဖြစ်ပြီး open source software ဖြစ်သည်။ Python interface သည်ပိုလန်ပြီးဖွံ့ဖြိုးမှု၏အဓိကအာရုံစိုက်သော်လည်း PyTorch တွင် C ++ interface ရှိသည်။ နက်ရှိုင်းသောသင်ယူခြင်းဆော့ဝဲလ်များကို Pythorch ၏ထိပ်တွင်တည်ဆောက်ထားပြီး Tesla Autopilot၊ Uber's Pyro, HuggingFace ၏ Transformers, PyTorch Lightning နှင့် Catalyst တို့ပါဝင်သည်။
- ဂရပ်ဖစ်အပြောင်းအလဲယူနစ်များ (GPU) မှတဆင့်အရှိန်မြှင့်တင်ခြင်းဖြင့် (NumPy ကဲ့သို့) ဆင်ဆာကွန်ပျူတာ
- နက်ရှိုင်းသောအာရုံကြောကွန်ယက်များကို tape-based automatic (computing) differentiating system ပေါ်တွင်တည်ဆောက်ထားသည်
Facebook သည် PyTorch နှင့် Convolutional Architecture နှစ်ခုစလုံးကိုအမြန် Feature Embedding (Caffe2) အတွက်အသုံးပြုသည်။ သို့သော်မူဘောင်နှစ်ခုဖြင့်သတ်မှတ်ထားသောမော်ဒယ်များသည်အပြန်အလှန်သဟဇာတဖြစ်သည်။ Open Neural Network Exchange (ONNX) စီမံကိန်းကိုမူကြိုများအကြားမော်ဒယ်များအဖြစ်ပြောင်းလဲခြင်းအတွက်စက်တင်ဘာလ ၂၀၁၇ တွင် Facebook နှင့် Microsoft မှဖန်တီးခဲ့သည်။ ၂၀၁၈ မတ်လကုန်တွင် Caffe2017 ကို PyTorch တွင်ပေါင်းစည်းခဲ့သည်။
PyTorch သည်တူညီသည့် multidimensional rectangular နံပါတ်များကိုသိုလှောင်သိမ်းဆည်းရန် Tensor (torch.Tensor) ဟုခေါ်သောအတန်းတစ်ခုကိုသတ်မှတ်သည်။ PyTorch Tensors များသည် NumPy Arrays နှင့်ဆင်တူသော်လည်း CUDA-Nvidia GPU တွင်လည်းအသုံးပြုနိုင်သည်။ PyTorch သည်အမျိုးမျိုးသော Tensor အမျိုးအစားများကိုထောက်ပံ့သည်။
Pytorch အတွက်အရေးကြီးတဲ့ module အနည်းငယ်သာရှိသည်။ ဤရွေ့ကားပါဝင်သည်:
- Autograd module - PyTorch သည်အလိုအလျှောက်ခွဲခြားခြင်းလို့ခေါ်တဲ့နည်းလမ်းကိုအသုံးပြုတယ်။ အသံဖမ်းစက်တစ်ခုသည်မည်သည့်လုပ်ဆောင်မှုများလုပ်ဆောင်သည်ကိုမှတ်တမ်းတင်ပြီးနောက် gradients များကိုတွက်ချက်ရန်၎င်းသည်နောက်ပြန်ပြန်ဆုတ်သည်။ ဤနည်းလမ်းသည်အာရုံကြောကွန်ယက်များတည်ဆောက်ရာတွင်ရှေ့သို့ဖြတ်သန်းရာတွင်အချက်များကွဲပြားခြင်းကိုတွက်ချက်ခြင်းအားဖြင့်တစ်ခေါက်တွင်အချိန်သက်သာစေရန်အထူးသဖြင့်အစွမ်းထက်သည်။
- Optim module: torch.optim သည်အာရုံကြောကွန်ယက်များတည်ဆောက်ရာတွင်အသုံးပြုသောအမျိုးမျိုးသော optimization algorithms ကိုအကောင်အထည်ဖော်သည့် module တစ်ခုဖြစ်သည်။ များသောအားဖြင့်များသောအားဖြင့်အသုံးပြုလေ့ရှိသည့်နည်းလမ်းများကိုထောက်ပံ့ထားပြီးဖြစ်သောကြောင့်သူတို့ကိုတည်ဆောက်ရန်မလိုအပ်ပါ။
- nn module: PyTorch autograd ကတွက်ချက်မှုဆိုင်ရာဂရပ်များကိုသတ်မှတ်ရန်နှင့် gradients များကိုလွယ်ကူစေသည်၊ သို့သော်ကုန်ကြမ်း autograd သည်ရှုပ်ထွေးသောအာရုံကြောကွန်ယက်များကိုသတ်မှတ်ရန်အလွန်နိမ့်ကျနိုင်သည်။ ဒီနေရာမှာ nn module ကကူညီနိုင်သည်။
အောင်လက်မှတ် သင်ရိုးညွှန်းတမ်းနှင့် အသေးစိတ် သိစေရန်အတွက် အောက်ပါဇယားကို ချဲ့ထွင်ပြီး ခွဲခြမ်းစိတ်ဖြာနိုင်ပါသည်။
EITC/AI/DLPP သည် Python နှင့် PyTorch Certification Curriculum ဖြင့် Deep Learning သည် Harrison Kinsley ၏ ဗီဒီယိုဖောင်တစ်ခုတွင် အဖွင့်-ဝင်ရောက်သုံးနိုင်သော သင်ကြားရေးဆိုင်ရာပစ္စည်းများကို ရည်ညွှန်းသည်။ သင်ယူမှုလုပ်ငန်းစဉ်အား သက်ဆိုင်ရာ သင်ရိုးအပိုင်းများကို အကျုံးဝင်သော အဆင့်ဆင့်ဖွဲ့စည်းပုံ (ပရိုဂရမ်များ -> သင်ခန်းစာများ -> ခေါင်းစဉ်များ) ဖြင့် ပိုင်းခြားထားပါသည်။ ဒိုမိန်းကျွမ်းကျင်သူများနှင့် အကန့်အသတ်မရှိ အကြံပေးခြင်းကိုလည်း ဆောင်ရွက်ပေးပါသည်။
Certification လုပ်ထုံးလုပ်နည်းအသေးစိတ်အတွက် စစ်ဆေးပါ။ ဘယ်လိုအလုပ်လုပ်လဲ.
EITC/AI/DLPP Deep Learning with Python နှင့် PyTorch ပရိုဂရမ်အတွက် ပြီးပြည့်စုံသော အော့ဖ်လိုင်း ကိုယ်ပိုင်သင်ယူခြင်းဆိုင်ရာ ကြိုတင်ပြင်ဆင်သည့်ပစ္စည်းများကို PDF ဖိုင်တွင် ဒေါင်းလုဒ်လုပ်ပါ။
EITC/AI/DLPP ကြိုတင်ပြင်ဆင်ပစ္စည်းများ - စံဗားရှင်း
EITC/AI/DLPP ကြိုတင်ပြင်ဆင်ပစ္စည်းများ – ပြန်လည်သုံးသပ်မေးခွန်းများဖြင့် တိုးချဲ့ဗားရှင်း