O'quv yili: 2021-2022, Semestr: 6-semestr, Mutaxassislik



Download 0,98 Mb.
bet9/10
Sana20.06.2022
Hajmi0,98 Mb.
#683636
1   2   3   4   5   6   7   8   9   10
Bog'liq
ISMOILOVA

5. Amalga oshirish


Men shaxsan Matlab-dan real vaqt rejimida ishlashni talab qilmaydigan turli xil algoritmlarni amalga oshirish uchun foydalanaman. Bu juda qulay to'plam bo'lib, uning M-tili sizga xotirani ajratish, kirish/chiqarish operatsiyalari va hokazolar haqida qayg'urmasdan algoritmga diqqatni jamlashga imkon beradi. Bundan tashqari, ko'plab turli xil asboblar qutilari sizga qisqa vaqt ichida haqiqatan ham fanlararo ilovalarni yaratishga imkon beradi. Siz, masalan, veb-kamerani ulash uchun Image Acquication Toolboxdan foydalanishingiz, tasvirni qayta ishlash uchun Image Processing Toolbox-dan foydalanishingiz, robotning traektoriyasini shakllantirish uchun Neural Network Toolbox-dan foydalanishingiz va robotning harakatini taqlid qilish uchun Virtual Reality Toolbox va Control Systems Toolbox-laridan foydalanishingiz mumkin. Aytgancha, Neural Network Toolbox - bu turli xil va arxitekturadagi ko'plab neyron tarmoqlarni yaratishga imkon beradigan juda moslashuvchan vositalar to'plami, ammo, afsuski, asabiylashtirilmagan neyron tarmoqlari emas. Hammasi umumiy og'irliklar haqida. NN asboblar qutisi umumiy og'irliklarni sozlash qobiliyatini ta'minlamaydi.
Ushbu kamchilikni bartaraf etish uchun men o'zboshimchalik bilan arxitekturaning SNA-larini amalga oshirish va ularni turli vazifalarga qo'llash imkonini beradigan sinf yozdim. Siz bu erda sinfni yuklab olishingiz mumkin. Foydalanuvchi o'zi tarmoqning tuzilishini iloji boricha ko'rishi uchun yozilgan. Har bir narsa juda ko'p sharhlangan, men o'zgaruvchilarning nomlarini bilmayman. Tarmoqni simulyatsiya qilish tezligi yomon emas va bo'linish soniyasiga to'g'ri keladi. O'qish darajasi hali yuqori emas (> 10 soat), lekin sozlaning, yaqin kelajakda u kattalik buyurtmalariga binoan tezlashishi rejalashtirilgan.

6. Natijalar


Matlabcentral dasturda allaqachon o'rganilgan neyron tarmog'i fayllari, shuningdek ish natijalarini namoyish etish uchun GUI mavjud. Quyida tan olish uchun misollar keltirilgan:

Dasturlashda kutubxona (ingliz tilidagi kutubxonadan) bu dasturiy ta'minot (dasturiy ta'minot) ishlab chiqishda ishlatiladigan kichik dasturlar yoki ob'ektlar to'plami. Boshqacha aytganda, kutubxonalar - bu ixtisoslashgan tijorat kompaniyalari (masalan, Google-dan TensorFlow, Microsoft-dan CNTK) yoki neyron tarmoqlarini rivojlantiradigan universitetlar tomonidan yaratilgan dasturiy kod (har bir dasturlash tili uchun - o'z kutubxonalari). Nvidia cuDNN kutubxonalari singari grafik ishlov berish bo'linmalarida (GPU) neyron tarmog'i bo'yicha mashg'ulotlarni o'tkazishga imkon beradigan kutubxonalar mavjud. Hozirgi vaqtda GPUlar markaziy protsessor birliklariga (CPUlarga) qaraganda ko'proq ishlov berish quvvatini ta'minlaydilar. Odatda, kutubxonalar dastur kodiga "ulanadi", so'ngra ushbu kod yoki uning qismi yaratilgan dasturning o'zida ishlatiladi. Bu dasturlarni yaratish jarayonini sezilarli darajada osonlashtiradi va tezlashtiradi, shuningdek kodni juda katta hajmga ega qilmaydi.
Ushbu ish Python dasturlash tilidan foydalanadi. Ushbu dasturlash tilini tanlash uning bir qator afzalliklariga bog'liq, xususan:
− samaradorlik - kam kod bilan Python-da yozilgan dastur yanada funktsional va har xil operatsiyalarni bajaradi;
− optimallashtirilgan matematik kutubxonalar bilan integratsiya qilish qobiliyati, shuningdek Python kodidan tezroq bo'lgan C kodini yaratish uchun dinamik kutubxonalardan foydalanish mumkin;
− sodda va sodda sintaksis;
− ko'p funktsiyali - Python o'yin yaratish, veb-ilovalar yaratish, biznes muammolarini hal qilish va turli xil loyihalar uchun ichki vositalarni ishlab chiqish uchun ishlatiladi.
Python dasturlash tilidagi ba'zi kutubxonalarni batafsil ko'rib chiqaylik:

  1. Google-dan "TensorFlow" bu ochiq o'lchovli mashina kutubxonasi bo'lib, u sizga ko'p o'lchovli matritsalar (tensor) va hisoblash mashinalari bilan ishlashga imkon beradi. Ikkita o'zgarishga ega - Python va C ++. TensorFlow-ning kamchiliklari bu to'g'ridan-to'g'ri neyron tarmog'i bilan emas, balki neyron tarmog'iga mos keladigan ma'lumotlar oqimi grafigi bilan ishlash zarurati.

  2. Kanadadagi Monreal universitetida ishlab chiqilgan Theano, shuningdek, ochiq manba kodi va ko'p o'lchovli matritsalar (tensorlar) bilan ishlash, shuningdek ular bilan samarali hisob-kitoblarni amalga oshirish qobiliyatiga ega. Python dasturlash tilida yozilgan. Theanoning noqulayligi TensorFlow-ning kamchiliklari bilan bir xil - matritsalar bilan ishlashdan tashqari, o'zingiz ham neyron tarmog'ini amalga oshirishingiz kerak.

  3. Keras - bu neyron tarmoqlarini dasturlash uchun ochiq kutubxona bo'lib, u freymlar ustidan (inglizcha ramka - ramka, struktura) Deeplearning4j, TensorFlow va Theano. U Google muhandislaridan biri tomonidan ONEIROS loyihasi (Ingliz tilida ochilgan Neuro-Electronic Intelligent Robot Operating System) doirasida yaratilgan. Keras kutubxonasining asosiy afzalliklaridan biri bu Python-dagi neyron tarmoqni sodda va tushunarli tarzda tasvirlashdir, undan foydalanib o'z neyron tarmog'ingizni o'rnatishingiz, uning qatlamlari soni va xususiyatlarini tavsiflashingiz, xatolarni minimallashtirish uchun aktivizatsiya funktsiyalari va optimallashtirish usullarini tanlashingiz mumkin. Keras TensorFlow va Theano-ning tepasida qurilganligi sababli, uning vazifasi foydalanuvchi kiritishiga asoslangan neyron tarmog'ini yaratish, keyin hisob-kitoblarni bajarish uchun yuqorida aytib o'tilgan kutubxonalardan yuqori samarali usullarni chaqirish. Neyron tarmoqlar bilan ishlashni o'zingiz qilishingiz shart emas.

Neyron tarmoq bilan ishlashga tayyorgarlik ko'rish, qo'shimcha dasturlarni o'rnatish
Neyron tarmoq bilan ishlashni boshlashdan oldin, buning uchun dasturni yuklab olishingiz va o'rnatishingiz kerak. Ushbu ish Microsoft 7 tomonidan Windows 7 operatsion tizimi asosida amalga oshirildi. Ushbu ishda qo'shimcha dasturiy ta'minot (dasturiy ta'minot) sifatida foydalanilgan:
Python 3 Anaconda tarqatish (ko'p paketlarni o'z ichiga oladi);
Theano va Keras kutubxonalari;
Sun'iy neyron tarmoqlari bilan ishlash uchun dasturiy ta'minotni sozlash bosqichlari:

  1. Python 3.6 tarqatish uchun o'rnatish paketini (.exe - bajariladigan fayl) yuklab oling (manba: URL: https://www.anaconda.com/download/);

  2. standart Windows vositalari yordamida Python 3.6 tarqatilishini o'rnatish;

  3. Neyron tarmoqlari bilan ishlash uchun qo'shimcha kutubxonalarni o'rnatish. Theano kutubxonasi orqa qism (dasturiy ta'minotning asosiy qismi) va Keras kutubxonasi (foydalanuvchi va dasturiy ta'minotning asosiy qismi o'rtasidagi interfeys) tanlandi. Kutubxonalarni o'rnatish Anaconda Prompt buyruq satri yordamida amalga oshiriladi..

Theano kutubxonasini o'rnatish buyruqni kiritish orqali amalga oshiriladi
conda install theano
1-rasmda kutubxonalarni o'rnatish va paketlarni yangilash jarayonida Anaconda Prompt interfeysini ko'rsatadi, buyruqlarni kiritish bilan bir qatorda buyruqlar qatori bilan "Y" (ha) va "N" (yo'q - yo'q) tugmachalari yordamida o'zaro ishlash mumkin.

1-rasm. Theano kutubxonasini o'rnatish buyrug'ini kiritgandan so'ng Anaconda Promt interfeysi
Theano kutubxonasini Windows OT-da zaxira sifatida o'rnatgandan so'ng, siz Kerda kutubxonasini conda-forge-dan o'rnatishingiz kerak, buning uchun siz buyruqni kiritishingiz kerak:
conda install –c conda-forge keras
2-rasmda Kerasni o'rnatish buyrug'ini kiritgandan so'ng Anaconda Prompt interfeysi ko'rsatilgan.

2-rasm. Keras kutubxonasini o'rnatish uchun buyruq kiritish natijalari. Buyruq satri qaysi paketlar yangilanishini va qaysi paketlar orqaga qaytarilishini belgilaydi.
Keras kutubxonasini o'rnatganingizdan so'ng, Keras va Theano o'rtasidagi hamkorlikni o'rnatishingiz kerak, buning uchun tizim foydalanuvchisining ildiz katalogida (Windows uchun) "keras.json" deb nomlangan faylni topishingiz va ushbu fayl tarkibidagi dastur kodini tahrirlashingiz kerak. Odatiy bo'lib, TensorFlow kutubxonasi orqa tomon sifatida o'rnatiladi, ushbu parametr dastur kodidagi "theano" qiymatiga o'zgartirilishi kerak, natijada "keras.json" faylidagi kod quyidagicha ko'rinishi kerak:

{
“image_data_format”: “channels_first”,
“epsilon”: 1e-07,
“backend”: “theano”,
“floatx”: “float32”
}

Tahrirlashdan so'ng kiritilgan o'zgarishlar saqlanadi.
Ish uchun qo'shimcha dasturiy ta'minotni tayyorlashning yakuniy bosqichi Keras-ning o'rnatilgan versiyasini va kutubxona nomini tekshirish bo'lib, buning uchun buyruqni anaconda Prompt satriga kiriting: python -c "keraslarni import qilish; bosib chiqarish (keras .__ version__)"
Natijada, buyruq satrida Keras versiyasi va ishlatilgan orqa kutubxona haqida ma'lumot ko'rsatilishi kerak (3-rasm):

3-rasm. Buyruq satrida o'rnatilgan kutubxonalar to'g'risidagi ma'lumotlar ko'rsatildi. "Theano Backend-dan foydalanish." - Theano kutubxonasi orqa tomon sifatida ishlatiladi, "2.0.9" - Keras kutubxonasi versiyasi
Sun'iy neyron tarmoqlari bilan ishlash uchun qo'shimcha dasturlarni tayyorlash yakunlandi.
Keras tasvirni aniqlash dasturi
Tasvirni aniqlash mashina o'rganish algoritmlari sifatini sinash uchun eng mashhur va oddiy vazifalardan biridir. Kirish sifatida tayyor ochiq ma'lumotlar bazasidan foydalanish mumkin. Ushbu to'plam aralash milliy standartlar va texnologiyalar instituti ma'lumotlar bazasi (MNIST) bo'lib, unda o'qitish uchun 60,000 va sinov uchun 10000 rasm mavjud. MNIST-dan olingan rasmlar - bu algoritm kirish sifatida qabul qilinishi va chiqishi uchun ushbu rasmda qaysi belgi tasvirlanganiga javob berilishi kerak bo'lgan qo'lda yozilgan belgilarning individual rasmlari to'plami.
1989 yilda Yann LeCun tomonidan yozilgan "Qo'lda yozilgan indeks kodlarini tanib olish uchun qo'llaniladigan orqaga targ'ibot" asarida MNIST ma'lumotlarining qo'l yozuvi raqamlari ma'lumotlar bazasi (MNIST ma'lumotlar bazasi qo'l yozuvi raqamlari) ishlatilgan.
На рис. 18 изображен пример набора рукописных цифр из MNIST, взятый из рукописных почтовых индексов (Zip Code).

4-rasm. MNIST ma'lumotlar bazasidan qo'lda yozilgan raqamlar to'plami.
Manba: Groter, Patrik. (1995). NIST maxsus ma'lumotlar bazasi 19. Qo'l bilan yozilgan shakllar va belgilar bo'yicha ma'lumotlar bazasi. Gaytsburg, Merilend - Milliy standartlar va texnologiyalar instituti.
Sun'iy neyron tarmog'ini tayyorlash uchun Jan Lecun rasmiy veb-saytidan ikkita arxiv faylini yuklab olishingiz kerak (URL: http://yann.lecun.com/exdb/mnist/). Fayllardan biri to'g'ridan-to'g'ri qo'lda yozilgan raqamlarning rasmlarini, boshqasi sinf yorliqlarini (to'g'ri javoblar) o'z ichiga oladi. Rasmlar hajmi 28x28 piksel, tasvirlarning rang oralig'i kul rangda (0 dan 255 gacha, bu erda 0 oq, 255 - qora). Barcha 60,000 rasm bitta ikkilik faylga joylashtirilgan.
Qo'lda yozilgan raqamlarni aniqlash uchun sun'iy neyron tarmoqning arxitekturasi ikki qatlamli - kirish (800 neyron) va chiqish (10 neyron) bo'lgan tarmoqdir. Kirish qiymatlari rasmdagi pikselning intensivligini anglatadi (umumiy qiymatlar - 784,). 800 neyronning har birining kiritilishi tasvirning barcha 784 piksellaridan qiymatlarni oladi. 10 ta chiqish neyronining har biri 0 dan 9 gacha bo'lgan qo'lda yozilgan raqamlarning har biriga mos keladi. Neyronning chiqish qiymatining kattaligi ushbu ikkilik tasvir kodida ushbu aniq raqam ishlatilganligini ko'rsatadi. Masalan, agar kirish tasvirining qiymati 5 ga teng bo'lsa, unda beshinchi neyronning chiqishi 1 ga yaqin bo'lishi kerak, boshqa neyronlarning qiymatlari esa 0 ga yaqin bo'lishi kerak (shuni esda tutingki, o'ninchi chiqish neyroni qo'lda yozilgan raqamni 9 belgilaydi).

Download 0,98 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish