কীভাবে ব্যাচ_সাইজ, স্টেপস_অপার ইউপ এবং বৈধতা পদক্ষেপ সেট করা যায়


26

আমি কেরাস ব্যবহার করে সিএনএন শিখতে শুরু করছি। আমি থিয়ানো ব্যাকএন্ড ব্যবহার করছি।

মানগুলি কীভাবে সেট করবেন তা আমি বুঝতে পারি না:

  • ব্যাচ আকার,
  • প্রতি যুগের পদক্ষেপ,
  • validation_steps।

batch_sizeট্রেনিং সেটে 240,000 নমুনা এবং পরীক্ষার সেটে 80,000 নমুনা থাকলে সেট করতে মান নির্ধারণ , প্রতি যুগের পদক্ষেপ এবং বৈধকরণের পদক্ষেপগুলি কী হওয়া উচিত ?


আপনার হার্ডওয়্যার বিশেষ উল্লেখ কি? এটি নির্ভর করে যে সাধারনত লোকেরা ব্যাচের আকার 32/64, epochs 10 ~ 15 হিসাবে ব্যবহার করে এবং তারপরে আপনি উপরের থেকে প্রতি যুগের পদক্ষেপ গণনা করতে পারেন ..
আদিত্য

উত্তর:


28
  • ব্যাচ_সাইজ প্রতিটি মিনি ব্যাচের নমুনার সংখ্যা নির্ধারণ করে। এর সর্বাধিক হ'ল সমস্ত নমুনার সংখ্যা, যা গ্রেডিয়েন্ট বংশোদ্ভূতকে সঠিক করে তোলে, শেখার হার যদি যথেষ্ট ছোট হয় তবে ক্ষতি সর্বনিম্নের দিকে হ্রাস পাবে, তবে পুনরাবৃত্তিগুলি ধীর হয়। এর সর্বনিম্ন 1 হ'ল ফলস্বরূপ গ্রেডিয়েন্ট বংশোদ্ভূত: দ্রুত তবে গ্রেডিয়েন্ট ধাপের দিকনির্দেশ কেবলমাত্র একটি উদাহরণের ভিত্তিতে, ক্ষতিটি প্রায় লাফিয়ে উঠতে পারে। ব্যাচ_সাইজ দুটি চরমের মধ্যে সমন্বয় করতে দেয়: সঠিক গ্রেডিয়েন্ট দিক এবং দ্রুত পুনরাবৃত্তি। এছাড়াও, আপনার মডেল + ডেটা সেট উপলব্ধ (জিপিইউ) মেমরির সাথে ফিট না হলে ব্যাচ_সাইজের সর্বোচ্চ মান সীমাবদ্ধ হতে পারে।
  • steps_per_epoch একটি প্রশিক্ষণ যুগ শেষ হওয়ার আগে ব্যাচের পুনরাবৃত্তির সংখ্যা। আপনার যদি স্থির আকারের একটি প্রশিক্ষণ সেট থাকে তবে আপনি এটিকে এড়িয়ে যেতে পারেন তবে আপনার পক্ষে বিশাল ডেটা সেট থাকলে বা আপনি যদি ফ্লাইতে এলোমেলো ডেটা বর্ধন তৈরি করে থাকেন তবে এটি কার্যকর হতে পারে, যদি আপনার প্রশিক্ষণ সেটে একটি (উত্পন্ন) অসীম আকার থাকে। আপনার পুরো প্রশিক্ষণ ডেটা সেটটি অতিক্রম করার সময় থাকলে আমি এই পরামিতিটি এড়িয়ে যাওয়ার পরামর্শ দিই।
  • validation_steps অনুরূপ steps_per_epoch কিন্তু বৈধতা ডেটা প্রশিক্ষণ ডেটার উপর পরিবর্তে সেট উপর। আপনার পুরো বৈধতা ডেটা সেটটি অতিক্রম করার সময় পেলে আমি এই পরামিতিটি এড়িয়ে যাওয়ার পরামর্শ দিই।

"এই প্যারামিটারটি এড়িয়ে" আপনার অর্থ কী? আমি যখন প্যারামিটারটি সরিয়ে ফেলি When using data tensors as input to a model, you should specify the steps_per_epoch argument
নিকোলাস রাউল

ডকুমেন্টেশন অনুসারে, পদ্ধতির ফিটের প্যারামিটার ধাপ_পরিষ্ক_পোচের একটি ডিফল্ট থাকে এবং তাই এটি বিকল্প হতে হবে: "ডিফল্ট কোনওটিই আপনার ডাটাশেটে নমুনার সংখ্যার সমান নয় বা ব্যাচের আকার দ্বারা বিভক্ত, বা 1 যদি তা নির্ধারণ করা যায় না।" সূত্র: কেরাস.আইও
মডেলস

1

গিথুব এ একটি উত্তর আছে

  1. model.fit_generator অসম্পূর্ণভাবে চালনার জন্য ইনপুট ডেটাসেট জেনারেটরের প্রয়োজন।
  2. steps_per_epochজেনারেটরের steps_per_epochসময় কল করে একবারে পুরো ডেটাसेट তৈরি করতে ব্যবহৃত হয়
  3. যদিও epochsপুরো ডেটাসেটের উপরে মডেলকে কতবার প্রশিক্ষণ দেওয়া হয় তা দিন।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.