{"id":1731,"date":"2020-11-26T11:14:18","date_gmt":"2020-11-26T11:14:18","guid":{"rendered":"https:\/\/aix.web.tr\/?p=1731"},"modified":"2024-04-22T14:13:04","modified_gmt":"2024-04-22T14:13:04","slug":"uretken-cekismeli-aglar-kullanarak-kedi-uretmek-ve-temel-bilesen-analizi","status":"publish","type":"post","link":"https:\/\/aix.web.tr\/en\/uretken-cekismeli-aglar-kullanarak-kedi-uretmek-ve-temel-bilesen-analizi\/","title":{"rendered":"Generating Cats Using Generative Adversarial Networks and Principal Component Analysis"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"1731\" class=\"elementor elementor-1731\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ab037f6 elementor-section-stretched elementor-hidden-tablet elementor-hidden-phone elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ab037f6\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2fb4fd0\" data-id=\"2fb4fd0\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b213246 elementor-widget elementor-widget-shortcode\" data-id=\"b213246\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"1494\" class=\"elementor elementor-1494\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6a0c6bf elementor-section-height-min-height elementor-section-stretched elementor-hidden-tablet elementor-hidden-phone elementor-section-boxed elementor-section-height-default elementor-section-items-middle\" data-id=\"6a0c6bf\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-0f33f4b\" data-id=\"0f33f4b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e3797c5 elementor-icon-list--layout-inline elementor-align-center animated-slow elementor-list-item-link-full_width elementor-invisible elementor-widget elementor-widget-icon-list\" data-id=\"e3797c5\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInLeft&quot;}\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items elementor-inline-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/aix.web.tr\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">ANA SAYFA<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/aix.web.tr\/hakkimizda\/\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">HAKKIMIZDA<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/aix.web.tr\/arastirmalar\/\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">ARA\u015eTIRMALAR<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/aix.web.tr\/blog\/\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">BLOG 4.0<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-ea69513\" data-id=\"ea69513\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-bff95a7 animated-slow elementor-invisible elementor-widget elementor-widget-image\" data-id=\"bff95a7\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;zoomIn&quot;}\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/aix.web.tr\/\">\n\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1667\" height=\"790\" src=\"https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/07\/aix-logo.png\" class=\"attachment-full size-full wp-image-3104\" alt=\"Aix Logo\" srcset=\"https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/07\/aix-logo.png 1667w, https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/07\/aix-logo-300x142.png 300w, https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/07\/aix-logo-1024x485.png 1024w, https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/07\/aix-logo-768x364.png 768w, https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/07\/aix-logo-1536x728.png 1536w, https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/07\/aix-logo-18x9.png 18w\" sizes=\"(max-width: 1667px) 100vw, 1667px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-c9c0555\" data-id=\"c9c0555\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1c86e38 elementor-icon-list--layout-inline elementor-align-center animated-slow elementor-list-item-link-full_width elementor-invisible elementor-widget elementor-widget-icon-list\" data-id=\"1c86e38\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInRight&quot;}\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items elementor-inline-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/aix.web.tr\/ders\/\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">DERS<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/aix.web.tr\/konusmalar\/\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">KONU\u015eMALAR<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/aix.web.tr\/iletisim\/\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">\u0130LET\u0130\u015e\u0130M<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/aix.web.tr\/basvuru\/\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">EK\u0130BE KATIL<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-206de6d elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"206de6d\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;slideshow&quot;,&quot;background_slideshow_gallery&quot;:[{&quot;id&quot;:531,&quot;url&quot;:&quot;http:\\\/\\\/www.aix.web.tr\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/ezgif.com-video-to-gif-1.gif&quot;}],&quot;shape_divider_bottom&quot;:&quot;mountains&quot;,&quot;background_slideshow_loop&quot;:&quot;yes&quot;,&quot;background_slideshow_slide_duration&quot;:5000,&quot;background_slideshow_slide_transition&quot;:&quot;fade&quot;,&quot;background_slideshow_transition_duration&quot;:500}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t<div class=\"elementor-shape elementor-shape-bottom\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1000 100\" preserveAspectRatio=\"none\">\n\t<path class=\"elementor-shape-fill\" opacity=\"0.33\" d=\"M473,67.3c-203.9,88.3-263.1-34-320.3,0C66,119.1,0,59.7,0,59.7V0h1000v59.7 c0,0-62.1,26.1-94.9,29.3c-32.8,3.3-62.8-12.3-75.8-22.1C806,49.6,745.3,8.7,694.9,4.7S492.4,59,473,67.3z\"\/>\n\t<path class=\"elementor-shape-fill\" opacity=\"0.66\" d=\"M734,67.3c-45.5,0-77.2-23.2-129.1-39.1c-28.6-8.7-150.3-10.1-254,39.1 s-91.7-34.4-149.2,0C115.7,118.3,0,39.8,0,39.8V0h1000v36.5c0,0-28.2-18.5-92.1-18.5C810.2,18.1,775.7,67.3,734,67.3z\"\/>\n\t<path class=\"elementor-shape-fill\" d=\"M766.1,28.9c-200-57.5-266,65.5-395.1,19.5C242,1.8,242,5.4,184.8,20.6C128,35.8,132.3,44.9,89.9,52.5C28.6,63.7,0,0,0,0 h1000c0,0-9.9,40.9-83.6,48.1S829.6,47,766.1,28.9z\"\/>\n<\/svg>\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-056c37b\" data-id=\"056c37b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2d08241 elementor-widget elementor-widget-heading\" data-id=\"2d08241\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">\u00dcretken \u00c7eki\u015fmeli A\u011flar Kullanarak Kedi \u00dcretmek ve Temel Bile\u015fen Analizi<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c858c34 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c858c34\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-8ce0ec8\" data-id=\"8ce0ec8\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-31649ad elementor-widget elementor-widget-html\" data-id=\"31649ad\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<IMG SRC=\"https:\/\/raw.githubusercontent.com\/vee-upatising\/Cat-GAN\/master\/walk2.gif\">\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-bfd955f\" data-id=\"bfd955f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9069ab5 elementor-widget elementor-widget-html\" data-id=\"9069ab5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<IMG SRC=\"https:\/\/raw.githubusercontent.com\/vee-upatising\/Cat-GAN\/master\/walk1.gif\">\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-e102c9a\" data-id=\"e102c9a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-be8aa37 elementor-widget elementor-widget-html\" data-id=\"be8aa37\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<IMG SRC=\"https:\/\/raw.githubusercontent.com\/vee-upatising\/Cat-GAN\/master\/walk3.gif\">\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-405e5d2 elementor-section-content-middle elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"405e5d2\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-631ad9b\" data-id=\"631ad9b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6f64cc9 elementor-widget elementor-widget-heading\" data-id=\"6f64cc9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Ama\u00e7<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5d49bca elementor-widget elementor-widget-text-editor\" data-id=\"5d49bca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Bu makale size Keras kitapl\u0131\u011f\u0131 kullan\u0131larak yaz\u0131lan bir \u00dcretken \u00c7eki\u015fme A\u011f\u0131&#8217;n\u0131n genel \u00e7er\u00e7evesini sa\u011flayacakt\u0131r. Kendi g\u00f6r\u00fcnt\u00fc veri k\u00fcmelerinizi kullanarak \u00fcretken modelleri e\u011fitmek i\u00e7in bu genel GAN \u015fablonunu kullanabileceksiniz.<\/p><p>Kodun tam s\u00fcr\u00fcm\u00fc<a href=\"https:\/\/github.com\/vee-upatising\/PCA-GAN\" target=\"_blank\" rel=\"noopener\"> bu GitHub deposunda<\/a> mevcuttur.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-177c664 elementor-widget elementor-widget-heading\" data-id=\"177c664\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Veri K\u00fcmesi<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-44acee1 elementor-widget elementor-widget-text-editor\" data-id=\"44acee1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\">Bu proje i\u00e7in kulland\u0131\u011f\u0131m veri seti <a href=\"https:\/\/www.kaggle.com\/spandan2\/cats-faces-64x64-for-generative-models\" target=\"_blank\" rel=\"noopener\">Kaggle&#8217;dan indirilebilir<\/a>. Modeli e\u011fitmek i\u00e7in 64&#215;64 kedi resimlerinden olu\u015fan bir veri k\u00fcmesi kulland\u0131m. G\u00f6r\u00fcnt\u00fcler aras\u0131nda ne kadar az fark oldu\u011fundan, bu veri k\u00fcmesiyle GAN&#8217;lar i\u00e7in \u00e7al\u0131\u015fmak \u00f6zellikle kolayd\u0131r. \u00c7\u0131lg\u0131nca de\u011fi\u015fen g\u00f6r\u00fcnt\u00fclere sahip di\u011fer veri k\u00fcmeleri, Generative Adversarial Network&#8217;\u00fcn\u00fcz\u00fcn yak\u0131nsamas\u0131n\u0131 zorla\u015ft\u0131rabilir.<\/div><div>\u00a0<\/div><div>Bu denetimli \u00f6\u011frenme g\u00f6revinde, bu kedi resimleri veri setimizdeki Y de\u011ferleridir. G\u00f6r\u00fcnt\u00fcler, \u00fcretken modellerimizin \u00e7\u0131kard\u0131\u011f\u0131 \u015feylerdir. \u015eimdi soru, resimlerimize girdi olarak e\u015flemek i\u00e7in X de\u011ferlerimiz olarak ne kullanaca\u011f\u0131m\u0131zd\u0131r. Bu g\u00f6r\u00fcnt\u00fcleri rastgele bir g\u00fcr\u00fclt\u00fc da\u011f\u0131l\u0131m\u0131yla e\u015fle\u015ftirebiliriz. Bu temel teknik, belirli veri k\u00fcmeleri i\u00e7in i\u015fe yarar. A\u015fa\u011f\u0131daki bu GIF, bir \u00fcretici modelin gizli uzay\u0131ndaki ara de\u011ferli noktalar arac\u0131l\u0131\u011f\u0131yla \u00f6rneklemeyi g\u00f6sterir.<\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a38f327 elementor-widget elementor-widget-html\" data-id=\"a38f327\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<center><IMG SRC=\"https:\/\/raw.githubusercontent.com\/vee-upatising\/Cat-GAN\/master\/result3.gif\r\"><\/center>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-23ac269 elementor-widget elementor-widget-text-editor\" data-id=\"23ac269\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\">Bu model, girdi olarak Gauss g\u00fcr\u00fclt\u00fcn\u00fcn da\u011f\u0131l\u0131m\u0131 ve \u00e7\u0131kt\u0131 olarak ayn\u0131 veri k\u00fcmesi kullan\u0131larak e\u011fitilmi\u015ftir. Model, girdinin rastgeleli\u011fi g\u00f6z \u00f6n\u00fcne al\u0131nd\u0131\u011f\u0131nda yak\u0131nsamada m\u00fccadele etti ve ifade edici olmayan \u00e7\u0131kt\u0131larla vasat sonu\u00e7lar \u00fcretti.<\/div><div>\u00a0<\/div><\/div><div>Veri k\u00fcmesine ba\u011fl\u0131 olarak, g\u00f6r\u00fcnt\u00fclere e\u015flenen rastgele girdileri kullanmak, belirli GAN&#8217;lar\u0131n yak\u0131nsamas\u0131 i\u00e7in yeterince iyi olabilir. Klasik <a href=\"https:\/\/en.wikipedia.org\/wiki\/MNIST_database\" target=\"_blank\" rel=\"noopener\">MNIST<\/a> k\u0131yaslama veri k\u00fcmesi, rastgele girdilerle \u00e7al\u0131\u015fmak i\u00e7in yeterince basittir. Bu <a href=\"https:\/\/vee-upatising.github.io\/gan.html\" target=\"_blank\" rel=\"noopener\">Etkile\u015fimli GAN<\/a> ayr\u0131ca, \u00e7ok d\u00fc\u015f\u00fck varyansl\u0131 bir veri k\u00fcmesine e\u015flenmi\u015f bir Gauss g\u00fcr\u00fclt\u00fc da\u011f\u0131l\u0131m\u0131 kullan\u0131larak e\u011fitildi.<\/div><div>\u00a0<\/div><\/div><\/div><div>Ancak nihayetinde, bu teknikle ilgili sorun, Sinir A\u011flar\u0131n\u0131n girdi olarak tamamen rastgele say\u0131lar kullanarak veri k\u00fcmesinden g\u00f6r\u00fcnt\u00fcleri yeniden olu\u015fturmas\u0131n\u0131n zor olmas\u0131d\u0131r. \u0130deal olarak, veri setimizin X de\u011ferleri, veri setimizdeki Y de\u011feri g\u00f6r\u00fcnt\u00fclerinin anlaml\u0131 bir temsili olacakt\u0131r. Bu, Generator modelinin \u00e7\u0131kt\u0131y\u0131 \u00f6rneklemek ve do\u011fru bir \u015fekilde yeniden olu\u015fturmak i\u00e7in girdide anlaml\u0131 ayr\u0131nt\u0131lar bulmas\u0131na olanak tan\u0131r. \u015eimdi soru, veri setimizdeki her Y de\u011feri g\u00f6r\u00fcnt\u00fcs\u00fcyle uyumlu anlaml\u0131 X de\u011ferlerini nas\u0131l olu\u015fturabiliriz?<\/div><div>\u00a0<\/div><div>Bu bizi, Temel Bile\u015fen Analizi (PCA) ad\u0131 verilen denetimsiz bir \u00f6\u011frenme tekni\u011fine g\u00f6t\u00fcr\u00fcr. PCA, verileri veri k\u00fcmesinin kovaryans matrisinin \u00d6z vekt\u00f6rlerine yans\u0131tarak verileri daha d\u00fc\u015f\u00fck bir boyuta yans\u0131tmam\u0131z\u0131 sa\u011flar. Bu tekni\u011fi kullanarak, veri setimizdeki her 64x64x3 g\u00f6r\u00fcnt\u00fcy\u00fc 512 elemanl\u0131 bir vekt\u00f6re yans\u0131tabiliyoruz. Bu, bilgilerin %95,3&#8217;\u00fcn\u00fc korurken verileri depolamak i\u00e7in alan\u0131n %4,16&#8217;s\u0131n\u0131 kullanmaya e\u015fde\u011ferdir. Veri setimizde sahip oldu\u011fumuz her \u00e7\u0131kt\u0131 g\u00f6r\u00fcnt\u00fcs\u00fc i\u00e7in anlaml\u0131 bir girdi vekt\u00f6r\u00fc bu \u015fekilde elde edece\u011fiz. Bu verileri i\u015flemenin arkas\u0131ndaki kod, <strong>load_data()<\/strong> y\u00f6nteminde tam olarak a\u00e7\u0131klanacakt\u0131r.<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6b8f73b elementor-widget elementor-widget-image\" data-id=\"6b8f73b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1255\" height=\"190\" src=\"https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/11\/girdi.png\" class=\"attachment-full size-full wp-image-1734\" alt=\"\" srcset=\"https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/11\/girdi.png 1255w, https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/11\/girdi-300x45.png 300w, https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/11\/girdi-1024x155.png 1024w, https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/11\/girdi-768x116.png 768w\" sizes=\"(max-width: 1255px) 100vw, 1255px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f5d6094 elementor-widget elementor-widget-heading\" data-id=\"f5d6094\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Girdiler<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a7b3544 elementor-widget elementor-widget-text-editor\" data-id=\"a7b3544\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"output_wrapper\"><div class=\"output\"><div class=\"output_area\"><div class=\"prompt output_prompt\">Girdi [1]:<\/div><div class=\"output_text output_subarea output_execute_result\"><div class=\"input\"><div class=\"inner_cell\"><div class=\"input_area\"><div class=\" highlight hl-ipython3\"><pre><span class=\"kn\">from<\/span> <span class=\"nn\">keras.layers<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">Input<\/span><span class=\"p\">,<\/span> <span class=\"n\">Dense<\/span><span class=\"p\">,<\/span> <span class=\"n\">Reshape<\/span><span class=\"p\">,<\/span> <span class=\"n\">Flatten<\/span>\n<span class=\"kn\">from<\/span> <span class=\"nn\">keras.layers.advanced_activations<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">LeakyReLU<\/span>\n<span class=\"kn\">from<\/span> <span class=\"nn\">keras.layers.convolutional<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">UpSampling2D<\/span><span class=\"p\">,<\/span> <span class=\"n\">Conv2D<\/span><span class=\"p\">,<\/span> <span class=\"n\">MaxPooling2D<\/span>\n<span class=\"kn\">from<\/span> <span class=\"nn\">keras.models<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">Sequential<\/span><span class=\"p\">,<\/span> <span class=\"n\">Model<\/span>\n<span class=\"kn\">from<\/span> <span class=\"nn\">keras.optimizers<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">Adam<\/span>\n<span class=\"kn\">from<\/span> <span class=\"nn\">sklearn.utils<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">shuffle<\/span>\n<span class=\"kn\">from<\/span> <span class=\"nn\">sklearn.decomposition<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">PCA<\/span>\n<span class=\"kn\">import<\/span> <span class=\"nn\">matplotlib.pyplot<\/span> <span class=\"k\">as<\/span> <span class=\"nn\">plt<\/span>\n<span class=\"kn\">import<\/span> <span class=\"nn\">numpy<\/span> <span class=\"k\">as<\/span> <span class=\"nn\">np<\/span>\n<span class=\"kn\">import<\/span> <span class=\"nn\">os<\/span>\n<span class=\"kn\">from<\/span> <span class=\"nn\">PIL<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">Image<\/span>\n<\/pre><\/div><\/div><\/div><\/div><div class=\"output_wrapper\"><div class=\"output\"><div class=\"output_area\"><div class=\"prompt\">\u00a0<\/div><div class=\"output_subarea output_stream output_stderr output_text\"><pre>Using TensorFlow backend<\/pre><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-677d788 elementor-widget elementor-widget-text-editor\" data-id=\"677d788\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\">Bu proje a\u015fa\u011f\u0131daki kitapl\u0131klar\u0131 gerekiyor;<\/div><ul><li class=\"prompt input_prompt\">Keras (2.3.1 kullan\u0131yorum)<\/li><li class=\"prompt input_prompt\">Tensorflow (1.14.0 kullan\u0131yorum)<\/li><li class=\"prompt input_prompt\">Sklearn<\/li><li class=\"prompt input_prompt\">Scipy<\/li><li class=\"prompt input_prompt\">Numpy<\/li><li class=\"prompt input_prompt\">Matplotlib<\/li><li class=\"prompt input_prompt\">PIL<\/li><li class=\"prompt input_prompt\">Keract (Model G\u00f6rselle\u015ftirme i\u00e7in \u0130ste\u011fe Ba\u011fl\u0131)<\/li><\/ul><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-84a0a57 elementor-widget elementor-widget-heading\" data-id=\"84a0a57\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Parametreleri Ayarlay\u0131n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-63b8599 elementor-widget elementor-widget-text-editor\" data-id=\"63b8599\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\">Ba\u015flang\u0131\u00e7 olarak, yerel dosya yollar\u0131 ve Sinir A\u011flar\u0131n\u0131n ayarlar\u0131 ile ilgili parametreleri tan\u0131mlayaca\u011f\u0131z. Mevcut parametreler, 8 GB VRAM&#8217;li bir GPU&#8217;da kullan\u0131lmak \u00fczere tasarlanm\u0131\u015ft\u0131r. Daha az g\u00fc\u00e7l\u00fc bir GPU ile \u00e7al\u0131\u015f\u0131yorsan\u0131z, evri\u015fimli filtrelerin say\u0131s\u0131n\u0131 ve \u00e7ekirdek boyutunu buna g\u00f6re azalt\u0131n. Bellek k\u0131s\u0131tlamalar\u0131 nedeniyle toplu i\u015f boyutu da azalt\u0131labilir. Kendi veri k\u00fcmenizi kullanmak istiyorsan\u0131z, veri yolunu g\u00f6r\u00fcnt\u00fcleri i\u00e7eren klas\u00f6re i\u015faret edecek \u015fekilde ayarlay\u0131n. G\u00f6r\u00fcnt\u00fcler PNG ise, png Boolean de\u011fi\u015fkenini True olarak ayarlay\u0131n. Bu, <strong>load_data()<\/strong> i\u00e7indeki veri \u00f6ni\u015fleme s\u0131ras\u0131nda g\u00f6r\u00fcnt\u00fclerden alfa katman\u0131n\u0131 kald\u0131racakt\u0131r.<\/div><div>\u00a0<\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0b20e7e elementor-widget elementor-widget-text-editor\" data-id=\"0b20e7e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"output_wrapper\"><div class=\"output\"><div class=\"output_area\"><div class=\"prompt output_prompt\">Girdi [2]:<\/div><div class=\"output_text output_subarea output_execute_result\"><pre><span class=\"c1\"># Folder containing dataset<\/span>\n<span class=\"n\">data_path<\/span> <span class=\"o\">=<\/span> <span class=\"sa\">r<\/span><span class=\"s1\">'D:\\Downloads\\cats-faces-64x64-for-generative-models\\cats'<\/span>\n\n<span class=\"c1\"># Dimensions of the images inside the dataset<\/span>\n<span class=\"n\">img_dimensions<\/span> <span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"mi\">64<\/span><span class=\"p\">,<\/span><span class=\"mi\">64<\/span><span class=\"p\">,<\/span><span class=\"mi\">3<\/span><span class=\"p\">)<\/span>\n\n<span class=\"c1\"># Folder where you want to save to model as well as generated samples<\/span>\n<span class=\"n\">model_path<\/span> <span class=\"o\">=<\/span> <span class=\"sa\">r<\/span><span class=\"s2\">\"C:\\Users\\Vee\\Desktop\\python\\GAN\\pca_new\"<\/span>\n\n<span class=\"c1\"># How many epochs between saving your model<\/span>\n<span class=\"n\">interval<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span>\n\n<span class=\"c1\"># How many epochs to run the model<\/span>\n<span class=\"n\">epoch<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">500<\/span>\n\n<span class=\"c1\"># How many images to train at one time.<\/span>\n<span class=\"c1\"># Ideally this number would be a factor of the size of your dataset<\/span>\n<span class=\"n\">batch<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">181<\/span>\n\n<span class=\"c1\"># How many convolutional filters for each convolutional layer of the generator and the discrminator<\/span>\n<span class=\"n\">conv_filters<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">64<\/span>\n\n<span class=\"c1\"># Size of kernel used in the convolutional layers<\/span>\n<span class=\"n\">kernel<\/span> <span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"mi\">5<\/span><span class=\"p\">,<\/span><span class=\"mi\">5<\/span><span class=\"p\">)<\/span>\n\n<span class=\"c1\"># Boolean flag, set to True if the data has pngs to remove alpha layer from images<\/span>\n<span class=\"n\">png<\/span> <span class=\"o\">=<\/span> <span class=\"kc\">False<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9a9a3e7 elementor-widget elementor-widget-heading\" data-id=\"9a9a3e7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Derin Evri\u015fimli GAN S\u0131n\u0131f\u0131 Olu\u015fturun<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e9b898b elementor-widget elementor-widget-text-editor\" data-id=\"e9b898b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\">Bu s\u0131n\u0131f 8 y\u00f6ntem i\u00e7erir.<\/div><ul><li class=\"prompt input_prompt\"><strong>__init __ (self):<\/strong> S\u0131n\u0131f, girdi vekt\u00f6r\u00fcn\u00fcn boyutlar\u0131 ve \u00e7\u0131kt\u0131 g\u00f6r\u00fcnt\u00fcs\u00fc tan\u0131mlanarak ba\u015flat\u0131l\u0131r. Generator ve Discriminator modelleri <strong>build_generator()<\/strong> ve <strong>build_discriminator()<\/strong> kullan\u0131larak ba\u015flat\u0131l\u0131r.<\/li><li class=\"prompt input_prompt\"><strong>build_generator(self):<\/strong> Generator modelini tan\u0131mlar. 8x8x8&#8217;den 64x64x3&#8217;e yukar\u0131 \u00f6rneklenen 5 evri\u015fimli katman vard\u0131r. DCGAN s\u0131n\u0131f\u0131 ba\u015flat\u0131ld\u0131\u011f\u0131nda \u00e7a\u011fr\u0131l\u0131r.<\/li><li class=\"prompt input_prompt\"><strong>build_discriminator(self):<\/strong> Discriminator modelini tan\u0131mlar. 64x64x3&#8217;ten 1 skaler tahmine alt\u00f6rneklenen 5 evri\u015fimli katman vard\u0131r. DCGAN s\u0131n\u0131f\u0131 ba\u015flat\u0131ld\u0131\u011f\u0131nda \u00e7a\u011fr\u0131l\u0131r.<\/li><li class=\"prompt input_prompt\"><strong>load_data(self):<\/strong> Kullan\u0131c\u0131 taraf\u0131ndan belirtilen dosya yolundan, <strong>data_path<\/strong> verileri y\u00fckler. G\u00f6r\u00fcnt\u00fc veri k\u00fcmesini X_Train veri k\u00fcmesi olarak daha d\u00fc\u015f\u00fck bir boyuta yans\u0131tmak i\u00e7in PCA kullan\u0131r. G\u00f6r\u00fcnt\u00fc veri k\u00fcmesini i\u015fler ve Y_Train veri k\u00fcmesi i\u00e7in 4 boyuta yeniden \u015fekillendirir.<strong> train()<\/strong> y\u00f6nteminde \u00e7a\u011fr\u0131l\u0131r.<\/li><li><strong>train(self, epochs, batch_size, save_interval):<\/strong> Generative Adversarial Network&#8217;\u00fc e\u011fitir. Her d\u00f6nem modeli,<strong> batch_size<\/strong> ile tan\u0131mlanan par\u00e7alara ayr\u0131lm\u0131\u015f veri k\u00fcmesinin tamam\u0131n\u0131 kullanarak e\u011fitir. D\u00f6nem,<strong> save_interval<\/strong>&#8216;deyse, y\u00f6ntem, \u00f6rnekleri olu\u015fturmak i\u00e7in <strong>save_imgs()<\/strong> \u00f6\u011fesini \u00e7a\u011f\u0131r\u0131r ve mevcut d\u00f6nemin modelini kaydeder.<\/li><li><strong>save_imgs (self, epoch, gen_imgs, y_points):<\/strong> Modeli kaydeder ve kullan\u0131c\u0131 taraf\u0131ndan belirtilen yol, <strong>model_path<\/strong>&#8216;ta belirli bir d\u00f6nem i\u00e7in tahmin \u00f6rnekleri olu\u015fturur. Her \u00f6rnek, olu\u015fturulan 8 tahmin ve 8 e\u011fitim \u00f6rne\u011fi i\u00e7erir.<\/li><\/ul><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aac7200 elementor-widget elementor-widget-heading\" data-id=\"aac7200\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Ba\u015flatma<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d0106d8 elementor-widget elementor-widget-text-editor\" data-id=\"d0106d8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"output_wrapper\"><div class=\"output\"><div class=\"output_area\"><div class=\"prompt output_prompt\">Girdi [3]:<\/div><div class=\"output_text output_subarea output_execute_result\"><pre><span class=\"k\">class<\/span> <span class=\"nc\">DCGAN<\/span><span class=\"p\">():<\/span>\n    \n    <span class=\"c1\"># Initialize parameters, generator, and discriminator models<\/span>\n    <span class=\"k\">def<\/span> <span class=\"fm\">__init__<\/span><span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"p\">):<\/span>\n        \n        <span class=\"c1\"># Set dimensions of the output image<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">img_rows<\/span> <span class=\"o\">=<\/span> <span class=\"n\">img_dimensions<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">img_cols<\/span> <span class=\"o\">=<\/span> <span class=\"n\">img_dimensions<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">channels<\/span> <span class=\"o\">=<\/span> <span class=\"n\">img_dimensions<\/span><span class=\"p\">[<\/span><span class=\"mi\">2<\/span><span class=\"p\">]<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">img_shape<\/span> <span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">img_rows<\/span><span class=\"p\">,<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">img_cols<\/span><span class=\"p\">,<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">channels<\/span><span class=\"p\">)<\/span>\n        \n        <span class=\"c1\"># Set dimensions of the input noise<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">latent_dim<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">512<\/span>\n        \n        <span class=\"c1\"># Chose optimizer for the models<\/span>\n        <span class=\"n\">optimizer<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Adam<\/span><span class=\"p\">(<\/span><span class=\"mf\">0.0002<\/span><span class=\"p\">,<\/span> <span class=\"mf\">0.5<\/span><span class=\"p\">)<\/span>\n\n        <span class=\"c1\"># Build and compile the discriminator<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">discriminator<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">build_discriminator<\/span><span class=\"p\">()<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">discriminator<\/span><span class=\"o\">.<\/span><span class=\"n\">compile<\/span><span class=\"p\">(<\/span><span class=\"n\">loss<\/span><span class=\"o\">=<\/span><span class=\"s1\">'binary_crossentropy'<\/span><span class=\"p\">,<\/span>\n            <span class=\"n\">optimizer<\/span><span class=\"o\">=<\/span><span class=\"n\">optimizer<\/span><span class=\"p\">,<\/span>\n            <span class=\"n\">metrics<\/span><span class=\"o\">=<\/span><span class=\"p\">[<\/span><span class=\"s1\">'accuracy'<\/span><span class=\"p\">])<\/span>\n\n        <span class=\"c1\"># Build the generator<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">generator<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">build_generator<\/span><span class=\"p\">()<\/span>\n        <span class=\"n\">generator<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">generator<\/span>\n\n        <span class=\"c1\"># The generator takes noise as input and generates imgs<\/span>\n        <span class=\"n\">z<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Input<\/span><span class=\"p\">(<\/span><span class=\"n\">shape<\/span><span class=\"o\">=<\/span><span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">latent_dim<\/span><span class=\"p\">,))<\/span>\n        <span class=\"n\">img<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">generator<\/span><span class=\"p\">(<\/span><span class=\"n\">z<\/span><span class=\"p\">)<\/span>\n\n        <span class=\"c1\"># For the combined model we will only train the generator<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">discriminator<\/span><span class=\"o\">.<\/span><span class=\"n\">trainable<\/span> <span class=\"o\">=<\/span> <span class=\"kc\">False<\/span>\n\n        <span class=\"c1\"># The discriminator takes generated images as input and determines validity<\/span>\n        <span class=\"n\">valid<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">discriminator<\/span><span class=\"p\">(<\/span><span class=\"n\">img<\/span><span class=\"p\">)<\/span>\n\n        <span class=\"c1\"># The combined model  (stacked generator and discriminator)<\/span>\n        <span class=\"c1\"># Trains the generator to fool the discriminator<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">combined<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Model<\/span><span class=\"p\">(<\/span><span class=\"n\">z<\/span><span class=\"p\">,<\/span> <span class=\"n\">valid<\/span><span class=\"p\">)<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">combined<\/span><span class=\"o\">.<\/span><span class=\"n\">compile<\/span><span class=\"p\">(<\/span><span class=\"n\">loss<\/span><span class=\"o\">=<\/span><span class=\"s1\">'binary_crossentropy'<\/span><span class=\"p\">,<\/span> <span class=\"n\">optimizer<\/span><span class=\"o\">=<\/span><span class=\"n\">optimizer<\/span><span class=\"p\">)<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d6ecfd7 elementor-widget elementor-widget-text-editor\" data-id=\"d6ecfd7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\"><p>DCGAN s\u0131n\u0131f\u0131 ba\u015flat\u0131ld\u0131\u011f\u0131nda, Sinir A\u011f\u0131n\u0131n veri setinden beklemesi gereken g\u00f6r\u00fcnt\u00fclerin boyutunu tan\u0131mlar\u0131z. Bu, <strong>Tuple img_dimensions<\/strong> taraf\u0131ndan belirtilir. Ayr\u0131ca, PCA&#8217;dan olu\u015fturulan girdi vekt\u00f6r\u00fcm\u00fcz\u00fcn boyutu olan gizli boyutlar\u0131 da tan\u0131mlar\u0131z. Bu, <strong>latent_dim<\/strong> tamsay\u0131s\u0131 ile belirtilir.<\/p><p>Her iki model i\u00e7in de kulland\u0131\u011f\u0131m\u0131z optimize edici, <a href=\"https:\/\/keras.io\/api\/optimizers\/adam\/\" target=\"_blank\" rel=\"noopener\">Adam optimize edicidir<\/a>. Optimize edicinin \u00f6\u011frenme oran\u0131 ve beta de\u011ferleri ile denemekten \u00e7ekinmeyin ve ne t\u00fcr sonu\u00e7lar ald\u0131\u011f\u0131n\u0131z\u0131 g\u00f6r\u00fcn.<\/p><p>Generative Adversarial Network&#8217;\u00fcn mimarisi, her iki modelde \u0130kili \u00c7apraz Entropi kayb\u0131n\u0131 kullanarak <a href=\"https:\/\/stats.stackexchange.com\/questions\/242907\/why-use-binary-cross-entropy-for-generator-in-adversarial-networks\" target=\"_blank\" rel=\"noopener\">burada<\/a> tan\u0131mlanm\u0131\u015ft\u0131r. Kay\u0131p fonksiyonu olarak \u0130kili \u00c7apraz Entropi se\u00e7imi burada a\u00e7\u0131klanm\u0131\u015ft\u0131r. Di\u011fer kay\u0131p fonksiyonlar\u0131n\u0131 denemekten \u00e7ekinmeyin, ancak her iki modelin de ayn\u0131 kay\u0131p fonksiyonunu kullanmas\u0131 gerekti\u011fini unutmay\u0131n.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-45c119b elementor-widget elementor-widget-heading\" data-id=\"45c119b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Veri y\u00fckle<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eb6eb67 elementor-widget elementor-widget-text-editor\" data-id=\"eb6eb67\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"output_wrapper\"><div class=\"output\"><div class=\"output_area\"><div class=\"prompt output_prompt\">Girdi [3]:<\/div><div class=\"output_text output_subarea output_execute_result\"><pre><span class=\"k\">class<\/span> <span class=\"nc\">DCGAN<\/span><span class=\"p\">():<\/span>\n    \n    <span class=\"c1\"># Initialize parameters, generator, and discriminator models<\/span>\n    <span class=\"k\">def<\/span> <span class=\"fm\">__init__<\/span><span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"p\">):<\/span>\n        \n        <span class=\"c1\"># Set dimensions of the output image<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">img_rows<\/span> <span class=\"o\">=<\/span> <span class=\"n\">img_dimensions<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">img_cols<\/span> <span class=\"o\">=<\/span> <span class=\"n\">img_dimensions<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">channels<\/span> <span class=\"o\">=<\/span> <span class=\"n\">img_dimensions<\/span><span class=\"p\">[<\/span><span class=\"mi\">2<\/span><span class=\"p\">]<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">img_shape<\/span> <span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">img_rows<\/span><span class=\"p\">,<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">img_cols<\/span><span class=\"p\">,<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">channels<\/span><span class=\"p\">)<\/span>\n        \n        <span class=\"c1\"># Set dimensions of the input noise<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">latent_dim<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">512<\/span>\n        \n        <span class=\"c1\"># Chose optimizer for the models<\/span>\n        <span class=\"n\">optimizer<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Adam<\/span><span class=\"p\">(<\/span><span class=\"mf\">0.0002<\/span><span class=\"p\">,<\/span> <span class=\"mf\">0.5<\/span><span class=\"p\">)<\/span>\n\n        <span class=\"c1\"># Build and compile the discriminator<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">discriminator<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">build_discriminator<\/span><span class=\"p\">()<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">discriminator<\/span><span class=\"o\">.<\/span><span class=\"n\">compile<\/span><span class=\"p\">(<\/span><span class=\"n\">loss<\/span><span class=\"o\">=<\/span><span class=\"s1\">'binary_crossentropy'<\/span><span class=\"p\">,<\/span>\n            <span class=\"n\">optimizer<\/span><span class=\"o\">=<\/span><span class=\"n\">optimizer<\/span><span class=\"p\">,<\/span>\n            <span class=\"n\">metrics<\/span><span class=\"o\">=<\/span><span class=\"p\">[<\/span><span class=\"s1\">'accuracy'<\/span><span class=\"p\">])<\/span>\n\n        <span class=\"c1\"># Build the generator<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">generator<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">build_generator<\/span><span class=\"p\">()<\/span>\n        <span class=\"n\">generator<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">generator<\/span>\n\n        <span class=\"c1\"># The generator takes noise as input and generates imgs<\/span>\n        <span class=\"n\">z<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Input<\/span><span class=\"p\">(<\/span><span class=\"n\">shape<\/span><span class=\"o\">=<\/span><span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">latent_dim<\/span><span class=\"p\">,))<\/span>\n        <span class=\"n\">img<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">generator<\/span><span class=\"p\">(<\/span><span class=\"n\">z<\/span><span class=\"p\">)<\/span>\n\n        <span class=\"c1\"># For the combined model we will only train the generator<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">discriminator<\/span><span class=\"o\">.<\/span><span class=\"n\">trainable<\/span> <span class=\"o\">=<\/span> <span class=\"kc\">False<\/span>\n\n        <span class=\"c1\"># The discriminator takes generated images as input and determines validity<\/span>\n        <span class=\"n\">valid<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">discriminator<\/span><span class=\"p\">(<\/span><span class=\"n\">img<\/span><span class=\"p\">)<\/span>\n\n        <span class=\"c1\"># The combined model  (stacked generator and discriminator)<\/span>\n        <span class=\"c1\"># Trains the generator to fool the discriminator<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">combined<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Model<\/span><span class=\"p\">(<\/span><span class=\"n\">z<\/span><span class=\"p\">,<\/span> <span class=\"n\">valid<\/span><span class=\"p\">)<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">combined<\/span><span class=\"o\">.<\/span><span class=\"n\">compile<\/span><span class=\"p\">(<\/span><span class=\"n\">loss<\/span><span class=\"o\">=<\/span><span class=\"s1\">'binary_crossentropy'<\/span><span class=\"p\">,<\/span> <span class=\"n\">optimizer<\/span><span class=\"o\">=<\/span><span class=\"n\">optimizer<\/span><span class=\"p\">)<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e05c2f3 elementor-widget elementor-widget-text-editor\" data-id=\"e05c2f3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\"><p>DCGAN s\u0131n\u0131f\u0131na ekledi\u011fimiz ilk y\u00f6ntem <strong>load_data()<\/strong> &#8216;d\u0131r. Bu, kullan\u0131c\u0131n\u0131n belirledi\u011fi yol olan <strong>data_path<\/strong> i\u00e7indeki t\u00fcm g\u00f6r\u00fcnt\u00fcleri \u00f6nceden i\u015fleyecektir. Bu y\u00f6ntem, e\u011fitimden \u00f6nce verileri y\u00fcklemek i\u00e7in<strong> train()<\/strong> y\u00f6nteminin i\u00e7inde \u00e7a\u011fr\u0131l\u0131r.<\/p><p>Bu, veri k\u00fcmesinin PCA kullan\u0131larak daha d\u00fc\u015f\u00fck boyutlu bir alana yans\u0131t\u0131ld\u0131\u011f\u0131 yerdir. Sklearn PCA y\u00f6ntemi, aktar\u0131lan verilerin 2 boyutlu olmas\u0131n\u0131 gerektirir, bu nedenle <strong>64x64x3<\/strong> resimleri <strong>12288<\/strong> vekt\u00f6r olacak \u015fekilde s\u0131k\u0131\u015ft\u0131r\u0131yoruz. Ayr\u0131ca verileri 0 ile 1 aras\u0131nda olacak \u015fekilde normalle\u015ftiriyoruz. RGB piksel de\u011ferleri 0 ile 255 aras\u0131nda de\u011fi\u015fir, bu nedenle yeniden \u015fekillendirilmi\u015f vekt\u00f6r\u00fc 255&#8217;e b\u00f6leriz.<\/p><p>Son olarak, iki diziyi d\u00f6nd\u00fcrmeden \u00f6nce <strong>train()<\/strong> veri k\u00fcmelerini kar\u0131\u015ft\u0131r\u0131yoruz. Veri k\u00fcmesindeki modelleri s\u0131ral\u0131 olarak e\u011fitmek i\u00e7in <strong>train()<\/strong> y\u00f6ntemini yazd\u0131m, her yinelemede toplu i\u015f boyutunu art\u0131rd\u0131m. Bu nedenle, veri k\u00fcmesinin s\u0131ral\u0131 olarak s\u0131ralanma \u015fekline ili\u015fkin tuhaf \u00f6nyarg\u0131lar getirmemek i\u00e7in veri k\u00fcmesini kar\u0131\u015ft\u0131rmak \u00f6nemlidir.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c2f06cf elementor-widget elementor-widget-heading\" data-id=\"c2f06cf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Olu\u015fturucu \u0130n\u015fa Etmek<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-58c905e elementor-widget elementor-widget-text-editor\" data-id=\"58c905e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"output_wrapper\"><div class=\"output\"><div class=\"output_area\"><div class=\"prompt output_prompt\"><pre> <span class=\"c1\"># Define Generator model. There are 5 convolutional filters, upsampling from (8x8x8) to (64x64x3)<\/span>\n    <span class=\"k\">def<\/span> <span class=\"nf\">build_generator<\/span><span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"p\">):<\/span>\n\n        <span class=\"n\">model<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Sequential<\/span><span class=\"p\">()<\/span>\n        \n        <span class=\"c1\"># Input Layer<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">Dense<\/span><span class=\"p\">(<\/span><span class=\"mi\">8<\/span> <span class=\"o\">*<\/span> <span class=\"mi\">8<\/span> <span class=\"o\">*<\/span> <span class=\"mi\">8<\/span><span class=\"p\">,<\/span> <span class=\"n\">input_dim<\/span><span class=\"o\">=<\/span><span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">latent_dim<\/span><span class=\"p\">))<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">Reshape<\/span><span class=\"p\">((<\/span><span class=\"mi\">8<\/span><span class=\"p\">,<\/span> <span class=\"mi\">8<\/span><span class=\"p\">,<\/span> <span class=\"mi\">8<\/span><span class=\"p\">)))<\/span>\n        \n        <span class=\"c1\"># 1st Convolutional Layer<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">Conv2D<\/span><span class=\"p\">(<\/span><span class=\"n\">conv_filters<\/span><span class=\"p\">,<\/span> <span class=\"n\">kernel_size<\/span><span class=\"o\">=<\/span><span class=\"n\">kernel<\/span><span class=\"p\">,<\/span> <span class=\"n\">padding<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"same\"<\/span><span class=\"p\">))<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">LeakyReLU<\/span><span class=\"p\">(<\/span><span class=\"n\">alpha<\/span><span class=\"o\">=<\/span><span class=\"mf\">0.2<\/span><span class=\"p\">))<\/span>\n        \n        <span class=\"c1\"># Upsample the data (8x8 to 16x16)<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">UpSampling2D<\/span><span class=\"p\">())<\/span>\n        \n        <span class=\"c1\"># 2nd Convolutional Layer<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">Conv2D<\/span><span class=\"p\">(<\/span><span class=\"n\">conv_filters<\/span><span class=\"p\">,<\/span> <span class=\"n\">kernel_size<\/span><span class=\"o\">=<\/span><span class=\"n\">kernel<\/span><span class=\"p\">,<\/span> <span class=\"n\">padding<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"same\"<\/span><span class=\"p\">))<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">LeakyReLU<\/span><span class=\"p\">(<\/span><span class=\"n\">alpha<\/span><span class=\"o\">=<\/span><span class=\"mf\">0.2<\/span><span class=\"p\">))<\/span>\n        \n        <span class=\"c1\"># Upsample the data (16x16 to 32x32)<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">UpSampling2D<\/span><span class=\"p\">())<\/span>\n\n        <span class=\"c1\"># 3rd Convolutional Layer<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">Conv2D<\/span><span class=\"p\">(<\/span><span class=\"n\">conv_filters<\/span><span class=\"p\">,<\/span> <span class=\"n\">kernel_size<\/span><span class=\"o\">=<\/span><span class=\"n\">kernel<\/span><span class=\"p\">,<\/span> <span class=\"n\">padding<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"same\"<\/span><span class=\"p\">))<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">LeakyReLU<\/span><span class=\"p\">(<\/span><span class=\"n\">alpha<\/span><span class=\"o\">=<\/span><span class=\"mf\">0.2<\/span><span class=\"p\">))<\/span>\n        \n        <span class=\"c1\"># Upsample the data (32x32 to 64x64)<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">UpSampling2D<\/span><span class=\"p\">())<\/span>\n\n        <span class=\"c1\"># 4th Convolutional Layer<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">Conv2D<\/span><span class=\"p\">(<\/span><span class=\"n\">conv_filters<\/span><span class=\"p\">,<\/span> <span class=\"n\">kernel_size<\/span><span class=\"o\">=<\/span><span class=\"n\">kernel<\/span><span class=\"p\">,<\/span> <span class=\"n\">padding<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"same\"<\/span><span class=\"p\">))<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">LeakyReLU<\/span><span class=\"p\">(<\/span><span class=\"n\">alpha<\/span><span class=\"o\">=<\/span><span class=\"mf\">0.2<\/span><span class=\"p\">))<\/span>\n        \n        <span class=\"c1\"># 5th Convolutional Layer (Output Layer)<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">Conv2D<\/span><span class=\"p\">(<\/span><span class=\"mi\">3<\/span><span class=\"p\">,<\/span> <span class=\"n\">kernel_size<\/span><span class=\"o\">=<\/span><span class=\"n\">kernel<\/span><span class=\"p\">,<\/span> <span class=\"n\">padding<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"same\"<\/span><span class=\"p\">))<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">LeakyReLU<\/span><span class=\"p\">(<\/span><span class=\"n\">alpha<\/span><span class=\"o\">=<\/span><span class=\"mf\">0.2<\/span><span class=\"p\">))<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">summary<\/span><span class=\"p\">()<\/span>\n\n        <span class=\"n\">noise<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Input<\/span><span class=\"p\">(<\/span><span class=\"n\">shape<\/span><span class=\"o\">=<\/span><span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">latent_dim<\/span><span class=\"p\">,))<\/span>\n        <span class=\"n\">img<\/span> <span class=\"o\">=<\/span> <span class=\"n\">model<\/span><span class=\"p\">(<\/span><span class=\"n\">noise<\/span><span class=\"p\">)<\/span>\n\n        <span class=\"k\">return<\/span> <span class=\"n\">Model<\/span><span class=\"p\">(<\/span><span class=\"n\">noise<\/span><span class=\"p\">,<\/span> <span class=\"n\">img<\/span><span class=\"p\">)<\/span>\n<\/pre><\/div><\/div><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f756d71 elementor-widget elementor-widget-text-editor\" data-id=\"f756d71\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\"><p>DCGAN s\u0131n\u0131f\u0131na ekledi\u011fimiz ikinci y\u00f6ntem <strong>build_generator()<\/strong>&#8216;d\u0131r. Bu y\u00f6ntem, s\u0131n\u0131f ilk kez ba\u015flat\u0131ld\u0131\u011f\u0131nda \u00e7a\u011fr\u0131l\u0131r. Generator modelinin mimarisi burada tasarlanm\u0131\u015ft\u0131r. Model \u00f6zeti, bu modelde ger\u00e7ekte neler oldu\u011fu konusunda size daha net bir fikir verecektir.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b3b7423 elementor-widget elementor-widget-image\" data-id=\"b3b7423\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"477\" height=\"542\" src=\"https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/11\/1.png\" class=\"attachment-full size-full wp-image-1806\" alt=\"\" srcset=\"https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/11\/1.png 477w, https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/11\/1-264x300.png 264w\" sizes=\"(max-width: 477px) 100vw, 477px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2ad353d elementor-widget elementor-widget-text-editor\" data-id=\"2ad353d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\"><p>Generator modelinin girdisi 512 say\u0131l\u0131k bir vekt\u00f6rd\u00fcr. Vekt\u00f6r daha sonra 8x8x8 tens\u00f6re yeniden \u015fekillendirilir. Bu tens\u00f6r daha sonra 16&#215;16, 32&#215;32 ve son olarak 64&#215;64&#8217;e y\u00fckseltilir. \u00c7\u0131kt\u0131 Evri\u015fimli katman\u0131, RGB g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fcn s\u0131ras\u0131yla K\u0131rm\u0131z\u0131, Ye\u015fil ve Mavi kanallar\u0131n\u0131 temsil eden 3 filtre i\u00e7erir.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-852ac56 elementor-widget elementor-widget-heading\" data-id=\"852ac56\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Ayr\u0131mc\u0131 (Discriminator) Olu\u015fturun<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4bf0a44 elementor-widget elementor-widget-text-editor\" data-id=\"4bf0a44\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"output_wrapper\"><div class=\"output\"><div class=\"output_area\"><div class=\"prompt output_prompt\"><pre>    <span class=\"c1\"># Define Discriminator model. There are 5 convolutional filters, downsampling from (64x64x3) to (1) scalar prediction<\/span>\n    <span class=\"k\">def<\/span> <span class=\"nf\">build_discriminator<\/span><span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"p\">):<\/span>\n\n        <span class=\"n\">model<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Sequential<\/span><span class=\"p\">()<\/span>\n\n        <span class=\"c1\"># Input Layer<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">Conv2D<\/span><span class=\"p\">(<\/span><span class=\"n\">conv_filters<\/span><span class=\"p\">,<\/span> <span class=\"n\">kernel_size<\/span><span class=\"o\">=<\/span><span class=\"n\">kernel<\/span><span class=\"p\">,<\/span> <span class=\"n\">input_shape<\/span><span class=\"o\">=<\/span><span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">img_shape<\/span><span class=\"p\">,<\/span><span class=\"n\">activation<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">\"relu\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">padding<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"same\"<\/span><span class=\"p\">))<\/span>\n        \n        <span class=\"c1\"># Downsample the data (64x64 to 32x32)<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">MaxPooling2D<\/span><span class=\"p\">(<\/span><span class=\"n\">pool_size<\/span><span class=\"o\">=<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">)))<\/span>\n        \n        <span class=\"c1\"># 1st Convolutional Layer<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">Conv2D<\/span><span class=\"p\">(<\/span><span class=\"n\">conv_filters<\/span><span class=\"p\">,<\/span> <span class=\"n\">kernel_size<\/span><span class=\"o\">=<\/span><span class=\"n\">kernel<\/span><span class=\"p\">,<\/span> <span class=\"n\">activation<\/span><span class=\"o\">=<\/span><span class=\"s1\">'relu'<\/span><span class=\"p\">,<\/span> <span class=\"n\">padding<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"same\"<\/span><span class=\"p\">))<\/span>\n        \n        <span class=\"c1\"># Downsample the data (32x32 to 16x16)<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">MaxPooling2D<\/span><span class=\"p\">(<\/span><span class=\"n\">pool_size<\/span><span class=\"o\">=<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">)))<\/span>\n        \n        <span class=\"c1\"># 2nd Convolutional Layer<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">Conv2D<\/span><span class=\"p\">(<\/span><span class=\"n\">conv_filters<\/span><span class=\"p\">,<\/span> <span class=\"n\">kernel_size<\/span><span class=\"o\">=<\/span><span class=\"n\">kernel<\/span><span class=\"p\">,<\/span> <span class=\"n\">activation<\/span><span class=\"o\">=<\/span><span class=\"s1\">'relu'<\/span><span class=\"p\">,<\/span> <span class=\"n\">padding<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"same\"<\/span><span class=\"p\">))<\/span>\n        \n        <span class=\"c1\"># Downsample the data (16x16 to 8x8)<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">MaxPooling2D<\/span><span class=\"p\">(<\/span><span class=\"n\">pool_size<\/span><span class=\"o\">=<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">)))<\/span>\n        \n        <span class=\"c1\"># 3rd Convolutional Layer<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">Conv2D<\/span><span class=\"p\">(<\/span><span class=\"n\">conv_filters<\/span><span class=\"p\">,<\/span> <span class=\"n\">kernel_size<\/span><span class=\"o\">=<\/span><span class=\"n\">kernel<\/span><span class=\"p\">,<\/span> <span class=\"n\">activation<\/span><span class=\"o\">=<\/span><span class=\"s1\">'relu'<\/span><span class=\"p\">,<\/span> <span class=\"n\">padding<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"same\"<\/span><span class=\"p\">))<\/span>\n        \n        <span class=\"c1\"># 4th Convolutional Layer<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">Conv2D<\/span><span class=\"p\">(<\/span><span class=\"n\">conv_filters<\/span><span class=\"p\">,<\/span> <span class=\"n\">kernel_size<\/span><span class=\"o\">=<\/span><span class=\"n\">kernel<\/span><span class=\"p\">,<\/span> <span class=\"n\">activation<\/span><span class=\"o\">=<\/span><span class=\"s1\">'relu'<\/span><span class=\"p\">,<\/span> <span class=\"n\">padding<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"same\"<\/span><span class=\"p\">))<\/span>\n        \n        <span class=\"c1\"># 5th Convolutional Layer<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">Conv2D<\/span><span class=\"p\">(<\/span><span class=\"n\">conv_filters<\/span><span class=\"p\">,<\/span> <span class=\"n\">kernel_size<\/span><span class=\"o\">=<\/span><span class=\"n\">kernel<\/span><span class=\"p\">,<\/span> <span class=\"n\">activation<\/span><span class=\"o\">=<\/span><span class=\"s1\">'relu'<\/span><span class=\"p\">,<\/span> <span class=\"n\">padding<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"same\"<\/span><span class=\"p\">))<\/span>\n        \n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">Flatten<\/span><span class=\"p\">())<\/span>\n        \n        <span class=\"c1\"># Output Layer<\/span>\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">Dense<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"n\">activation<\/span><span class=\"o\">=<\/span><span class=\"s1\">'sigmoid'<\/span><span class=\"p\">))<\/span>\n\n        <span class=\"n\">model<\/span><span class=\"o\">.<\/span><span class=\"n\">summary<\/span><span class=\"p\">()<\/span>\n\n        <span class=\"n\">img<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Input<\/span><span class=\"p\">(<\/span><span class=\"n\">shape<\/span><span class=\"o\">=<\/span><span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">img_shape<\/span><span class=\"p\">)<\/span>\n        <span class=\"n\">validity<\/span> <span class=\"o\">=<\/span> <span class=\"n\">model<\/span><span class=\"p\">(<\/span><span class=\"n\">img<\/span><span class=\"p\">)<\/span>\n\n        <span class=\"k\">return<\/span> <span class=\"n\">Model<\/span><span class=\"p\">(<\/span><span class=\"n\">img<\/span><span class=\"p\">,<\/span> <span class=\"n\">validity<\/span><span class=\"p\">)<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1dc343f elementor-widget elementor-widget-text-editor\" data-id=\"1dc343f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\"><p>DCGAN s\u0131n\u0131f\u0131na ekledi\u011fimiz \u00fc\u00e7\u00fcnc\u00fc y\u00f6ntem <strong>build_discriminator()<\/strong> &#8216;d\u00fcr. Bu y\u00f6ntem, s\u0131n\u0131f ilk kez ba\u015flat\u0131ld\u0131\u011f\u0131nda \u00e7a\u011fr\u0131l\u0131r. Discriminator modelinin mimarisi burada tasarlanm\u0131\u015ft\u0131r. Model \u00f6zeti, bu modelde ger\u00e7ekte neler oldu\u011fu konusunda size daha net bir fikir verecektir.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9453105 elementor-widget elementor-widget-image\" data-id=\"9453105\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"473\" height=\"424\" src=\"https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/11\/2.png\" class=\"attachment-full size-full wp-image-1807\" alt=\"\" srcset=\"https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/11\/2.png 473w, https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/11\/2-300x269.png 300w\" sizes=\"(max-width: 473px) 100vw, 473px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7812dcd elementor-widget elementor-widget-text-editor\" data-id=\"7812dcd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\"><p>Discriminator modelinin girdisi 64x64x3 tens\u00f6rd\u00fcr. Tens\u00f6r daha sonra 32&#215;32, 16&#215;16 ve 8&#215;8&#8217;e alt \u00f6rneklenir. Bu 8&#215;8 tens\u00f6r daha sonra d\u00fczle\u015ftirilir ve \u00e7\u0131kt\u0131 katman\u0131na aktar\u0131l\u0131r. Son yo\u011fun katman, ay\u0131r\u0131c\u0131 modelin tahminini temsil eden tek bir skaler say\u0131 verir. Bu tahmin, giri\u015f g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fcn &#8220;ger\u00e7ek&#8221; olup olmad\u0131\u011f\u0131n\u0131 belirlemede modelin g\u00fcvenini temsil eder. 1 tahmini, modelin g\u00f6r\u00fcnt\u00fcn\u00fcn orijinal veri k\u00fcmesinden geldi\u011fini d\u00fc\u015f\u00fcnd\u00fc\u011f\u00fc anlam\u0131na gelir. 0 tahmini, modelin g\u00f6r\u00fcnt\u00fcn\u00fcn Generator modeli taraf\u0131ndan olu\u015fturuldu\u011funu d\u00fc\u015f\u00fcnd\u00fc\u011f\u00fc anlam\u0131na gelir.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-50458d8 elementor-widget elementor-widget-heading\" data-id=\"50458d8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">E\u011fitmek<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3e09097 elementor-widget elementor-widget-text-editor\" data-id=\"3e09097\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"output_wrapper\"><div class=\"output\"><div class=\"output_area\"><div class=\"prompt output_prompt\"><pre> <span class=\"c1\"># Train the Generative Adversarial Network<\/span>\n    <span class=\"k\">def<\/span> <span class=\"nf\">train<\/span><span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"p\">,<\/span> <span class=\"n\">epochs<\/span><span class=\"p\">,<\/span> <span class=\"n\">batch_size<\/span><span class=\"p\">,<\/span> <span class=\"n\">save_interval<\/span><span class=\"p\">):<\/span>\n        \n        <span class=\"c1\"># Prevent script from crashing from bad user input<\/span>\n        <span class=\"k\">if<\/span><span class=\"p\">(<\/span><span class=\"n\">epochs<\/span> <span class=\"o\">&lt;=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">):<\/span>\n            <span class=\"n\">epochs<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">1<\/span>\n        \n        <span class=\"k\">if<\/span><span class=\"p\">(<\/span><span class=\"n\">batch_size<\/span> <span class=\"o\">&lt;=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">):<\/span>\n            <span class=\"n\">batch_size<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">1<\/span>\n\n        <span class=\"c1\"># Load the dataset<\/span>\n        <span class=\"n\">X_train<\/span><span class=\"p\">,<\/span> <span class=\"n\">Y_train<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">load_data<\/span><span class=\"p\">()<\/span>\n        \n        <span class=\"c1\"># Normalizing data to be between 0 and 1<\/span>\n        <span class=\"n\">Y_train<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Y_train<\/span><span class=\"o\">\/<\/span><span class=\"mi\">255<\/span>\n\n        <span class=\"c1\"># Adversarial ground truths<\/span>\n        <span class=\"n\">valid<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">ones<\/span><span class=\"p\">((<\/span><span class=\"n\">batch_size<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1<\/span><span class=\"p\">))<\/span>\n        <span class=\"n\">fake<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">zeros<\/span><span class=\"p\">((<\/span><span class=\"n\">batch_size<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1<\/span><span class=\"p\">))<\/span>\n        \n        <span class=\"c1\"># Placeholder arrays for Loss function values<\/span>\n        <span class=\"n\">g_loss_epochs<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">zeros<\/span><span class=\"p\">((<\/span><span class=\"n\">epochs<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1<\/span><span class=\"p\">))<\/span>\n        <span class=\"n\">d_loss_epochs<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">zeros<\/span><span class=\"p\">((<\/span><span class=\"n\">epochs<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1<\/span><span class=\"p\">))<\/span>\n        \n        <span class=\"c1\"># Training the GAN<\/span>\n        <span class=\"k\">for<\/span> <span class=\"n\">epoch<\/span> <span class=\"ow\">in<\/span> <span class=\"nb\">range<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"n\">epochs<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span><span class=\"p\">):<\/span>\n            \n            <span class=\"c1\"># Initialize indexes for training data<\/span>\n            <span class=\"n\">start<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span>\n            <span class=\"n\">end<\/span> <span class=\"o\">=<\/span> <span class=\"n\">start<\/span> <span class=\"o\">+<\/span> <span class=\"n\">batch_size<\/span>\n            \n            <span class=\"c1\"># Array to sum up all loss function values<\/span>\n            <span class=\"n\">discriminator_loss_real<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[]<\/span>\n            <span class=\"n\">discriminator_loss_fake<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[]<\/span>\n            <span class=\"n\">generator_loss<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[]<\/span>\n            \n            <span class=\"c1\"># Iterate through dataset training one batch at a time<\/span>\n            <span class=\"k\">for<\/span> <span class=\"n\">i<\/span> <span class=\"ow\">in<\/span> <span class=\"nb\">range<\/span><span class=\"p\">(<\/span><span class=\"nb\">int<\/span><span class=\"p\">(<\/span><span class=\"nb\">len<\/span><span class=\"p\">(<\/span><span class=\"n\">X_train<\/span><span class=\"p\">)<\/span><span class=\"o\">\/<\/span><span class=\"n\">batch_size<\/span><span class=\"p\">)):<\/span>\n                \n                <span class=\"c1\"># Get batch of images<\/span>\n                <span class=\"n\">imgs<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Y_train<\/span><span class=\"p\">[<\/span><span class=\"n\">start<\/span><span class=\"p\">:<\/span><span class=\"n\">end<\/span><span class=\"p\">]<\/span>\n                <span class=\"n\">noise<\/span> <span class=\"o\">=<\/span> <span class=\"n\">X_train<\/span><span class=\"p\">[<\/span><span class=\"n\">start<\/span><span class=\"p\">:<\/span><span class=\"n\">end<\/span><span class=\"p\">]<\/span>\n\n                <span class=\"c1\"># ---------------------<\/span>\n                <span class=\"c1\">#  Train Discriminator<\/span>\n                <span class=\"c1\"># ---------------------<\/span>\n\n                <span class=\"c1\"># Make predictions on current batch using generator<\/span>\n                <span class=\"n\">gen_imgs<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">generator<\/span><span class=\"o\">.<\/span><span class=\"n\">predict<\/span><span class=\"p\">(<\/span><span class=\"n\">noise<\/span><span class=\"p\">)<\/span>\n\n                <span class=\"c1\"># Train the discriminator (real classified as ones and generated as zero)<\/span>\n                <span class=\"n\">d_loss_real<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">discriminator<\/span><span class=\"o\">.<\/span><span class=\"n\">train_on_batch<\/span><span class=\"p\">(<\/span><span class=\"n\">imgs<\/span><span class=\"p\">,<\/span> <span class=\"n\">valid<\/span><span class=\"p\">)<\/span>\n                <span class=\"n\">d_loss_fake<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">discriminator<\/span><span class=\"o\">.<\/span><span class=\"n\">train_on_batch<\/span><span class=\"p\">(<\/span><span class=\"n\">gen_imgs<\/span><span class=\"p\">,<\/span> <span class=\"n\">fake<\/span><span class=\"p\">)<\/span>\n                <span class=\"n\">d_loss<\/span> <span class=\"o\">=<\/span> <span class=\"mf\">0.5<\/span> <span class=\"o\">*<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">d_loss_real<\/span><span class=\"p\">,<\/span> <span class=\"n\">d_loss_fake<\/span><span class=\"p\">)<\/span>\n\n                <span class=\"c1\"># ---------------------<\/span>\n                <span class=\"c1\">#  Train Generator<\/span>\n                <span class=\"c1\"># ---------------------<\/span>\n\n                <span class=\"c1\"># Train the generator (wants discriminator to mistake images as real)<\/span>\n                <span class=\"n\">g_loss<\/span> <span class=\"o\">=<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">combined<\/span><span class=\"o\">.<\/span><span class=\"n\">train_on_batch<\/span><span class=\"p\">(<\/span><span class=\"n\">noise<\/span><span class=\"p\">,<\/span> <span class=\"n\">valid<\/span><span class=\"p\">)<\/span>\n                \n                <span class=\"c1\"># Add loss for current batch to sum over entire epoch<\/span>\n                <span class=\"n\">discriminator_loss_real<\/span><span class=\"o\">.<\/span><span class=\"n\">append<\/span><span class=\"p\">(<\/span><span class=\"n\">d_loss<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">])<\/span>\n                <span class=\"n\">discriminator_loss_fake<\/span><span class=\"o\">.<\/span><span class=\"n\">append<\/span><span class=\"p\">(<\/span><span class=\"n\">d_loss<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">])<\/span>\n                <span class=\"n\">generator_loss<\/span><span class=\"o\">.<\/span><span class=\"n\">append<\/span><span class=\"p\">(<\/span><span class=\"n\">g_loss<\/span><span class=\"p\">)<\/span>\n                \n                <span class=\"c1\"># Increment image indexes<\/span>\n                <span class=\"n\">start<\/span> <span class=\"o\">=<\/span> <span class=\"n\">start<\/span> <span class=\"o\">+<\/span> <span class=\"n\">batch_size<\/span>\n                <span class=\"n\">end<\/span> <span class=\"o\">=<\/span> <span class=\"n\">end<\/span> <span class=\"o\">+<\/span> <span class=\"n\">batch_size<\/span>\n             \n            \n            <span class=\"c1\"># Get average loss over the entire epoch<\/span>\n            <span class=\"n\">loss_data<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">average<\/span><span class=\"p\">(<\/span><span class=\"n\">discriminator_loss_real<\/span><span class=\"p\">),<\/span><span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">average<\/span><span class=\"p\">(<\/span><span class=\"n\">discriminator_loss_fake<\/span><span class=\"p\">),<\/span><span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">average<\/span><span class=\"p\">(<\/span><span class=\"n\">generator_loss<\/span><span class=\"p\">)]<\/span>\n            \n            <span class=\"c1\">#save loss history<\/span>\n            <span class=\"n\">g_loss_epochs<\/span><span class=\"p\">[<\/span><span class=\"n\">epoch<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">1<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"n\">loss_data<\/span><span class=\"p\">[<\/span><span class=\"mi\">2<\/span><span class=\"p\">]<\/span>\n            \n            <span class=\"c1\"># Average loss of real data classification and fake data accuracy<\/span>\n            <span class=\"n\">d_loss_epochs<\/span><span class=\"p\">[<\/span><span class=\"n\">epoch<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">1<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"n\">loss_data<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span> <span class=\"o\">+<\/span> <span class=\"p\">(<\/span><span class=\"mi\">1<\/span> <span class=\"o\">-<\/span> <span class=\"n\">loss_data<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]))<\/span> <span class=\"o\">\/<\/span> <span class=\"mi\">2<\/span>\n                \n            <span class=\"c1\"># Print average loss over current epoch<\/span>\n            <span class=\"nb\">print<\/span> <span class=\"p\">(<\/span><span class=\"s2\">\"<\/span><span class=\"si\">%d<\/span><span class=\"s2\"> [D loss: <\/span><span class=\"si\">%f<\/span><span class=\"s2\">, acc.: <\/span><span class=\"si\">%.2f%%<\/span><span class=\"s2\">] [G loss: <\/span><span class=\"si\">%f<\/span><span class=\"s2\">]\"<\/span> <span class=\"o\">%<\/span> <span class=\"p\">(<\/span><span class=\"n\">epoch<\/span><span class=\"p\">,<\/span> <span class=\"n\">loss_data<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">],<\/span> <span class=\"n\">loss_data<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span><span class=\"o\">*<\/span><span class=\"mi\">100<\/span><span class=\"p\">,<\/span> <span class=\"n\">loss_data<\/span><span class=\"p\">[<\/span><span class=\"mi\">2<\/span><span class=\"p\">]))<\/span>\n\n            <span class=\"c1\"># If epoch is at intervale, save model and generate image samples<\/span>\n            <span class=\"k\">if<\/span> <span class=\"n\">epoch<\/span> <span class=\"o\">%<\/span> <span class=\"n\">save_interval<\/span> <span class=\"o\">==<\/span> <span class=\"mi\">0<\/span><span class=\"p\">:<\/span>\n                \n                <span class=\"c1\"># Select 8 random indexes<\/span>\n                <span class=\"n\">idx<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">random<\/span><span class=\"o\">.<\/span><span class=\"n\">randint<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"n\">X_train<\/span><span class=\"o\">.<\/span><span class=\"n\">shape<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">],<\/span> <span class=\"mi\">8<\/span><span class=\"p\">)<\/span>\n                <span class=\"c1\"># Get batch of generated images and training images<\/span>\n                <span class=\"n\">x_points<\/span> <span class=\"o\">=<\/span> <span class=\"n\">X_train<\/span><span class=\"p\">[<\/span><span class=\"n\">idx<\/span><span class=\"p\">]<\/span>\n                <span class=\"n\">y_points<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Y_train<\/span><span class=\"p\">[<\/span><span class=\"n\">idx<\/span><span class=\"p\">]<\/span>\n                \n                <span class=\"c1\"># Plot the predictions next to the training imgaes<\/span>\n                <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">save_imgs<\/span><span class=\"p\">(<\/span><span class=\"n\">epoch<\/span><span class=\"p\">,<\/span> <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">generator<\/span><span class=\"o\">.<\/span><span class=\"n\">predict<\/span><span class=\"p\">(<\/span><span class=\"n\">x_points<\/span><span class=\"p\">),<\/span> <span class=\"n\">y_points<\/span><span class=\"p\">)<\/span>\n                \n        <span class=\"k\">return<\/span> <span class=\"n\">g_loss_epochs<\/span><span class=\"p\">,<\/span> <span class=\"n\">d_loss_epochs<\/span>\n    \n    <span class=\"c1\"># Save the model and generate prediction samples for a given epoch<\/span>\n    <span class=\"k\">def<\/span> <span class=\"nf\">save_imgs<\/span><span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"p\">,<\/span> <span class=\"n\">epoch<\/span><span class=\"p\">,<\/span> <span class=\"n\">gen_imgs<\/span><span class=\"p\">,<\/span> <span class=\"n\">y_points<\/span><span class=\"p\">):<\/span>\n        \n        <span class=\"c1\"># Define number of columns and rows<\/span>\n        <span class=\"n\">r<\/span><span class=\"p\">,<\/span> <span class=\"n\">c<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">4<\/span>\n        \n        <span class=\"c1\"># Placeholder array for MatPlotLib Figure Subplots<\/span>\n        <span class=\"n\">subplots<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[]<\/span>\n        \n        <span class=\"c1\"># Unnormalize data to be between 0 and 255 for RGB image<\/span>\n        <span class=\"n\">gen_imgs<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">(<\/span><span class=\"n\">gen_imgs<\/span><span class=\"p\">)<\/span> <span class=\"o\">*<\/span> <span class=\"mi\">255<\/span>\n        <span class=\"n\">gen_imgs<\/span> <span class=\"o\">=<\/span> <span class=\"n\">gen_imgs<\/span><span class=\"o\">.<\/span><span class=\"n\">astype<\/span><span class=\"p\">(<\/span><span class=\"nb\">int<\/span><span class=\"p\">)<\/span>\n        <span class=\"n\">y_points<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">(<\/span><span class=\"n\">y_points<\/span><span class=\"p\">)<\/span> <span class=\"o\">*<\/span> <span class=\"mi\">255<\/span>\n        <span class=\"n\">y_points<\/span> <span class=\"o\">=<\/span> <span class=\"n\">y_points<\/span><span class=\"o\">.<\/span><span class=\"n\">astype<\/span><span class=\"p\">(<\/span><span class=\"nb\">int<\/span><span class=\"p\">)<\/span>\n        \n        <span class=\"c1\"># Create figure with title<\/span>\n        <span class=\"n\">fig<\/span> <span class=\"o\">=<\/span> <span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">figure<\/span><span class=\"p\">(<\/span><span class=\"n\">figsize<\/span><span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"mi\">40<\/span><span class=\"p\">,<\/span> <span class=\"mi\">40<\/span><span class=\"p\">))<\/span>\n        <span class=\"n\">fig<\/span><span class=\"o\">.<\/span><span class=\"n\">suptitle<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"Epoch: \"<\/span> <span class=\"o\">+<\/span> <span class=\"nb\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">epoch<\/span><span class=\"p\">),<\/span> <span class=\"n\">fontsize<\/span><span class=\"o\">=<\/span><span class=\"mi\">65<\/span><span class=\"p\">)<\/span>\n        \n        <span class=\"c1\"># Initialize counters needed to track indexes across multiple arrays<\/span>\n        <span class=\"n\">img_count<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span>\n        <span class=\"n\">index_count<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span>\n        <span class=\"n\">y_count<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span>\n        \n        <span class=\"c1\"># Loop through columns and rows of the figure<\/span>\n        <span class=\"k\">for<\/span> <span class=\"n\">i<\/span> <span class=\"ow\">in<\/span> <span class=\"nb\">range<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"n\">c<\/span><span class=\"o\">+<\/span><span class=\"mi\">1<\/span><span class=\"p\">):<\/span>\n            <span class=\"k\">for<\/span> <span class=\"n\">j<\/span> <span class=\"ow\">in<\/span> <span class=\"nb\">range<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"n\">r<\/span><span class=\"o\">+<\/span><span class=\"mi\">1<\/span><span class=\"p\">):<\/span>\n                <span class=\"c1\"># If row is even, plot the predictions<\/span>\n                <span class=\"k\">if<\/span><span class=\"p\">(<\/span><span class=\"n\">j<\/span> <span class=\"o\">%<\/span> <span class=\"mi\">2<\/span> <span class=\"o\">==<\/span> <span class=\"mi\">0<\/span><span class=\"p\">):<\/span>\n                    <span class=\"n\">img<\/span> <span class=\"o\">=<\/span> <span class=\"n\">gen_imgs<\/span><span class=\"p\">[<\/span><span class=\"n\">index_count<\/span><span class=\"p\">]<\/span>\n                    <span class=\"n\">index_count<\/span> <span class=\"o\">=<\/span> <span class=\"n\">index_count<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span>\n                <span class=\"c1\"># If row is odd, plot the training image<\/span>\n                <span class=\"k\">else<\/span><span class=\"p\">:<\/span>\n                    <span class=\"n\">img<\/span> <span class=\"o\">=<\/span> <span class=\"n\">y_points<\/span><span class=\"p\">[<\/span><span class=\"n\">y_count<\/span><span class=\"p\">]<\/span>\n                    <span class=\"n\">y_count<\/span> <span class=\"o\">=<\/span> <span class=\"n\">y_count<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span>\n                <span class=\"c1\"># Add image to figure, add subplot to array<\/span>\n                <span class=\"n\">subplots<\/span><span class=\"o\">.<\/span><span class=\"n\">append<\/span><span class=\"p\">(<\/span><span class=\"n\">fig<\/span><span class=\"o\">.<\/span><span class=\"n\">add_subplot<\/span><span class=\"p\">(<\/span><span class=\"n\">r<\/span><span class=\"p\">,<\/span> <span class=\"n\">c<\/span><span class=\"p\">,<\/span> <span class=\"n\">img_count<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span><span class=\"p\">))<\/span>\n                <span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">imshow<\/span><span class=\"p\">(<\/span><span class=\"n\">img<\/span><span class=\"p\">)<\/span>\n                <span class=\"n\">img_count<\/span> <span class=\"o\">=<\/span> <span class=\"n\">img_count<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span>\n        \n        <span class=\"c1\"># Add title to columns of figure<\/span>\n        <span class=\"n\">subplots<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">set_title<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"Training\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">fontsize<\/span><span class=\"o\">=<\/span><span class=\"mi\">45<\/span><span class=\"p\">)<\/span>\n        <span class=\"n\">subplots<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">set_title<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"Predicted\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">fontsize<\/span><span class=\"o\">=<\/span><span class=\"mi\">45<\/span><span class=\"p\">)<\/span>\n        <span class=\"n\">subplots<\/span><span class=\"p\">[<\/span><span class=\"mi\">2<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">set_title<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"Training\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">fontsize<\/span><span class=\"o\">=<\/span><span class=\"mi\">45<\/span><span class=\"p\">)<\/span>\n        <span class=\"n\">subplots<\/span><span class=\"p\">[<\/span><span class=\"mi\">3<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">set_title<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"Predicted\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">fontsize<\/span><span class=\"o\">=<\/span><span class=\"mi\">45<\/span><span class=\"p\">)<\/span>\n                \n        <span class=\"c1\"># Save figure to .png image in specified folder<\/span>\n        <span class=\"n\">fig<\/span><span class=\"o\">.<\/span><span class=\"n\">savefig<\/span><span class=\"p\">(<\/span><span class=\"n\">model_path<\/span> <span class=\"o\">+<\/span> <span class=\"s2\">\"<\/span><span class=\"se\">\\\\<\/span><span class=\"s2\">epoch_<\/span><span class=\"si\">%d<\/span><span class=\"s2\">.png\"<\/span> <span class=\"o\">%<\/span> <span class=\"n\">epoch<\/span><span class=\"p\">)<\/span>\n        <span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">close<\/span><span class=\"p\">()<\/span>\n        \n        <span class=\"c1\"># save model to .h5 file in specified folder<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">generator<\/span><span class=\"o\">.<\/span><span class=\"n\">save<\/span><span class=\"p\">(<\/span><span class=\"n\">model_path<\/span> <span class=\"o\">+<\/span> <span class=\"s2\">\"<\/span><span class=\"se\">\\\\<\/span><span class=\"s2\">generator\"<\/span> <span class=\"o\">+<\/span> <span class=\"nb\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">epoch<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> <span class=\"s2\">\".h5\"<\/span><span class=\"p\">)<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1755ff0 elementor-widget elementor-widget-text-editor\" data-id=\"1755ff0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\"><p>DCGAN s\u0131n\u0131f\u0131na ekledi\u011fimiz d\u00f6rd\u00fcnc\u00fc y\u00f6ntem <strong>train()<\/strong>. Bu y\u00f6ntem, a\u011f\u0131 toplu i\u015f boyutu taraf\u0131ndan belirtilen art\u0131\u015flarla belirtilen say\u0131da d\u00f6nem i\u00e7in e\u011fitecektir. E\u011fitim tamamland\u0131\u011f\u0131nda, y\u00f6ntem her d\u00f6nem boyunca her iki modelin kay\u0131p de\u011ferlerini temsil eden iki dizi d\u00f6nd\u00fcrecektir. Kay\u0131p de\u011ferleri Matplotlib kullan\u0131larak \u00e7izilebilir.<\/p><p>Kay\u0131p de\u011ferlerini takip etmeli ve \u00e7\u00f6kmeye ba\u015flarsa a\u011f\u0131 e\u011fitmeyi b\u0131rakmal\u0131s\u0131n\u0131z. Modellerden biri 0 kayb\u0131na yakla\u015f\u0131rsa a\u011f \u00e7\u00f6ker.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-14bc6dd elementor-widget elementor-widget-image\" data-id=\"14bc6dd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"435\" height=\"94\" src=\"https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/11\/3.png\" class=\"attachment-full size-full wp-image-1811\" alt=\"\" srcset=\"https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/11\/3.png 435w, https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/11\/3-300x65.png 300w\" sizes=\"(max-width: 435px) 100vw, 435px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e31c99f elementor-widget elementor-widget-text-editor\" data-id=\"e31c99f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\"><p>Generator 0 kayb\u0131na yakla\u015f\u0131rsa, bu, Generator&#8217;un her seferinde ay\u0131r\u0131c\u0131y\u0131 kand\u0131racak bir g\u00f6r\u00fcnt\u00fcy\u00fc nas\u0131l olu\u015fturaca\u011f\u0131n\u0131 buldu\u011fu anlam\u0131na gelir. Bu genellikle Generator&#8217;\u00fcn <a href=\"https:\/\/developers.google.com\/machine-learning\/gan\/problems#mode-collapse\" target=\"_blank\" rel=\"noopener\">mod \u00e7\u00f6kmesi<\/a> olarak da bilinen tek bir g\u00f6r\u00fcnt\u00fc t\u00fcr\u00fc \u00fcretmesine neden olur.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8b38b32 elementor-widget elementor-widget-text-editor\" data-id=\"8b38b32\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\"><p>Discriminator, 0 kayb\u0131na yakla\u015f\u0131rsa, bu, Discriminator&#8217;\u0131n e\u011fitim verileri ile olu\u015fturulan g\u00f6r\u00fcnt\u00fcleri \u00e7ok do\u011fru bir \u015fekilde nas\u0131l ay\u0131rt edece\u011fini buldu\u011fu anlam\u0131na gelir. Bu, Generator&#8217;\u00fcn, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Vanishing_gradient_problem\" target=\"_blank\" rel=\"noopener\">kaybolan gradyan problemi<\/a> olarak da bilinen, ay\u0131r\u0131c\u0131dan \u00f6\u011frenmeye devam edememesine neden olacakt\u0131r.<\/p><p>A\u011f\u0131m\u0131z \u00e7\u00f6kt\u00fc\u011f\u00fcnde ilerlememizi kaybetmemek i\u00e7in, modeli her birka\u00e7 d\u00f6nemde bir kaydedece\u011fiz. Kullan\u0131c\u0131 tan\u0131ml\u0131 parametre olan <strong>interval<\/strong>, modelin ne s\u0131kl\u0131kla kaydedilece\u011fini belirleyecektir. Ge\u00e7erli d\u00f6nem tan\u0131mlanan aral\u0131\u011fa her geldi\u011finde, <strong>save_imgs()<\/strong> \u00e7a\u011fr\u0131l\u0131r. Y\u00f6ntem, modelin o d\u00f6nemde ne kadar iyi oldu\u011funa dair bir anl\u0131k g\u00f6r\u00fcnt\u00fc elde etmek i\u00e7in tahmin edilen baz\u0131 \u00f6rneklerin bir g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc kaydedecektir.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7c36cdb elementor-widget elementor-widget-heading\" data-id=\"7c36cdb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">G\u00f6r\u00fcnt\u00fcleri Kaydedin<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e6a034e elementor-widget elementor-widget-text-editor\" data-id=\"e6a034e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"output_wrapper\"><div class=\"output\"><div class=\"output_area\"><div class=\"prompt output_prompt\"><pre>    <span class=\"c1\"># Save the model and generate prediction samples for a given epoch<\/span>\n    <span class=\"k\">def<\/span> <span class=\"nf\">save_imgs<\/span><span class=\"p\">(<\/span><span class=\"bp\">self<\/span><span class=\"p\">,<\/span> <span class=\"n\">epoch<\/span><span class=\"p\">,<\/span> <span class=\"n\">gen_imgs<\/span><span class=\"p\">,<\/span> <span class=\"n\">y_points<\/span><span class=\"p\">):<\/span>\n        \n        <span class=\"c1\"># Define number of columns and rows<\/span>\n        <span class=\"n\">r<\/span><span class=\"p\">,<\/span> <span class=\"n\">c<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">4<\/span><span class=\"p\">,<\/span> <span class=\"mi\">4<\/span>\n        \n        <span class=\"c1\"># Placeholder array for MatPlotLib Figure Subplots<\/span>\n        <span class=\"n\">subplots<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[]<\/span>\n        \n        <span class=\"c1\"># Unnormalize data to be between 0 and 255 for RGB image<\/span>\n        <span class=\"n\">gen_imgs<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">(<\/span><span class=\"n\">gen_imgs<\/span><span class=\"p\">)<\/span> <span class=\"o\">*<\/span> <span class=\"mi\">255<\/span>\n        <span class=\"n\">gen_imgs<\/span> <span class=\"o\">=<\/span> <span class=\"n\">gen_imgs<\/span><span class=\"o\">.<\/span><span class=\"n\">astype<\/span><span class=\"p\">(<\/span><span class=\"nb\">int<\/span><span class=\"p\">)<\/span>\n        <span class=\"n\">y_points<\/span> <span class=\"o\">=<\/span> <span class=\"n\">np<\/span><span class=\"o\">.<\/span><span class=\"n\">array<\/span><span class=\"p\">(<\/span><span class=\"n\">y_points<\/span><span class=\"p\">)<\/span> <span class=\"o\">*<\/span> <span class=\"mi\">255<\/span>\n        <span class=\"n\">y_points<\/span> <span class=\"o\">=<\/span> <span class=\"n\">y_points<\/span><span class=\"o\">.<\/span><span class=\"n\">astype<\/span><span class=\"p\">(<\/span><span class=\"nb\">int<\/span><span class=\"p\">)<\/span>\n        \n        <span class=\"c1\"># Create figure with title<\/span>\n        <span class=\"n\">fig<\/span> <span class=\"o\">=<\/span> <span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">figure<\/span><span class=\"p\">(<\/span><span class=\"n\">figsize<\/span><span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"mi\">40<\/span><span class=\"p\">,<\/span> <span class=\"mi\">40<\/span><span class=\"p\">))<\/span>\n        <span class=\"n\">fig<\/span><span class=\"o\">.<\/span><span class=\"n\">suptitle<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"Epoch: \"<\/span> <span class=\"o\">+<\/span> <span class=\"nb\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">epoch<\/span><span class=\"p\">),<\/span> <span class=\"n\">fontsize<\/span><span class=\"o\">=<\/span><span class=\"mi\">65<\/span><span class=\"p\">)<\/span>\n        \n        <span class=\"c1\"># Initialize counters needed to track indexes across multiple arrays<\/span>\n        <span class=\"n\">img_count<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span>\n        <span class=\"n\">index_count<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span>\n        <span class=\"n\">y_count<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span>\n        \n        <span class=\"c1\"># Loop through columns and rows of the figure<\/span>\n        <span class=\"k\">for<\/span> <span class=\"n\">i<\/span> <span class=\"ow\">in<\/span> <span class=\"nb\">range<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"n\">c<\/span><span class=\"o\">+<\/span><span class=\"mi\">1<\/span><span class=\"p\">):<\/span>\n            <span class=\"k\">for<\/span> <span class=\"n\">j<\/span> <span class=\"ow\">in<\/span> <span class=\"nb\">range<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"n\">r<\/span><span class=\"o\">+<\/span><span class=\"mi\">1<\/span><span class=\"p\">):<\/span>\n                <span class=\"c1\"># If row is even, plot the predictions<\/span>\n                <span class=\"k\">if<\/span><span class=\"p\">(<\/span><span class=\"n\">j<\/span> <span class=\"o\">%<\/span> <span class=\"mi\">2<\/span> <span class=\"o\">==<\/span> <span class=\"mi\">0<\/span><span class=\"p\">):<\/span>\n                    <span class=\"n\">img<\/span> <span class=\"o\">=<\/span> <span class=\"n\">gen_imgs<\/span><span class=\"p\">[<\/span><span class=\"n\">index_count<\/span><span class=\"p\">]<\/span>\n                    <span class=\"n\">index_count<\/span> <span class=\"o\">=<\/span> <span class=\"n\">index_count<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span>\n                <span class=\"c1\"># If row is odd, plot the training image<\/span>\n                <span class=\"k\">else<\/span><span class=\"p\">:<\/span>\n                    <span class=\"n\">img<\/span> <span class=\"o\">=<\/span> <span class=\"n\">y_points<\/span><span class=\"p\">[<\/span><span class=\"n\">y_count<\/span><span class=\"p\">]<\/span>\n                    <span class=\"n\">y_count<\/span> <span class=\"o\">=<\/span> <span class=\"n\">y_count<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span>\n                <span class=\"c1\"># Add image to figure, add subplot to array<\/span>\n                <span class=\"n\">subplots<\/span><span class=\"o\">.<\/span><span class=\"n\">append<\/span><span class=\"p\">(<\/span><span class=\"n\">fig<\/span><span class=\"o\">.<\/span><span class=\"n\">add_subplot<\/span><span class=\"p\">(<\/span><span class=\"n\">r<\/span><span class=\"p\">,<\/span> <span class=\"n\">c<\/span><span class=\"p\">,<\/span> <span class=\"n\">img_count<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span><span class=\"p\">))<\/span>\n                <span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">imshow<\/span><span class=\"p\">(<\/span><span class=\"n\">img<\/span><span class=\"p\">)<\/span>\n                <span class=\"n\">img_count<\/span> <span class=\"o\">=<\/span> <span class=\"n\">img_count<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span>\n        \n        <span class=\"c1\"># Add title to columns of figure<\/span>\n        <span class=\"n\">subplots<\/span><span class=\"p\">[<\/span><span class=\"mi\">0<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">set_title<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"Training\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">fontsize<\/span><span class=\"o\">=<\/span><span class=\"mi\">45<\/span><span class=\"p\">)<\/span>\n        <span class=\"n\">subplots<\/span><span class=\"p\">[<\/span><span class=\"mi\">1<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">set_title<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"Predicted\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">fontsize<\/span><span class=\"o\">=<\/span><span class=\"mi\">45<\/span><span class=\"p\">)<\/span>\n        <span class=\"n\">subplots<\/span><span class=\"p\">[<\/span><span class=\"mi\">2<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">set_title<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"Training\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">fontsize<\/span><span class=\"o\">=<\/span><span class=\"mi\">45<\/span><span class=\"p\">)<\/span>\n        <span class=\"n\">subplots<\/span><span class=\"p\">[<\/span><span class=\"mi\">3<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">set_title<\/span><span class=\"p\">(<\/span><span class=\"s2\">\"Predicted\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">fontsize<\/span><span class=\"o\">=<\/span><span class=\"mi\">45<\/span><span class=\"p\">)<\/span>\n                \n        <span class=\"c1\"># Save figure to .png image in specified folder<\/span>\n        <span class=\"n\">fig<\/span><span class=\"o\">.<\/span><span class=\"n\">savefig<\/span><span class=\"p\">(<\/span><span class=\"n\">model_path<\/span> <span class=\"o\">+<\/span> <span class=\"s2\">\"<\/span><span class=\"se\">\\\\<\/span><span class=\"s2\">epoch_<\/span><span class=\"si\">%d<\/span><span class=\"s2\">.png\"<\/span> <span class=\"o\">%<\/span> <span class=\"n\">epoch<\/span><span class=\"p\">)<\/span>\n        <span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">close<\/span><span class=\"p\">()<\/span>\n        \n        <span class=\"c1\"># save model to .h5 file in specified folder<\/span>\n        <span class=\"bp\">self<\/span><span class=\"o\">.<\/span><span class=\"n\">generator<\/span><span class=\"o\">.<\/span><span class=\"n\">save<\/span><span class=\"p\">(<\/span><span class=\"n\">model_path<\/span> <span class=\"o\">+<\/span> <span class=\"s2\">\"<\/span><span class=\"se\">\\\\<\/span><span class=\"s2\">generator\"<\/span> <span class=\"o\">+<\/span> <span class=\"nb\">str<\/span><span class=\"p\">(<\/span><span class=\"n\">epoch<\/span><span class=\"p\">)<\/span> <span class=\"o\">+<\/span> <span class=\"s2\">\".h5\"<\/span><span class=\"p\">)<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-549e9b8 elementor-widget elementor-widget-text-editor\" data-id=\"549e9b8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\"><p>DCGAN s\u0131n\u0131f\u0131na ekledi\u011fimiz be\u015finci ve son y\u00f6ntem, <strong>save_imgs()<\/strong> y\u00f6ntemidir. Bu y\u00f6ntem, modeli mevcut \u00e7a\u011fda kaydedecek ve tahmin edilen de\u011ferlerin yan\u0131 s\u0131ra 8 e\u011fitim g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc \u00e7izecektir.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8d3bc1e elementor-widget elementor-widget-html\" data-id=\"8d3bc1e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<center><IMG SRC=\"https:\/\/raw.githubusercontent.com\/vee-upatising\/Cat-GAN\/master\/GAN%20Training.jpg\r\"><\/center>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5f73acc elementor-widget elementor-widget-text-editor\" data-id=\"5f73acc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\"><p>Bu y\u00f6ntem \u015fu anda her 5 \u00e7a\u011fda bir kaydedecek \u015fekilde yap\u0131land\u0131r\u0131lm\u0131\u015ft\u0131r. Bu, aral\u0131k (interval) parametresi ile ayarlanabilir. Modelinizi s\u0131k s\u0131k kaydetmek, e\u011fitim s\u00fcrecinde a\u011f\u0131n\u0131z\u0131n kaydetti\u011fi ilerlemeyi izlemenin iyi bir yoludur.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-33ae5c4 elementor-widget elementor-widget-heading\" data-id=\"33ae5c4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">DCGAN S\u0131n\u0131f\u0131n\u0131 Ba\u015flatma<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7fd468c elementor-widget elementor-widget-text-editor\" data-id=\"7fd468c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\"><p>Art\u0131k DCGAN s\u0131n\u0131f\u0131n\u0131 olu\u015fturmay\u0131 bitirdik ve Generative Adversarial Network&#8217;\u00fcm\u00fcz\u00fc e\u011fitmeye haz\u0131r\u0131z. \u00d6ncelikle, s\u0131n\u0131f\u0131n bir \u00f6rne\u011fini olu\u015fturmal\u0131 ve onu bir de\u011fi\u015fkene atamal\u0131y\u0131z.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b988c2b elementor-widget elementor-widget-text-editor\" data-id=\"b988c2b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Girdi [4]:<\/p><div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"output_wrapper\"><div class=\"output\"><div class=\"output_area\"><div class=\"prompt output_prompt\"><div class=\"input\"><div class=\"inner_cell\"><div class=\"input_area\"><div class=\" highlight hl-ipython3\"><pre><span class=\"n\">dcgan<\/span> <span class=\"o\">=<\/span> <span class=\"n\">DCGAN<\/span><span class=\"p\">()<\/span><\/pre><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-61c1b49 elementor-widget elementor-widget-text-editor\" data-id=\"61c1b49\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\"><p>Bu, Generator ve Discriminator modellerini ba\u015flatacak ve bunlar\u0131n \u00f6zetlerini yazd\u0131racakt\u0131r.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3348bdf elementor-widget elementor-widget-heading\" data-id=\"3348bdf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00dcretken \u00c7eki\u015fmeli A\u011f\u0131n E\u011fitimi<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5153693 elementor-widget elementor-widget-text-editor\" data-id=\"5153693\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\"><p>Art\u0131k DCGAN s\u0131n\u0131f nesnemize sahip oldu\u011fumuza g\u00f6re, e\u011fitime ba\u015flamak i\u00e7in<strong> train()<\/strong> y\u00f6ntemini \u00e7a\u011f\u0131rmam\u0131z gerekiyor. Bu komut dosyas\u0131yla, genellikle e\u011fitim i\u00e7in \u00e7ok say\u0131da d\u00f6nem se\u00e7meli ve s\u00fcre\u00e7 boyunca kay\u0131p de\u011ferlerini izlemelisiniz. A\u011f \u00e7\u00f6kmeye ba\u015flarsa e\u011fitimi erken durdurun ve hangi modelin en iyi performans g\u00f6steren model oldu\u011funu bulmak i\u00e7in olu\u015fturulan \u00f6rnekleri kontrol edin.<\/p><p><strong>Train()<\/strong> y\u00f6ntemi, e\u011fitim boyunca iki modelin kay\u0131p de\u011ferlerini i\u00e7eren iki dizi d\u00f6nd\u00fcr\u00fcr. Bu de\u011ferleri g_loss ve d_loss&#8217;a atayaca\u011f\u0131z ve grafi\u011fini \u00e7izece\u011fiz.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e8931f9 elementor-widget elementor-widget-text-editor\" data-id=\"e8931f9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Girdi [5]:<\/p><div class=\"input\"><div class=\"inner_cell\"><div class=\"input_area\"><div class=\" highlight hl-ipython3\"><pre><span class=\"n\">g_loss<\/span><span class=\"p\">,<\/span> <span class=\"n\">d_loss<\/span> <span class=\"o\">=<\/span> <span class=\"n\">dcgan<\/span><span class=\"o\">.<\/span><span class=\"n\">train<\/span><span class=\"p\">(<\/span><span class=\"n\">epochs<\/span><span class=\"o\">=<\/span><span class=\"n\">epoch<\/span><span class=\"p\">,<\/span> <span class=\"n\">batch_size<\/span><span class=\"o\">=<\/span><span class=\"n\">batch<\/span><span class=\"p\">,<\/span> <span class=\"n\">save_interval<\/span><span class=\"o\">=<\/span><span class=\"n\">interval<\/span><span class=\"p\">)<\/span><\/pre><\/div><\/div><\/div><\/div><div class=\"output_wrapper\"><div class=\"output\"><div class=\"output_area\"><div class=\"output_subarea output_stream output_stdout output_text\"><pre>1 [D loss: 0.680393, acc.: 61.54%] [G loss: 0.732704]\n2 [D loss: 0.654482, acc.: 60.98%] [G loss: 0.835647]\n3 [D loss: 0.680507, acc.: 59.27%] [G loss: 0.832127]\n4 [D loss: 0.667612, acc.: 61.23%] [G loss: 0.890128]<\/pre><\/div><\/div><div class=\"output_area\"><div class=\"output_subarea output_stream output_stdout output_text\"><pre>5 [D loss: 0.678923, acc.: 57.80%] [G loss: 0.878026]<\/pre><\/div><\/div><div class=\"output_area\"><div class=\"output_subarea output_stream output_stdout output_text\"><pre>6 [D loss: 0.669563, acc.: 59.07%] [G loss: 0.857507]\n7 [D loss: 0.674293, acc.: 59.85%] [G loss: 0.880131]\n8 [D loss: 0.667477, acc.: 58.76%] [G loss: 0.876913]\n9 [D loss: 0.663820, acc.: 59.30%] [G loss: 0.891338]<\/pre><\/div><\/div><div class=\"output_area\"><div class=\"output_subarea output_stream output_stdout output_text\"><pre>10 [D loss: 0.659955, acc.: 59.45%] [G loss: 0.909291]<\/pre><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b2c4d33 elementor-widget elementor-widget-heading\" data-id=\"b2c4d33\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Plot Kayb\u0131\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c765ae6 elementor-widget elementor-widget-text-editor\" data-id=\"c765ae6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tGirdi [6]:\n<pre><span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">plot<\/span><span class=\"p\">(<\/span><span class=\"n\">g_loss<\/span><span class=\"p\">)<\/span>\n<span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">plot<\/span><span class=\"p\">(<\/span><span class=\"n\">d_loss<\/span><span class=\"p\">)<\/span>\n<span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">title<\/span><span class=\"p\">(<\/span><span class=\"s1\">'GAN Loss'<\/span><span class=\"p\">)<\/span>\n<span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">ylabel<\/span><span class=\"p\">(<\/span><span class=\"s1\">'Loss'<\/span><span class=\"p\">)<\/span>\n<span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">xlabel<\/span><span class=\"p\">(<\/span><span class=\"s1\">'Epoch'<\/span><span class=\"p\">)<\/span>\n<span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">legend<\/span><span class=\"p\">([<\/span><span class=\"s1\">'Generator'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'Discriminator'<\/span><span class=\"p\">],<\/span> <span class=\"n\">loc<\/span><span class=\"o\">=<\/span><span class=\"s1\">'upper left'<\/span><span class=\"p\">)<\/span>\n<span class=\"n\">plt<\/span><span class=\"o\">.<\/span><span class=\"n\">show<\/span><span class=\"p\">()<\/span><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ff7309f elementor-widget elementor-widget-image\" data-id=\"ff7309f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"419\" height=\"291\" src=\"https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/11\/4.png\" class=\"attachment-full size-full wp-image-1812\" alt=\"\" srcset=\"https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/11\/4.png 419w, https:\/\/aix.web.tr\/wp-content\/uploads\/2020\/11\/4-300x208.png 300w\" sizes=\"(max-width: 419px) 100vw, 419px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-caf25c4 elementor-widget elementor-widget-heading\" data-id=\"caf25c4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Sonu\u00e7<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dd47fcd elementor-widget elementor-widget-text-editor\" data-id=\"dd47fcd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"\"><div class=\"cell border-box-sizing code_cell rendered\"><div class=\"input\"><div class=\"prompt input_prompt\"><p>Bu makale size Keras kullanarak bir \u00dcretken \u00c7eki\u015fmeli A\u011f\u0131 e\u011fitmek i\u00e7in genel bir \u00e7er\u00e7eve sa\u011flar. Bu komut dosyas\u0131n\u0131 kullanarak kendi veri k\u00fcmelerinizle kendi \u00fcretken modellerinizi olu\u015fturabileceksiniz. Bu kodun tam s\u00fcr\u00fcm\u00fcne <a href=\"https:\/\/github.com\/vee-upatising\/PCA-GAN\/blob\/main\/PCA%20GAN%20Training.ipynb\" target=\"_blank\" rel=\"noopener\">buradan<\/a> ula\u015fabilirsiniz. Komut dosyas\u0131 \u015fu anda <strong>64&#215;64<\/strong> g\u00f6r\u00fcnt\u00fcler i\u00e7in yap\u0131land\u0131r\u0131lm\u0131\u015ft\u0131r. Farkl\u0131 boyuttaki g\u00f6r\u00fcnt\u00fclere sahip veri k\u00fcmelerini kullanmak istiyorsan\u0131z, <strong>img_dimensions<\/strong> parametresini ayarlaman\u0131z ve buna g\u00f6re <strong>UpSampling2D<\/strong> ve <strong>MaxPooling2D<\/strong> katmanlar\u0131n\u0131 ayarlaman\u0131z gerekir.<\/p><p>Memnun oldu\u011funuz bir modeli e\u011fittikten sonra, \u00e7\u0131kt\u0131lar olu\u015fturmak ve sonu\u00e7lar\u0131n\u0131z\u0131 analiz etmek i\u00e7in <a href=\"https:\/\/github.com\/vee-upatising\/PCA-GAN\/blob\/main\/PCA%20GAN%20Inference.ipynb\" target=\"_blank\" rel=\"noopener\">PCA GAN \u00c7\u0131kar\u0131m<\/a> komut dosyas\u0131n\u0131 kullanabilirsiniz. Bu komut dosyas\u0131 ayr\u0131ca, makalenin ba\u015f\u0131nda sa\u011flananlar gibi Generator modelinin gizli alan\u0131nda y\u00fcr\u00fcyen GIF&#8217;ler olu\u015fturmak i\u00e7in kod sa\u011flayacakt\u0131r.<\/p><p>Modeliniz bir tahmin yapt\u0131\u011f\u0131nda her evri\u015fimli katmanda neler olup bitti\u011fine bakmak i\u00e7in <a href=\"https:\/\/github.com\/vee-upatising\/PCA-GAN\/blob\/main\/Model%20Visualization.ipynb\" target=\"_blank\" rel=\"noopener\">Model G\u00f6rselle\u015ftirme<\/a> komut dosyas\u0131n\u0131 da kullanabilirsiniz.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b826b6e elementor-widget elementor-widget-html\" data-id=\"b826b6e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<center><IMG SRC=\"https:\/\/raw.githubusercontent.com\/vee-upatising\/Cat-GAN\/master\/Keract.gif\r\"><\/center>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-332de6b elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"332de6b\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-90f3999\" data-id=\"90f3999\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8721c34 elementor-widget elementor-widget-heading\" data-id=\"8721c34\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Github<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-86009d2 elementor-align-left elementor-widget elementor-widget-button\" data-id=\"86009d2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-lg elementor-animation-grow\" href=\"https:\/\/github.com\/vee-upatising\/PCA-GAN\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-github\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">\u0130ncele<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-18b53ed elementor-widget elementor-widget-heading\" data-id=\"18b53ed\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Veri k\u00fcmesi<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c212500 elementor-align-left elementor-widget elementor-widget-button\" data-id=\"c212500\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-lg elementor-animation-grow\" href=\"https:\/\/www.kaggle.com\/spandan2\/cats-faces-64x64-for-generative-models\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-database\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">\u0130ncele<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a82d9ab elementor-widget elementor-widget-heading\" data-id=\"a82d9ab\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Jupyter Notebook<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-50d456e elementor-align-left elementor-widget elementor-widget-button\" data-id=\"50d456e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-lg elementor-animation-grow\" href=\"https:\/\/nbviewer.jupyter.org\/github\/vee-upatising\/PCA-GAN\/blob\/main\/PCA%20GAN%20Training.ipynb\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-sticky-note\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">\u0130ncele<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u00dcretken \u00c7eki\u015fmeli A\u011flar Kullanarak Kedi \u00dcretmek ve Temel Bile\u015fen Analizi Ama\u00e7 Bu makale size Keras kitapl\u0131\u011f\u0131 kullan\u0131larak yaz\u0131lan bir \u00dcretken \u00c7eki\u015fme A\u011f\u0131&#8217;n\u0131n genel \u00e7er\u00e7evesini sa\u011flayacakt\u0131r.&hellip;<\/p>","protected":false},"author":1,"featured_media":1845,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-1731","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projects"],"_links":{"self":[{"href":"https:\/\/aix.web.tr\/en\/wp-json\/wp\/v2\/posts\/1731","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aix.web.tr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aix.web.tr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aix.web.tr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aix.web.tr\/en\/wp-json\/wp\/v2\/comments?post=1731"}],"version-history":[{"count":0,"href":"https:\/\/aix.web.tr\/en\/wp-json\/wp\/v2\/posts\/1731\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aix.web.tr\/en\/wp-json\/wp\/v2\/media\/1845"}],"wp:attachment":[{"href":"https:\/\/aix.web.tr\/en\/wp-json\/wp\/v2\/media?parent=1731"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aix.web.tr\/en\/wp-json\/wp\/v2\/categories?post=1731"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aix.web.tr\/en\/wp-json\/wp\/v2\/tags?post=1731"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}