সিএনএন মডেলটিতে আরও স্তর ব্যবহার করার সময় স্মৃতি ত্রুটি


7

আমার ডেল কোর আই 7 - 16 জিবি র‌্যাম - 4 জিবি 960 মি জিপিইউ ল্যাপটপে, আমি 3 ডি সিএনএন ব্যবহার করে ফুসফুসের সিটি চিত্রগুলিকে শ্রেণিবদ্ধ করার প্রকল্পে কাজ করছি। আমি টেনসরফ্লো এর সিপিইউ সংস্করণ ব্যবহার করছি। চিত্রগুলি নমপি অ্যারে আকার (25,50,50) হিসাবে প্রস্তুত।

আমার সিএনএন মডেলটিতে 2 টি কনভ স্তর, দুটি ম্যাকপুল স্তর, একটি এফসি স্তর এবং আউটপুট স্তর ছিল। এই আর্কিটেকচারের সাহায্যে আমি মডেলটিকে আনুমানিক (5000 থেকে 6000) নমুনা দিয়ে প্রশিক্ষণ দিতে পারি। আরও স্তর যুক্ত করার পরে আমার মডেলটিতে এখন 6 টি কনভ স্তর, 3 সর্বাধিক-পুল স্তর, এফসি এবং আউটপুট স্তর রয়েছে। আমার সমস্যাটি 1000 টিরও বেশি নমুনা দিয়ে আর্কিটেকচার পরিবর্তন করার পরে আমার স্মৃতি ভরাট হয়ে যায় এবং আমি স্মৃতি ত্রুটি পেয়েছি। আমি ছোট ব্যাচগুলি তৈরি করার চেষ্টা করেছি, তবে প্রতিবার একই ত্রুটি হচ্ছে। আমার দুটি প্রশ্ন আছে:

  1. কেন আরও স্তর যুক্ত করে মডেলটির আরও মেমরি দরকার?

  2. এই ধরণের সমস্যা মোকাবেলার জন্য কি কোনও উপায় আছে?


এটি সম্ভবত কারণ আপনার প্রচুর প্যারামিটার রয়েছে এবং ডিফল্টরূপে আপনার জিপিইউ গণনার জন্য ব্যবহৃত হচ্ছে এবং 4 জিবিটি ফিট নাও হতে পারে ..
আদিত্য

আমি জিপিইউ নয় টেনসরফ্লো এর সিপিইউ সংস্করণ ব্যবহার করি
হুনার এ। আহমাদ

উত্তর:


4
  1. আরও স্তরগুলি আপনার নেটওয়ার্কের জন্য আরও বেশি পরামিতি বোঝায়, যার অর্থ এই পরামিতিগুলি সঞ্চয় করার জন্য মেমরিতে আরও প্রয়োজনীয় স্থান হয়।

  2. একমাত্র সমাধান (আপনার কম্পিউটারের স্মৃতিশক্তি বাড়ানোর পাশাপাশি) আপনার নেটওয়ার্কের আকার হ্রাস করছে। এটিতে কয়েকটি পয়েন্টার: প্রথমত, 3-ডি সিএনএন-তে 2-ডি এর চেয়ে অনেক বেশি জায়গা প্রয়োজন। একটি ধারণা হতে পারে 2-D এ স্থানান্তরিত। তা ছাড়া, সর্বাধিক পরামিতিগুলির স্তরগুলি হ'ল এফসিগুলি। এগুলি কখনও কখনও অপ্রয়োজনীয়। আমি প্রথমে তাদের আকার হ্রাস করার পরামর্শ দেব।


আমি মনে করি যে 3 ডি সিএনএন 2 ডি এর চেয়ে ভাল নির্ভুলতা দিচ্ছে, তার জন্য আমি 3 ডি সিএনএন ব্যবহার করেছি। আমার এফসি লেয়ারে নোডের সংখ্যা 1024, আপনি কি এটি হ্রাস করতে চান? এটি কি নির্ভুলতার উপর প্রভাব ফেলবে না?
হুনার এ। আহমেদ

1
আপনার এফসি স্তরটি রয়েছে নিউরনের সংখ্যা (বা আউটপুট) 1024। যদি বলা যাক এর ইনপুটগুলি অন্য একটি2048তাহলে পরামিতিগুলির মোট সংখ্যা হবে 20481024+ +1024 বা প্রায় 2.1মিলিয়ন প্যারামিটার এটি একটি একক স্তরের জন্য প্রচুর পরিমাণে পরামিতি। অন্য একটি উদাহরণের জন্য আপনি VGG19 আর্কিটেকচারটি দেখতে পারেন, যা রয়েছে140মি প্যারামিটার, 100মিযার মধ্যে একটি একক এফসি স্তর অন্তর্গত।
এমজিডিআর

4

তৈরি করা বিন্দুতে যুক্ত করে MzdR, আপনি এর পরিবর্তে জেনারেটরগুলি ব্যবহার করে দেখতেও চেষ্টা করতে পারেন। যেহেতু আপনি মডেলটির প্রশিক্ষণের সময় আপনার সমস্ত চিত্র মেমরির মধ্যে থাকার দরকার নেই, তাই আমি মনে করি একটি জেনারেটর ভালভাবে পরিবেশন করবে।

পরীক্ষা করে দেখুন এই Stackoverflow থেকে প্রশ্ন বাইরে। জেনারেটরগুলি আপনি যখন মেমরি দর কষাকষি করেন তখন বেশ দুর্দান্ত are তবে এটি যদি ব্যর্থ হয় তবে আপনার এফসি স্তরগুলির আকার হ্রাস করার চেষ্টা করুন।


আমি মনে করি জেনারেটরটি আমার ক্ষেত্রে একটি আকর্ষণীয় ধারণা এবং আমি এটি চেষ্টা করবো, তবে আমার সমস্যা হ'ল আমি পাইথনে নতুন যে জেনারেটর সম্পর্কে জানিনা info
হুনার এ। আহমদ

কেরাসে জেনারেটর ব্যবহার করে এই মাঝারি পোস্টটি দিয়ে যান । এটি আপনাকে ধারণা পেতে সহায়তা করতে পারে
gavin

এটি কেরাসে অনেক সহজ, তবে আমার কোডটি কাঁচা টেনসরফ্লোতে লেখা এবং আমি এটিকে কেরাসে পরিবর্তন করতে পারি না।
হুনার এ। আহমেদ

থেকে এই প্রশ্নের Stackoverflow নিশ্চিত করতে সাহায্য করবে
গেভিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.