به بخش پرسش و پاسخ یادگیری عمیق خوش آمدید,
این نسخه آزمایشی سایت است.
لطفا به نکات زیر توجه کنید:
  • برای ارتباط با مدیران میتوانید از صفحه مدیران اقدام کنید.
  • سوال و جواب ها باید به زبان فارسی باشند. استفاده از زبان انگلیسی یا فینگلیش برای پاسخ دادن مجاز نیست.
  • لطفا بعد از پرسش سوال لینک سوال خود را در گرو تلگرام (Iran Deep Learning Group) معرفی کنید تا سریعتر به جواب برسید. برای دسترسی به آخرین لینک از منابع یادگیری استفاده کنید
  • لطفا بجای عکس از متن استفاده کنید. اگر متون طولانی هستند از سایت pastebin.com برای اپلود استفاده کرده و لینک حاصل را در سوال خود قرار دهید. برای قرار دادن تصویر ، از بخش ارسال تصویر ادیتور سایت استفاده کنید.
  • بعد از دریافت پاسخ، بهترین پاسخ را از طریق کلیک بر روی علامت تیک انتخاب کنید
  • اگر با خطا و یا مشکلی مواجه شدید از بخش تماس با ما در انتهای صفحه و یا ایمیل Coderx7@gmail.com موضوع را اطلاع دهید.

با تشکر

دسته بندی ها

0 امتیاز

با سلام.. من قبلا ورژن 0.12 تنسورفلو رو با سورس نصب کرده بودم ولی الان ورژن 1.3 رو با virtualenv نصب کردم.. جایی خونده بودم که اگر با سورس نصب بشه سرعت بالاتره.. آیا درسته؟ این دو روش چه فرقی با هم دارند؟ آیا با استفاده از virtualenv میتوان از محیط pycharm و jupyter هم استفاده کرد؟
من خودم فکر میکنم که سرعت حتی ایمپورت تنسورفلو کمی پایین اومده!! حالا نمیدونم شاید ورژن 1.3 پر محتواتره...
ممنون از پاسخی که میدید..

توسط (155 امتیاز)
ویرایش شده توسط

2 پاسخ

+1 امتیاز

سلام
اگه از سورس نصب کنید می تونید بیشتر بر اساس محیطی که دارید نصب رو انجام می دید(مثلا اگه cpu هاش امکانات خاصی داره)، می تونید tensorflow رو اختصاصی کنید
پکیج های معمولی تنسورفلو هدفش این بوده که تقریبا روی همه جا نصب بشه و کمترین فرض رو در مورد محیط نصب داشته باشه
البته اگه فقط سورس رو بگیرید و بدون هیچ تغییری توی خود کد یا تنظیمات ساختش، کامپایل کنید، معمولا فرقی با نصب از طریق پکیج ها نداره، مگه اینکه مثلا خوده cmake ی چیزی بعضی تنظیمات رو تغییر بده

بحث virtualenv هم مجزا از بحث نصب از سورس یا استفاده از پکیج هستش، یعنی با استفاده از virtualenv ، محیطهای کتابخونه های مختلف رو جدا می کنید، حالا ممکنه یه سری هاش رو با پکیج از pip نصب کردید، یه سری هاش رو از سورس ساختید و بعدش اصلا خودتون دستی فایل هاش رو کپی کردید یا هر جور دیگه ای
در سرعت اجرا که تاثیری نداره اما اینکه چقدر در موقع import چقدر سرعتش فرق می کنه رو متاسفانه ایده ای ندارم

در مورد استفاده از virtualenv در IDE های مختلف هم، این موضوع کامل مجزا از IDE هستش و می تونید ازش استفاده کنید. البته اینکه چه طوری، بسته به خوده IDE داره

توسط (1.6k امتیاز)
+1 امتیاز

سلام
بله سرعت اجرای تنسورفلو زمانی که خودتون کامپایلش کنید با زمانی که از پکیج های از پیش اماده pip و conda استفاده کنید بیشتره. دلیلش هم اینه که در پیکیج های از پیش اماده سعی بر پشتیبانی حداکثری شده . یعنی تاجای ممکن بیشترین سخت افزار و سیستم بتونن بدون مشکل اون پکیج رو نصب و اجرا کنن. برای همین از حداقل بهینه سازی ها استفاده شده که بین تعداد بیشتری سخت افزار مشترک و قابل استفاده باشه.
زمانی که خودتون کامپایل میکنید با توجه به قابلیت هایی که سیستم شما داره (پردازنده و کارت گرافیک و سایر مولفه ها) همه بهینه سازی های در دسترس اعمال میشن و برای همین نتیجه نهایی سرعتش خیلی میتونه بهتر از حالت اولیه باشه.

در virtualenv شما کافیه بعد از اینکه فعالش کردید خیلی راحت هرچیزی که نیاز دارید نصب و اجراش کنید. اگه notebook رو میخوایید اجرا کنید بنویسید jupyter notebook و اجراش کنید به همین شکل برای بقیه میتونید انجام بدید.

توسط (4.3k امتیاز)
ممنون.. به نظرتون برای کار دکترا و پیاده سازی تز دکترا از سورس نصب کنم بهتره؟ منظورم اینه که برای برنامه ای که در نهایت در رابطه با پایان نامم مینویسم و سرعت هم تقریبا توش مهمه، از سورس نصب کنم یا همین که نصب کردم باشه؟
با تشکر!
خواهش میکنم.
برای راحتی خودتون بهتره اما در تز دکتری این نیست که تاثیرگذاره.  اون اوردر زمانی الگوریتم و فراینده های جانبیشه که تفاوت فاحشی ایجاد میکنه که البته این موارد هم ارتباط مستقیم با کار خودتون داره. اگر هم خبری از الگوریتمهای جدید و ... نیست و صرفا همه چیز مربوط به همین روشهای معمول دیپ لرنینگ و مثلا یک شبکه عصبی عمیق کانولوشن باشه (یا rnn یا....)هست شما هر کاری که میکنید هر قیاسی که انجام میدید با همون یک سیستم باید انجام بشه .
مثلا اگه قراره معماری خودتون رو با 4 تا معماری دیگه قیاس کنید و بگید خب فاز Inference فلانقدر میلی ثانیه طول میکشه وبقیه فلانقدر ... همه معماری ها رو با یک ورژن تنسورفلو ران میکنید و قیاس انجام میشه. نمیتونید همینطوری بگید فلان روش انقدر مصرف حافظه اشه و انقدر زمان اجراش و مال ما انقدره در حالیکه اون روش کلا تو یه فریم ورک دیگه اجرا شده باشه. یعنی هر قیاسی قراره انجام بشه باید محیط و شرایطش یکی باشه. اینطوری دیگه اهمیتی نداره شما از سورس کامپایل کردید یا نه. چون سرعت و حافظه و همه شرایط یکسان هست برای همه و تغییرات براحتی قابل قیاس میشه.
...