পাইথন সহ ডিপ লার্নিং: ডিপ লার্নিংয়ের সূচনা গাইড



এই নিবন্ধটি আপনাকে পাইথনের সাথে ডিপ লার্নিংয়ের একটি বিস্তৃত এবং বিস্তারিত জ্ঞান সরবরাহ করবে এবং এটি প্রতিদিনের জীবনে কতটা দরকারী।

2018-19 এর অন্যতম জনপ্রিয় বিষয় এবং একটি ভাল কারণে। শিল্পে এমন অনেক অগ্রগতি হয়েছে যেখানে সময় এসেছে যখন মেশিন বা কম্পিউটার প্রোগ্রামগুলি প্রকৃতপক্ষে মানুষের প্রতিস্থাপন করছে। এই পাইথনের সাথে ডিপ লার্নিং নিবন্ধ আপনাকে ডিপ লার্নিংটি ঠিক কী এবং কীভাবে এই রূপান্তরটি সম্ভব হয়েছে তা বুঝতে সহায়তা করবে। আমি এই নিবন্ধে নিম্নলিখিত বিষয়গুলি কভার করব:

ডেটা বিজ্ঞান এবং এটি উপাদান

ওয়েল, ডেটা সায়েন্স এমন এক জিনিস যা যুগে যুগে রয়েছে। তথ্য বিজ্ঞান বিভিন্ন কৌশল এবং অ্যালগরিদম ব্যবহার করে ডেটা থেকে জ্ঞানের নিষ্কাশন।





এআই টাইমলাইন - পাইথন সহ ডিপ লার্নিং - এডুরেকা

এমন একটি কৌশল যা মেশিনগুলিকে মানুষের আচরণের অনুকরণ করতে সক্ষম করে। এআই এর পেছনের ধারণাটি মোটামুটি সহজ তবে আকর্ষণীয়, যা বুদ্ধিমান মেশিনগুলি তৈরি করে যা নিজেরাই সিদ্ধান্ত নিতে পারে। বছরের পর বছর ধরে, এই ধারণা করা হয়েছিল যে কম্পিউটারগুলি কখনই মানুষের মস্তিষ্কের শক্তির সাথে মেলে না।



ঠিক আছে, তখন আমাদের কাছে পর্যাপ্ত ডেটা এবং গণনার শক্তি ছিল না, তবে এখন বড় তথ্য জিপিইউগুলির অস্তিত্বের সাথে এবং অস্তিত্বের সাথে কৃত্রিম বুদ্ধিমত্তা সম্ভব।

এআই প্রযুক্তির একটি উপসেট যা অভিজ্ঞতার সাথে মেশিনগুলিকে সক্ষম করতে পরিসংখ্যানগত পদ্ধতি ব্যবহার করে uses



গভীর জ্ঞানার্জন এমএল এর একটি উপসেট যা মাল্টি-লেয়ার নিউরাল নেটওয়ার্কের গণনা সম্ভবসাধ্য করে তোলে। এটি মানুষের মতো সিদ্ধান্ত গ্রহণের অনুকরণে নিউরাল নেটওয়ার্ক ব্যবহার করে।

ডিপ লার্নিংয়ের প্রয়োজনীয়তা

কৃত্রিম বুদ্ধিমত্তার দিকে এগিয়ে যাওয়ার একটি পদক্ষেপ হ'ল মেশিন লার্নিং। মেশিন লার্নিং এআই-এর একটি উপসেট এবং এই ধারণার উপর ভিত্তি করে যে মেশিনগুলিকে ডেটা অ্যাক্সেস দেওয়া উচিত, এবং নিজের জন্য শিখতে এবং অন্বেষণ করা উচিত। এটি বড় ডেটা সেট থেকে নিদর্শন নিষ্কাশন নিয়ে কাজ করে। বড় ডেটা সেট হ্যান্ডেল করা কোনও সমস্যা ছিল না।

  • মেশিন লার্নিং অ্যালগরিদম উচ্চ মাত্রিক ডেটা পরিচালনা করতে পারে না handle - যেখানে আমাদের প্রচুর পরিমাণে ইনপুট এবং আউটপুট রয়েছে: কয়েক হাজার মাত্রা রয়েছে। এই জাতীয় ডেটা হ্যান্ডলিং এবং প্রসেসিং করা খুব জটিল এবং সংস্থান পরিসীমাতে পরিণত হয়। এটিকে হিসাবে চিহ্নিত করা হয় মাত্রিকতার অভিশাপ।

  • আরেকটি চ্যালেঞ্জের মুখোমুখি হয়েছিল, এটি নির্দিষ্ট করা নিষ্কাশন করা বৈশিষ্ট্য । ফলাফলটি পূর্বাভাস দেওয়ার পাশাপাশি আরও ভাল নির্ভুলতা অর্জনে এটি গুরুত্বপূর্ণ ভূমিকা পালন করে। অতএব, বৈশিষ্ট্য নিষ্কাশন ছাড়াই, প্রোগ্রামারটির পক্ষে চ্যালেঞ্জটি বেড়ে যায় কারণ অ্যালগরিদমের কার্যকারিতা খুব বেশি নির্ভর করে প্রোগ্রামার কতটা অন্তর্দৃষ্টিপূর্ণ on

এখন, এখানেই ডিপ লার্নিংয়ের উদ্ধার হয়েছিল। গভীর শেখা হয় উচ্চ মাত্রিক ডেটা পরিচালনা করতে সক্ষম এবং এছাড়াও দক্ষ সঠিক বৈশিষ্ট্যগুলিতে ফোকাস করা ঠিক নিজের মতো.

ডিপ লার্নিং কী?

ডিপ লার্নিং মেশিন লার্নিংয়ের একটি উপসেট যেখানে একই রকম মেশিন লার্নিং অ্যালগরিদম প্রশিক্ষণের জন্য ব্যবহৃত হয় যাতে সেই ক্ষেত্রে আরও ভাল নির্ভুলতা অর্জন করতে পারে যেখানে প্রাক্তন চিহ্নিত না করে। মূলত, গভীর জ্ঞান আমাদের মস্তিষ্কের যেভাবে কাজ করে তা অনুকরণ করে অর্থাত্ এটি অভিজ্ঞতা থেকে শিক্ষা নেয়।

যেমনটি আপনি জানেন,আমাদের মস্তিষ্ক গঠিত হয় কোটি কোটি নিউরন এটি আমাদের আশ্চর্যজনক কাজ করতে দেয়। এমনকি একটি ছোট বাচ্চার মস্তিষ্ক জটিল সমস্যাগুলি সমাধান করতে সক্ষম যা সুপার কম্পিউটারগুলি ব্যবহার করেও সমাধান করা খুব কঠিন। সুতরাং, আমরা কীভাবে একই প্রোগ্রামে একই কার্যকারিতা অর্জন করতে পারি? এখন, আমরা এটি বুঝতে পারি কৃত্রিম নিউরন (পার্সপেট্রন) এবং কৃত্রিম নিউরাল নেটওয়ার্ক.

পারসেপ্ট্রন এবং কৃত্রিম নিউরাল নেটওয়ার্ক

ডিপ লার্নিং মস্তিষ্কের মৌলিক ইউনিটকে মস্তিষ্কের কোষ বা নিউরন বলে অধ্যয়ন করে। এখন, আসুন জৈবিক নিউরনের কার্যকারিতা এবং আমরা কীভাবে উপলব্ধি বা কৃত্রিম নিউরনের অনুভূতিতে এই কার্যকারিতাটি নকল করি understand

  • ডেনড্রাইট: অন্যান্য নিউরন থেকে সংকেত প্রাপ্ত
  • দেহ কোষ: সমস্ত ইনপুট যোগফল
  • অ্যাকসন: এটি অন্যান্য কোষে সংকেত প্রেরণ করতে ব্যবহৃত হয়

একটি কৃত্রিম নিউরন বা ক পারসেপ্ট্রন বাইনারি শ্রেণিবিন্যাসের জন্য ব্যবহৃত লিনিয়ার মডেল। এটি একটি নিউরনের মডেল করে যার ইনপুটগুলির একটি সেট থাকে, যার প্রত্যেকটির একটি নির্দিষ্ট ওজন দেওয়া হয়। নিউরন এগুলি সম্পর্কে কিছু ফাংশন গণনা করে ভারিত ইনপুট এবং আউটপুট দেয়।

এটি এন ইনপুট (প্রতিটি বৈশিষ্ট্যের সাথে সম্পর্কিত) প্রাপ্ত করে। এটি তখন সেই ইনপুটগুলিকে যোগ করে, একটি রূপান্তর প্রয়োগ করে এবং একটি আউটপুট উত্পাদন করে। এর দুটি ফাংশন রয়েছে:

  • সংমিশ্রণ
  • রূপান্তর (অ্যাক্টিভেশন)

ওজন একটি নির্দিষ্ট ইনপুটটির কার্যকারিতা দেখায়। ইনপুটটির ওজন যত বেশি হবে, তত বেশি এর নিউরাল নেটওয়ার্কে প্রভাব ফেলবে । অন্য দিকে, বায়াস একটি অতিরিক্ত প্যারামিটার পার্সেপট্রোন যা নিউরনের সাথে ইনপুটগুলির ওজনের যোগফলের সাথে আউটপুট সামঞ্জস্য করতে ব্যবহৃত হয় যা মডেলটিকে এমন উপায়ে সহায়তা করে যাতে প্রদত্ত ডেটার জন্য এটি সেরা ফিট করতে পারে।

অ্যাক্টিভেশন ফাংশন ইনপুটগুলিকে আউটপুটগুলিতে অনুবাদ করে। এটি একটি আউটপুট উত্পাদন করতে একটি প্রান্তিক ব্যবহার করে। অ্যাক্টিভেশন ফাংশন হিসাবে ব্যবহৃত হয় এমন অনেকগুলি ফাংশন রয়েছে:

  • রৈখিক বা পরিচয়
  • ইউনিট বা বাইনারি পদক্ষেপ
  • সিগময়েড বা লজিস্টিক
  • তানহ
  • রিলু
  • সফটম্যাক্স

আমরা হব. যদি আপনি মনে করেন পারসেপ্ট্রন সমস্যা সমাধান করে, তবে আপনি ভুল। দুটি বড় সমস্যা ছিল:

  • একা-স্তর পার্সেপটরন অ-রৈখিকভাবে পৃথকযোগ্য ডেটা পয়েন্টগুলি শ্রেণিবদ্ধ করতে পারে না
  • জটিল সমস্যা, এতে জড়িত পরামিতি অনেক সিঙ্গল-লেয়ার পারসেপ্ট্রনগুলির দ্বারা সমাধান করা যায় না।

এখানে উদাহরণ এবং বিপণন দল কর্তৃক সিদ্ধান্ত নিতে জড়িত পরামিতিগুলির জটিলতা বিবেচনা করুন।

একজন নিউরন, এতগুলি ইনপুট গ্রহণ করতে পারে না এবং সে কারণেই এই সমস্যাটি সমাধান করতে একাধিক নিউরন ব্যবহার করা হবে। নিউরাল নেটওয়ার্ক আসলেই একটি বিভিন্ন উপায়ে সংযুক্ত Perceprons এর রচনা এবং বিভিন্ন অ্যাক্টিভেশন ফাংশন অপারেটিং।

  • ইনপুট নোড বাইরের বিশ্ব থেকে নেটওয়ার্কে তথ্য সরবরাহ করুন এবং একসাথে 'ইনপুট স্তর' হিসাবে উল্লেখ করা হয়েছে।
  • লুকানো নোড গণনা সম্পাদন করুন এবং ইনপুট নোডগুলি থেকে আউটপুট নোডগুলিতে তথ্য স্থানান্তর করুন। লুকানো নোডগুলির সংকলন একটি 'লুকানো স্তর' গঠন করে।
  • আউটপুট নোড সম্মিলিতভাবে 'আউটপুট স্তর' হিসাবে উল্লেখ করা হয় এবং কম্পিউটার থেকে বহির্বিশ্বে তথ্য স্থানান্তর এবং স্থানান্তর করার জন্য দায়বদ্ধ।

এখন আপনার পার্সেপট্রন কীভাবে আচরণ করে, বিভিন্ন প্যারামিটার জড়িত এবং নিউরাল নেটওয়ার্কের বিভিন্ন স্তর রয়েছে সে সম্পর্কে আপনার ধারণা রয়েছে, আসুন পাইথন ব্লগের সাথে এই ডিপ লার্নিংটি চালিয়ে যান এবং ডিপ লার্নিংয়ের কিছু দুর্দান্ত অ্যাপ্লিকেশন দেখুন।

ডিপ লার্নিং এর অ্যাপ্লিকেশন

ইন্ডাস্ট্রিতে ডিপ লার্নিংয়ের বিভিন্ন অ্যাপ্লিকেশন রয়েছে, আমাদের ডে টু ডে কর্মে উপস্থিত কয়েকটি গুরুত্বপূর্ণ বিষয় এখানে রইল।

  • কন্ঠ সনান্তকরণ

  • যন্ত্রানুবাদ

  • মুখের স্বীকৃতি এবং স্বয়ংক্রিয় ট্যাগিং

  • ভার্চুয়াল ব্যক্তিগত সহায়ক

উদাহরণ সহ নতুনদের জন্য এসকিএল সার্ভার টিউটোরিয়াল
  • স্বয়ং ড্রাইভিং গাড়ি

  • চ্যাটবটস

ডিপ লার্নিংয়ের জন্য পাইথন কেন?

  • এ জাতীয় একটি সরঞ্জাম যার একটি অনন্য বৈশিষ্ট্য রয়েছে সাধারণ উদ্দেশ্য প্রোগ্রামিং ভাষা হিসাবে হিসাবে ব্যবহার করা সহজ যখন এটি বিশ্লেষণাত্মক এবং পরিমাণগত কম্পিউটিং আসে।
  • এটা খুবই সহজে বোধগম্য
  • পাইথন হয় ডায়নামিকালি টাইপড
  • বিশাল
  • বিভিন্ন উদ্দেশ্যে লাইব্রেরিগুলির একটি বিস্তৃত পরিসর নম্পি, সিবোর্ন, ম্যাটপ্ল্লোলিব, পান্ডাস এবং সাইকিট শিখুন

এখন তত্ত্বের যথেষ্ট পরিমাণ, আসুন আমরা কীভাবে পাইথনের সাথে একটি ছোট্ট তবে উত্তেজনাপূর্ণ উদাহরণ দিয়ে ডিপ লার্নিং শুরু করতে পারি তা দেখুন।

পাইথন সহ ডিপ লার্নিং: পারসেপ্ট্রন উদাহরণ

এখন আমি নিশ্চিত যে আপনার ছেলেরা অবশ্যই ' বা ' গেট আউটপুট হয় এক যদি ইনপুটগুলিও হয় এক.

অতএব, পার্সসেপট্রন পৃথককারী বা সিদ্ধান্ত লাইন হিসাবে ব্যবহার করা যেতে পারে যা ওআর গেটের ইনপুট সেটটিকে দুটি শ্রেণিতে বিভক্ত করে:

ক্লাস 1: ফলাফল হিসাবে 0 হিসাবে আউটপুট থাকা ইনপুটগুলি সিদ্ধান্ত লাইনের নীচে থাকে।
ক্লাস 2: 1 হিসাবে আউটপুট থাকা ইনপুটগুলি সিদ্ধান্ত লাইন বা বিভাজকের উপরে থাকে।

এখন অবধি, আমরা বুঝতে পেরেছি যে একটি লিনিয়ার পারসেপট্রন দুটি শ্রেণিতে বিভক্ত ইনপুট ডেটা শ্রেণিবদ্ধ করতে ব্যবহার করা যেতে পারে। কিন্তু, কীভাবে এটি ডেটাটিকে শ্রেণিবদ্ধ করে?

গাণিতিকভাবে একটি পার্সেপট্রনকে ওজন, ইনপুট এবং বায়াসের সমীকরণের মতো ভাবা যেতে পারে।

পদক্ষেপ 1: প্রয়োজনীয় সমস্ত গ্রন্থাগারটি আমদানি করুন

এখানে আমি কেবলমাত্র একটি লাইব্রেরি আমদানি করতে যাচ্ছি। টেনসরফ্লো

tf হিসাবে সেন্সরফ্লো আমদানি করুন

পদক্ষেপ 2: ইনপুট এবং আউটপুট জন্য ভেক্টর ভেরিয়েবলগুলি সংজ্ঞায়িত করুন

এর পরে, পেরসেপ্ট্রনের জন্য ইনপুট, আউটপুট এবং বায়াস সংরক্ষণ করার জন্য আমাদের ভেরিয়েবল তৈরি করতে হবে।

ট্রেন_ইন = [[0,0,1], [0,1,1], [1,0,1], [1,1,1]] ট্রেন_আউট = [[0], [1], [1], [1]]

পদক্ষেপ 3: ওজন পরিবর্তনশীল নির্ধারণ করুন

এখানে আমরা আমাদের ওজনের জন্য আকার 3 × 1 এর টেনসর ভেরিয়েবলটি সংজ্ঞায়িত করব এবং প্রাথমিকভাবে এটিতে কিছু এলোমেলো মান নির্ধারণ করব।

w = tf. পরিবর্তনশীল (tf.random_normal ([3, 1], বীজ = 15%))

পদক্ষেপ 4: ইনপুট এবং আউটপুট জন্য স্থানধারক নির্ধারণ করুন

আমাদের স্থানধারককে সংজ্ঞায়িত করতে হবে যাতে তারা দৌড়ে বাইরের ইনপুট গ্রহণ করতে পারে।

x = tf. placeholder (tf.float32, [কিছুই নয়, 3]) y = tf. placeholder (tf.float32, [কিছুই নয়, 1])

পদক্ষেপ 5: আউটপুট এবং অ্যাক্টিভেশন ফাংশন গণনা করুন

যেমন পূর্বে আলোচনা করা হয়েছে, পার্সসেপট্রন দ্বারা প্রাপ্ত ইনপুটটি প্রথমে संबंधित ওজন দ্বারা গুণিত হয় এবং তারপরে, এই সমস্ত ওজনযুক্ত ইনপুটগুলি সংযুক্ত করা হয়। এই সংক্ষিপ্ত মানটি চূড়ান্ত ফলাফল পাওয়ার জন্য অ্যাক্টিভেশনকে খাওয়ানো হয়।

আউটপুট = tf.nn.relu (tf.matmul (x, w))

দ্রষ্টব্য: এই ক্ষেত্রে, আমি ব্যবহার করেছি রিলু আমার অ্যাক্টিভেশন ফাংশন হিসাবে আপনি আপনার প্রয়োজন অনুসারে যে কোনও অ্যাক্টিভেশন ফাংশন ব্যবহার করতে পারবেন না।

পদক্ষেপ:: ব্যয় বা ত্রুটি গণনা করুন

আমাদের ব্যয় = গড় স্কোয়ার ত্রুটি গণনা করতে হবে যা পার্সেপট্রন আউটপুট এবং পছন্দসই আউটপুটটির পার্থক্যের বর্গক্ষেত্র ছাড়া কিছুই নয়।

ক্ষতি = tf.reduce_sum (tf.square (আউটপুট - y))

পদক্ষেপ 7: ত্রুটি হ্রাস করুন

পার্সসেপ্ট্রনের লক্ষ্য হ্রাস বা ব্যয় বা ত্রুটি হ্রাস করা। সুতরাং এখানে আমরা গ্রেডিয়েন্ট বংশদ্ভুত অপ্টিমাইজার ব্যবহার করতে যাচ্ছি।

অপ্টিমাইজার = tf.train. গ্রেডিয়েন্টডেসেন্টঅপটিমাইজার (0.01) ট্রেন = optizer.minimize (ক্ষতি)

পদক্ষেপ 8: সমস্ত পরিবর্তনশীল সূচনা

চলকগুলি কেবল এর সাথে সংজ্ঞায়িত হয় tf. পরিবর্তনশীল। সুতরাং, আমাদের সংজ্ঞায়িত ভেরিয়েবলগুলি শুরু করতে হবে।

init = tf.global_variables_initializer () sess = tf.Session () sess.run (init)

পদক্ষেপ 9: প্রশিক্ষণ অনুমিত প্রশিক্ষণ

ত্রুটি বা ক্ষতি হ্রাস করতে আমাদের ধারাবাহিক পুনরাবৃত্তিতে ওজন এবং পক্ষপাতের মান আপডেট করতে আমাদের পার্সেপট্রনকে প্রশিক্ষণ দিতে হবে। এখানে, আমি আমাদের অনুধাবনকারীদের 100 টি যুগের প্রশিক্ষণ দেব।

আমি সীমার জন্য (100): sess.run (ট্রেন, {x: ট্রেন_ইন, y: ট্রেন_আউট}) ব্যয় = sess.run (ক্ষতি, ফিড_ডিক্ট = {x: ট্রেন_ইন, y: ট্রেন_আউট print) মুদ্রণ ('ইপোক-- ', আমি,' - ক্ষতি - ', ব্যয়)

পদক্ষেপ 10: আউটপুট

……

……

আপনি এখানে দেখতে পাচ্ছেন যে ক্ষয়টি এখানে শুরু হয়েছিল 2.07 এবং শেষ হয়েছে 0.27

পাইথন সহ ডিপ লার্নিং: একটি ডিপ নিউরাল নেটওয়ার্ক তৈরি করা

এখন যেহেতু আমরা সাফল্যের সাথে একটি পেরসেপ্ট্রন তৈরি করেছি এবং এটি একটি ওআর গেটের জন্য প্রশিক্ষিত করেছি। আসুন এই নিবন্ধটি চালিয়ে যান এবং দেখুন যে স্ক্র্যাচ থেকে কীভাবে আমাদের নিজস্ব নিউরাল নেটওয়ার্ক তৈরি করা যায়, যেখানে আমরা একটি ইনপুট স্তর, গোপন স্তর এবং আউটপুট স্তর তৈরি করব।

আমরা এমএনআইএসটি ডেটা-সেট ব্যবহার করতে যাচ্ছি। এমএনআইএসটি ডেটা-সেট থাকে 60,000 প্রশিক্ষণ নমুনা এবং 10,000 পরীক্ষা হাতে লেখা অঙ্কের চিত্রগুলির নমুনা। ছবিগুলি আকারের 28 × 28 পিক্সেল এবং আউটপুট মধ্যে থাকা থাকতে পারে 0-9

এখানে কাজটি এমন একটি মডেলকে প্রশিক্ষণ দেওয়া যা চিত্রটিতে উপস্থিত অঙ্কটি সঠিকভাবে সনাক্ত করতে পারে

প্রথমত, আমরা পাইথন 3 থেকে পাইথন 2.6+ এ মুদ্রণ ফাংশনটি আনতে নীচের আমদানিটি ব্যবহার করছি। __ ভবিষ্যতের__ বিবৃতিগুলি ফাইলের শীর্ষের কাছাকাছি হওয়া প্রয়োজন কারণ তারা ভাষা সম্পর্কে মৌলিক জিনিসগুলি পরিবর্তন করে এবং তাই সংকলকটি তাদের শুরু থেকেই জানা উচিত

___ ভবিষ্যত___ থেকে আমদানি মুদ্রণ_কারখানা

প্রতিটি পদক্ষেপে মন্তব্য সহ কোড নীচে দেওয়া হয়েছে

# টেনসরফ্লো.একটি.টিউটোরিয়ালগুলি থেকে এমএনআইএসটি ডেটা আমদানি করুন_মিনিস্ট আমদানি ইনপুট_ডাটা মনিস্ট = ইনপুট_ডাটা.ড্রেড_ডেটা_সেটস ('/ টিএমপি / ডেটা /', এক_হোট = ট্রু) প্ল্যান্ট হিসাবে আমদানি টেনসরফ্লো ম্যাটপ্ল্লোব.পিপ্লট হিসাবে # প্যারামিটারস শিখিয়ে_আর = ০.০০১ প্রশিক্ষণ_পোচ = ব্যাচ_সাইজ = 100 ডিসপ্লে_স্টেপ = 1 # নেটওয়ার্ক প্যারামিটারগুলি n_hided_1 = 256 # প্রথম স্তরের বৈশিষ্ট্যগুলি n_hided_2 = 256 # 2 য় স্তরের বৈশিষ্ট্যগুলির এন_ ইনপুট = 784 # এমএনআইএসটি ডেটা ইনপুট (আইএমজি আকার: ২৮ * ২৮) এন_ক্লাসগুলি = 10 # এমএনআইএসটি মোট ক্লাস ( 0-9 ডিজিট) # টিএফ গ্রাফ ইনপুট x = tf. placeholder ('ফ্লোট', [কিছুই নয়, এন_পিন্ড]) y = tf. placeholder ('ফ্লোট', [কোনওটি নয়, n_class]) # মডেল তৈরি করুন ডিএফ মাল্টিলেয়ার_পারসেপ্ট্রন (এক্স, ওজন) , বায়াসেস): # রেলু অ্যাক্টিভেশন লেয়ারের সাথে লুকানো স্তর_1 = tf.add (tf.matmul (এক্স, ওজন ['h1']), বায়াসেস ['বি 1']) স্তর_1 = tf.nn.relu (স্তর_1) # লুকানো স্তর RELU অ্যাক্টিভেশন স্তর 2 = tf.add (tf.matmul (স্তর_1, ওজন ['h2']), বায়াস [[b2 ']) স্তর_2 = tf.nn.relu (স্তর_2) # রৈখিক অ্যাক্টিভেশন সহ আউটপুট স্তর আউট_লেয়ার = টিএফ। ম্যাটমুল (স্তর) _2, ওজন ['আউট']] + বায়াসস ['আউট'] আউট_লেয়ার রিটার্ন করুন # স্তরের ওজনের ও বায়াসের ওজন = {'এইচ 1': tf.Wariable (tf.random_normal ([n_input, n_hided_1])), 'এইচ 2' : tf. পরিবর্তনশীল (tf.random_normal ([n_hided_1, n_hided_2])), 'আউট': tf.Variable (tf.random_normal ([n_hided_2, n_class])) ases বায়াসেস = {'বি 1': tf.Variable (tf। র্যান্ডম_নরমাল ([n_hided_1])), 'বি 2': tf.Variable (tf.random_normal ([n_hided_2])), 'আউট': tf.Variable (tf.random_normal ([n_class]))} # কনস্ট্রাক্ট মডেল পূর্ববর্তী = বহুস্তর_কেন্দ্রিক (এক্স, ওজন, বায়াসেস) # ক্ষতি এবং অপ্টিমাইজার ব্যয় নির্ধারণ করুন = tf.reduce_mean (tf.nn.softmax_cross_entropy_with_logits (লগইটস = পূর্ববর্তী, লেবেল = y)) অপ্টিমাইজার = tf.train.AdAptimizer (শেখার_রেট = শেখানো_রেট) .মিনিজ (ব্যয়) # ভেরিয়েবলগুলি সূচনা করা হচ্ছে init = tf.global_variables_initializer () # ব্যয়ের ইতিহাস এবং নির্ভুলতার ইতিহাস সংরক্ষণের জন্য একটি খালি তালিকা তৈরি করুন लागत_তিহাসিক = [] নির্ভুলতা_ইস্টরি = [] # tf.Session () দিয়ে গ্রাফটি সেস হিসাবে চালু করুন: sess.run (init) ) # পর্বের যুগের জন্য প্রশিক্ষণ চক্র (প্রশিক্ষণ_পচগুলি): গড়_কোস্ট = 0. মোট_বাচ = ইন (এমনিস্ট.ট্রেইন.নাম_এক্সেমস / ব্যাচ_সাইজ) # আই ব্যাটারি রেঞ্জের জন্য সমস্ত ব্যাচের উপর লুপ (মোট_বাচ): ব্যাচ_এক্স, ব্যাচ_ই = এমনিস্ট.ট্রেইন.সেক্সট_বাচ (ব্যাচ_সাইজ) # রান অপ্টিমাইজেশন অপ (ব্যাকপ্রপ) এবং ব্যয় ওপ (লোকসানের মান পেতে) _, সি = sess.run ([অপ্টিমাইজার, খরচ], ফিড_ডিক্ট = {এক্স: ব্যাচ_এক্স, ওয়াই: ব্যাচ_ই}) # গণনা গড় লোকসান গড়: গড়_কোস্ট + = সি / টোটাল_ব্যাচ # প্রতি যুগের পদক্ষেপে লগ প্রদর্শন করুন যদি epoch% ডিসপ্লে_স্টেপ == 0: সঠিক_প্রেডিকশন = tf.equal (tf.argmax (পূর্ব, 1), tf.argmax (y, 1)) # নির্ভুলতা নির্ভুলতা গণনা = tf.reduce_mean (tf.cast (সঠিক_ প্রেডিকশন, 'ফ্লোট') ) acu_temp = নির্ভুলতা.ইভেল ({x: mnist.test.images, y: mnist.test.labels}) # তালিকাটিতে যথাযথতা যথাযথতা_ইস্তুরি.অ্যাপেন্ড (অ্যাকু_টেম্প) আপলোড করুন # ব্যয় ইতিহাসের ইতিহাস_পরিচয় (অ্যাভিজি_কোস্ট) মুদ্রণ ('যুগ:', '% 04d'% (মহাকাশ + 1), '- ব্যয় =', '{: .9f}'। ফর্ম্যাট (গড়_কোস্ট)), '- নির্ভুলতা =', অ্যাকু_টেম্প) মুদ্রণ ('অপ্টিমাইজেশন সমাপ্ত! ') # প্লট ব্যয় ইতিহাস plt.plot (কস্ট_ইস্টরি) plt.show () # প্লট যথার্থ ইতিহাস plt.plot (নির্ভুলতা) _history) plt.show () # পরীক্ষার মডেল সঠিক_প্রেডিকশন = tf.equal (tf.argmax (পূর্ব, 1), tf.argmax (y, 1)) # গণনা নির্ভুলতা নির্ভুলতা = tf.reduce_mean (tf.cast (সঠিক_ প্রেডিকশন, ' ভাসা ')) মুদ্রণ (' নির্ভুলতা: ', নির্ভুলতা.ইভাল ({x: mnist.test.images, y: mnist.test.labels}))

আউটপুট:

এখন এটির সাথে আমরা পাইথন নিবন্ধটি সহ এই ডিপ লার্নিংয়ের শেষে এসেছি। আমি আশা করি আপনি ডিপ লার্নিংয়ের বিভিন্ন উপাদান, এটি সমস্ত কীভাবে শুরু হয়েছিল এবং পাইথন ব্যবহার করে আমরা একটি সাধারণ পার্সেপট্রন এবং একটি ডিপ নিউরাল নেটওয়ার্ক তৈরি করতে পারি তার একটি ধারণা পেয়েছি Hope

এডুরিকার শিল্পের প্রয়োজনীয়তা ও চাহিদা অনুসারে শিল্প পেশাদারদের দ্বারা প্রস্তুত করা হয়েছে। আপনি সফটম্যাক্স ফাংশন, অটোরকোডার নিউরাল নেটওয়ার্কস, সীমাবদ্ধ বল্টজম্যান মেশিন (আরবিএম) এর মত ধারণাগুলিতে দক্ষতা অর্জন করবেন এবং কেরাস এবং টিএফলায়ারের মতো লাইব্রেরিগুলিতে কাজ করবেন। কোর্সটি রিয়েল-টাইম কেস স্টাডি সহ শিল্প বিশেষজ্ঞরা বিশেষভাবে তৈরি করেছেন।

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এটি 'পাইপনের সাথে ডিপ লার্নিং' এর মন্তব্য বিভাগে উল্লেখ করুন এবং আমরা আপনার কাছে ফিরে আসব।