معماری CUDAی کارت گرافیکم رو چجوری بفهمم؟

من دارم کتابخونه Tensorflow رو روی لپتاپم نصب می‌کنم اما هر کاری می‌کنم نمیشه و چیزیم راجع بهش پیدا نکردم تا این که به این عبارات تو سایتش رسیدم:
Packages do not contain PTX code except for the latest supported CUDA® architecture; therefore, TensorFlow fails to load on older GPUs when CUDA_FORCE_PTX_JIT=1 is set.

Note: The error message “Status: device kernel image is invalid” indicates that the TensorFlow package does not contain PTX for your architecture. You can enable compute capabilities by building TensorFlow from source.

چجوری می‌تونم بفهمم معماری CUDAی کارت گرافیک من چیه؟

2 Likes

خطایی که موقع نصب بهتون میده چیه؟

این پیام (قسمت note) داره میگه تنسورفلو رو از روی منبع نصب کنید:

پ.ن. احتمال اینکه اینجا مشکلتون حل بشه کمه، بهتره بگردین فوروم‌های مرتبط با خود تنسور-فلو رو پیدا کنین، شاید جایی در استک اورفلو یا جاهای مشابه. و اونجا مشکل رو مطرح کنین.

2 Likes

آره خودمم به این رسیدم که در نهایت میشه از رو منبعش بسازمش ولی خب یکم زمانبره و ترجیحم اینه تا جای ممکن نرم سراغش. ولی فکر کنم در نهایت باید برم سراغ همین کار.

چند نکته درباره Tensorflow

  • حتی با پردازنده مرکزی و بدون نیاز به کارت گرافیک هم باید بتوانید نسخه CPU را نصب کنید.

  • اگر از پایتون برای برنامه‌نویسی استفاده می‌کنید، من نصب از طریق Anaconda را پیشنهاد می‌کنم. خیلی ساده و سر راست می‌تونید نه تنها Tensorflow بلکه بقیه مدول‌های پایتون و هوش مصنوعی را نصب کنید. اگر ویندوز دارید، شیوه نصب کردن Anaconda را در اینجا ببینید. بعد می توانید بر اساس این دستور Tensorflow را نصب کنید.

  • کارت گرافیک شما به شرطی که مدل‌های خاصی از NVIDIA باشد، می تواند CUDA را پشتیبانی کند. مثلا کارت گرافیک‌های Intel و یا AMD این قابلیت را ندارند. در اینجا لیستی از سخت‌افزارهایی که CUDA را پشتیبانی می‌کنند را ببینید.

  • چه طور مدل کارت گرافیک را پیدا کنیم؟ در ویندوز می‌توانید از System Information استفاده کنید. در لینوکس کافی است نوشته زیر را در ترمینال تایپ کنید:

lspci | grep VGA
3 Likes

اگر در لینوکس هستید دستور زیر رو بزنید و دوباره امتحان کنید:
export CUDA_FORCE_PTX_JIT=0
(مساوی صفر هست)
اگر در ویندوز هستید باید این متغیر رو به صورت environment variable با مقدار صفر تعریف کنید. در نسخه‌های مختلف ویندوز احتمالا کمی فرق می‌کنه. تا جایی که یادمه در قسمت properties مربوط به my computer یه جایی دکمه environment variables… بود. سرچ کنید راهش رو پیدا می‌کنید.

پیشنهاد کلی من اینه که اگه لینوکس ندارید نصب کنید و با اون کار کنید. کار با خیلی از این چیزای محاسباتی در لینوکس راحتتر و کم‌دردسرتره. فقط حرف من نیست این کتاب هم همین رو میگه:
https://www.manning.com/books/deep-learning-with-python

پیشنهاد دیگه من اینه که اگه از keras استفاده نمی‌کنید اون رو ببینید خیلی چیزها رو راحتتر می‌کنه.

1 Likes

من از tensorflow.keras استفاده می‌کنم اما جدیدا هی دچار مشکل میشه که اونم ممکنه به خاطر قدیمی بودن کارت گرافیک من باشه، روی CPU بدون مشکل کار می‌کنه اما رو GPU یکم اذیت می‌کنه.

حقیقتش رو بخواید چند وقته ترجیح می‌دم از Anaconda استفاده نکنم به خاطر مشکلاتی که داشتم باهاش.

1 Likes