سؤال

أقوم بتشغيل بعض نماذج الانحدار الكبيرة في R في بيئة حوسبة الشبكة. على حد علمي ، فإن الشبكة تعطيني المزيد من الذاكرة والمعالجات الأسرع ، لذلك أعتقد أن هذا السؤال سيطبق أيضًا على أولئك الذين يستخدمون R على جهاز كمبيوتر قوي.

تحتوي نماذج الانحدار التي أقوم بتشغيلها على الكثير من الملاحظات ، والعديد من متغيرات العوامل التي تحتوي على العديد من المستويات (10s أو 100s) من كل منها. نتيجة لذلك ، يمكن أن يصبح الانحدار مكثفًا حسابيًا. لقد لاحظت أنه عندما أقوم بتصنيع 3 انحسارات في البرنامج النصي وأرسله إلى الشبكة ، فإنه يخرج (تعطل) بسبب قيود الذاكرة. ومع ذلك ، إذا قمت بتشغيله ك 3 نصوص مختلفة ، فإنه يعمل بشكل جيد.

أقوم ببعض التنظيف ، لذلك بعد تشغيل كل طراز ، أقوم بحفظ كائن النموذج إلى ملف منفصل ، RM (list = ls ()) لمسح جميع الذاكرة ، ثم تشغيل GC () قبل تشغيل النموذج التالي. ومع ذلك ، يبدو أن تشغيل الثلاثة في نص واحد يعطل ، لكن يبدو أن تفكيك المهمة أمر جيد.

يقول مسؤول SYS أن كسره أمر مهم ، لكنني لا أرى السبب ، إذا كنت أقوم بتنظيف بعد كل تشغيل. 3 في نص واحد يديرها بالتسلسل على أي حال. هل لدى أي شخص فكرة عن سبب تشغيل ثلاثة نصوص فردية ، لكن تشغيل جميع النماذج في برنامج نصي واحد سيؤدي إلى وجود مشكلات في الذاكرة؟

شكرًا! exl

هل كانت مفيدة؟

المحلول

أسئلة مماثلة تستحق القراءة من خلال:إجبار مجموعة القمامة على التشغيل في R مع أمر GC () استخدام الذاكرة في ص

كانت تجربتي أن R ليست رائعة في إدارة الذاكرة. يمكنك محاولة وضع كل انحدار في وظيفة على أمل أن ترك المتغيرات خارج النطاق يعمل بشكل أفضل من GC () ، لكنني لن أحمل أنفاسك. هل هناك سبب معين لا يمكنك تشغيل كل منها في دفعة خاصة به؟ مزيد من المعلومات كما طلب Joris سوف تساعد أيضا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top