Keras: TensorFlow-এর জন্য উচ্চ-স্তরের API

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

কেরাসের সাথে, আপনার টেনসরফ্লো-এর স্কেলেবিলিটি এবং ক্রস-প্ল্যাটফর্ম ক্ষমতাগুলিতে সম্পূর্ণ অ্যাক্সেস রয়েছে। আপনি একটি TPU পড বা GPU গুলির বড় ক্লাস্টারে Keras চালাতে পারেন এবং আপনি কেরাস মডেলগুলি ব্রাউজারে বা মোবাইল ডিভাইসে চালানোর জন্য রপ্তানি করতে পারেন। আপনি একটি ওয়েব API এর মাধ্যমে কেরাস মডেলগুলিও পরিবেশন করতে পারেন।

Keras নিম্নলিখিত লক্ষ্যগুলি অর্জন করে জ্ঞানীয় লোড কমাতে ডিজাইন করা হয়েছে:

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

কেরাস ব্যবহার করা উচিত

সংক্ষিপ্ত উত্তর হল যে প্রত্যেক টেনসরফ্লো ব্যবহারকারীর ডিফল্টরূপে কেরাস এপিআই ব্যবহার করা উচিত। আপনি একজন প্রকৌশলী, একজন গবেষক, বা একজন এমএল অনুশীলনকারী হোন না কেন, আপনার কেরাস দিয়ে শুরু করা উচিত।

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

কেরাস এপিআই উপাদান

কেরাসের মূল ডেটা স্ট্রাকচার হল স্তর এবং মডেল । একটি স্তর হল একটি সাধারণ ইনপুট/আউটপুট রূপান্তর, এবং একটি মডেল হল স্তরগুলির একটি নির্দেশিত অ্যাসাইক্লিক গ্রাফ (DAG)।

স্তর

tf.keras.layers.Layer ক্লাস কেরাসের মৌলিক বিমূর্ততা। একটি Layer একটি অবস্থা (ওজন) এবং কিছু গণনা ( tf.keras.layers.Layer.call পদ্ধতিতে সংজ্ঞায়িত) অন্তর্ভুক্ত করে।

স্তর দ্বারা তৈরি ওজন প্রশিক্ষিত বা অ-প্রশিক্ষণযোগ্য হতে পারে। স্তরগুলি পুনরাবৃত্তভাবে সংমিশ্রণযোগ্য: আপনি যদি অন্য স্তরের বৈশিষ্ট্য হিসাবে একটি স্তরের উদাহরণ বরাদ্দ করেন তবে বাইরের স্তরটি ভিতরের স্তর দ্বারা তৈরি ওজনগুলি ট্র্যাক করা শুরু করবে।

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

মডেল

একটি মডেল এমন একটি বস্তু যা স্তরগুলিকে একত্রে গোষ্ঠীভুক্ত করে এবং এটি ডেটার উপর প্রশিক্ষিত হতে পারে।

মডেলের সহজতম ধরন হল Sequential মডেল , যা স্তরগুলির একটি রৈখিক স্ট্যাক। আরও জটিল আর্কিটেকচারের জন্য, আপনি হয় কেরাস ফাংশনাল API ব্যবহার করতে পারেন, যা আপনাকে স্তরগুলির নির্বিচারে গ্রাফ তৈরি করতে দেয়, অথবা স্ক্র্যাচ থেকে মডেলগুলি লিখতে সাবক্লাসিং ব্যবহার করতে পারে

tf.keras.Model ক্লাসে অন্তর্নির্মিত প্রশিক্ষণ এবং মূল্যায়ন পদ্ধতি রয়েছে:

  • tf.keras.Model.fit : একটি নির্দিষ্ট সংখ্যক যুগের জন্য মডেলকে প্রশিক্ষণ দেয়।
  • tf.keras.Model.predict : ইনপুট নমুনার জন্য আউটপুট পূর্বাভাস তৈরি করে।
  • tf.keras.Model.evaluate : মডেলের জন্য ক্ষতি এবং মেট্রিক্স মান প্রদান করে; tf.keras.Model.compile পদ্ধতির মাধ্যমে কনফিগার করা হয়েছে।

এই পদ্ধতিগুলি আপনাকে নিম্নলিখিত অন্তর্নির্মিত প্রশিক্ষণ বৈশিষ্ট্যগুলিতে অ্যাক্সেস দেয়:

  • কলব্যাক আপনি প্রারম্ভিক স্টপিং, মডেল চেকপয়েন্টিং এবং টেনসরবোর্ড মনিটরিংয়ের জন্য অন্তর্নির্মিত কলব্যাকগুলির সুবিধা নিতে পারেন। এছাড়াও আপনি কাস্টম কলব্যাক বাস্তবায়ন করতে পারেন।
  • বিতরণ করা প্রশিক্ষণ । আপনি সহজেই আপনার প্রশিক্ষণকে একাধিক GPU, TPU, বা ডিভাইসে স্কেল করতে পারেন।
  • স্টেপ ফিউজিং। tf.keras.Model.compilesteps_per_execution আর্গুমেন্টের সাহায্যে, আপনি একটি একক tf.function কলে একাধিক ব্যাচ প্রক্রিয়া করতে পারেন, যা TPU-তে ডিভাইসের ব্যবহারকে ব্যাপকভাবে উন্নত করে।

কিভাবে fit ব্যবহার করতে হয় তার বিশদ বিবরণের জন্য, প্রশিক্ষণ এবং মূল্যায়ন নির্দেশিকা দেখুন। অন্তর্নির্মিত প্রশিক্ষণ এবং মূল্যায়ন লুপগুলি কীভাবে কাস্টমাইজ করতে হয় তা শিখতে, fit() এ কী ঘটবে তা কাস্টমাইজ করা দেখুন।

অন্যান্য API এবং টুল

কেরাস গভীর শিক্ষার জন্য অন্যান্য অনেক API এবং সরঞ্জাম সরবরাহ করে, যার মধ্যে রয়েছে:

উপলব্ধ APIগুলির একটি সম্পূর্ণ তালিকার জন্য, Keras API রেফারেন্স দেখুন। অন্যান্য কেরাস প্রকল্প এবং উদ্যোগ সম্পর্কে আরও জানতে, কেরাস ইকোসিস্টেম দেখুন।

পরবর্তী পদক্ষেপ

টেনসরফ্লো সহ কেরাস ব্যবহার শুরু করতে, নিম্নলিখিত বিষয়গুলি দেখুন:

কেরাস সম্পর্কে আরও জানতে, keras.io- তে নিম্নলিখিত বিষয়গুলি দেখুন: