ابزارها
بسم الله الرحمن الرحیم
من اینجا لیست ابزارها و چارچوبهایی (فریم ورک) هایی که برای کار تو حوزه دیپ لرنینگ ازش استفاده میشه رو قرار دادم و میدم .سعی اولیه من اینه که ابزارهای مهم و معروف اینجا قید بشه بعدا به مرور زمان شاید ابزارهای پرکاربرد دیگه هم اینجا بزارم.
- نسخه مبتنی بر لینوکس کفی
- نسخه مبتنی بر ویندوز کفی (کامل) : این نسخه، همون آخرین ورژن کفی هست که من مثالها رو به نسخه ویندوزی تبدیل کردم و علاوه بر اون مثال جدیدی رو هم قرار دادم . برخلاف ورژن رسمی تمامی مثالها براحتی قابل استفاده هستند. این نسخه از پایتون ۳٫۶ هم پشتیبانی میکنه (برخلاف نسخه رسمی که فقط از ۳٫۵ پشتیبانی میکنه!)
- نسخه مبتنی بر ویندوز کفی (رسمی) : این نسخه، مثل بالایی هست با این تفاوت که مثالها مربوط به لینوکس هستن و برای اجرای مثالها مجبورید گامهای اضافی بردارید. اگه تازه کار هستید از نسخه کامل (بالایی) استفاده کنید.
- ورژن کامپایل شده Caffe در لینوکس (آپدیت هفتگی)
- ورژن کامپایل شده Caffe در ویندوز– بدون نیاز به نصب (انتهای پست-برای کسایی که میخوان یه تست سریع داشته باشن.)
- Caffe Ubuntu Branch-OpenCL version
- DIGITS-WINDOWS
- MatConvNet (انگار به متلب ۲۰۱۶ هم اضافه شده)
- Torch Pytorch
- Theano
- CNTK
- Deeplearning4j
- Cuda-Convnet
- TensorFlow
- کتابخانه های سطح بالا (Keras ,TFLearn,TFSlim)
نکته مهم برای کارت های گرافیک AMD :
کارت های گرافیک AMD سابقا در زمینه یادگیری عمیق پشتیبانی بسیار ضعیفی داشتند بصورتی که عملا در فریم ورکهای مطرح تنها کارتهای گرافیک ساخت شرکت NVidia پشتیبانی میشد و مورد استفاده قرار میگیرفت. این مساله البته مدتی هست که تا حدودی تغییر کرده و شرکت AMD شروع به ارایه پشتیبانی در این زمینه کرده. البته این پشتیبانی گسترده نیست و فعلا فقط از لینوکس پشتیبانی میشه. شما میتونید نسخه های مبتنی بر ROCm (RadeonOpenCompute) فریم ورکهایی مثل Tensorflow و Pytorch رو از اینجا دانلود و نصب کنید. دقت کنید نسخه ها همیشه بروز نیستند و چندین ماه ممکنه طول بکشه تا نسخه ای بروز رسانی بشه. این پورتها برای کسانی هست که کارت گرافیک AMD دارند و قصد دارند از یادگیری عمیق استفاده کنند و متحمل خرید کارت گرافیک جدید نشن./ از خرید کارتهای گرافیک AMD برای استفاده در یادگیری عمیق تا زمانی که پشتیبانی مناسب وجود نداره بشدت پرهیز کنید.
لیست سخت افزارهایی که پشتیبانی میشن رو میتونید از اینجا مشاهده کنید
نکته مهم :
چیزی که من پیشنهاد میکنم شما یاد بگیرید اول TensorFlow هست و بعد Torch و بعد Deeplearning4J. برای آشنایی caffe رو یادبگیرید. یادگیری و کارکردن باهاش خیلی ساده اس. خیلی قدرتمنده خصوصا تو شبکه های کانولوشن. اما بزرگترین مشکلش نداشتن مستندات درست و حسابیه. البته من تاجایی که تونستم و میتونم مستندات caffeرو تهیه کردم و میکنم و اگر سوالی دارید میتونید از بخش پرسش و پاسخ سایت بپرسید. بر اساس آخرین اطلاعات اعلام شده توسط تیم توسعه دهنده کفی آخرین ورژن کفی ۱٫۱ خواهد بود (در حال حاضر در ورژن ۱٫۰ هستیم ) و توسعه های بعدی با Caffe2 ادامه پیدا خواهد کرد.Caffe2 مستندات بهتری از کفی بنظر میرسه داشته باشه (حداقل تلاش میکنن که اینطور به نظر بیاد) اما در حال حاضر در قیاس با تنسورفلو و تورچ و سایر فریم ورکهای معتبر هیچ صحبتی برای گفتن نداره . شاید در آینده زمانی که مستندات اون در حد و اندازه های سایر فریم ورکها برقرار شد استفاده ازاون منطقی باشه. اما در حال حاضر شخصا پیشنهاد نمیکنم .
اما از طرف دیگه tensorflow توسط گوگل پشتیبانی میشه و بشدت داره رشد میکنه و منابع و مستندات بسیار خوبی براش تهیه شده و داره میشه ،جامعه کاربری بسیار بزرگی داره. هم در حوزه تحقیقاتی و هم صنعتی میشه براحتی ازش استفاده کرد و سیستم عاملهای متنوعی مثل لینوکس و ویندوز رو هم پشتیبانی کامل میکنه و قابل نصب و اجراست ، پروسه نصب فوق العاده ساده ای هم داره (تنها با یک دستور میتونید عمل نصب رو انجام بدید ). اگر دوست دارید چیزی رو یاد بگیرید که هم برای تحقیقات و هم استفاده صنعتی و کار قابل استفاده باشه انتخاب مناسبیه.
Torch هم به همین شکل مستندات بسیار خوبی داره (و قبل از tensorflow بهترین گزینه ای بود که من میتونستم پیشنهاد کنم(البته از لحاظ جامعیت و راحتی کدنویسی هنوز تورچ بهتره ولی چون فقط در لینوکس اجرا میشه من اونو بعد از تنسورفلو پیشنهاد میکنم تورچ هنوز وارد حوزه صنعتی نشده ولی برای تحقیقات بسیار خوبه. اینترفیس پایتون تحت عنوان pytorch هم چندماهی هست که منتشر شده و پیشرفتش فوق العاده بوده . مستنداتش رو هم داره کامل میکنه و در حال حاضر هم بسیار کامل و خوب پیش رفته . pytorch در لینوکس و مک و ویندوز بطور رسمی پشتیبانی میشه و براحتی میتونید اون رو نصب کنید.برای نصب کافیه اینجا رو ببینید. ( در ویندوز بصورت غیررسمی پیشتیبانی میکنه میتونید برای نصب اون در ویندوز از طریق دستور
conda install -c peterjc123 pytorch در پایتون ۳٫۵ یا ۳٫۶ استفاده کنید. )برای استارت کار میتونید اینجا کلیک کنید و برخلاف تنسورفلو ما تحریم نیستیم (فعلا!) . من سعی میکنم سر فرصت توضیحات تکمیلی رو در پستی جداگانه بدم.
خلاصه:
پس بصورت خلاصه اگر میخوایید چیزی رو یادبگیرید که همه جا بتونید ازش استفاده کنید و جامعه کاربری و مستندات خیلی خوب و بزرگی داشته باشه و پشتیبانی از سیستم عامل های مختلف(ویندوز ،لینوکس ،مک ،اندرویدو…) رو داشته باشد و برای اهداف و مقاصد تحقیقاتی و صنعتی مناسب باشه تنسورفلو رو انتخاب کنید و یاد بگیرید
اگر فقط با پایتون قراره کار کنید و کار هم تحقیقاتی هست تورچ میتونه انتخاب خیلی خوبی باشه چرا که سینتکسش خیلی روان و ساده تر هست نسبت به تنسورفلو و بنظر من پیچیدگی کمتری داره. مستندات بسیار خوبی داره و خیلی خوب داره پیشرفت میکنه. تو حوزه تحقیقات دیپ لرنینگ هم خیلی از محققان در مقالات و کارهاشون از تورچ (و الان پای تورچ ) استفاده کردن و میکنن. پشتیبانی پای تورچ در ویندوز بصورت غیر رسمی هست ولی مشکلی نباید داشته باشید.(Pytorch رپرهای قدرتمندی در C++ هم ارایه کرده و در سی++ هم میتونید از اون استفاده کنید و دیگه محدود به پایتون نیست)
Deeplearning4J هم خوب داره رشد میکنه و برای سناریوهای جاوا و سیستم های توزیع شده میتونه خیلی خوب باشه.MxNet هم گزینه بسیار خوبی میتونه باشه چون رپرهای زیاید رو پشتیبانی میکنه.
من انشاالله سرفرصت سعی میکنم نکات مثبت این ها رو بگم . مطالب زیر در مورد caffe هم باقی میمونه برای ارجاعات آینده.
خلاصه :
استارت کارتون در دیپ لرنینگ رو یا با تنسورفلو بزنید یا تورچ
(اگر به رپر مربوط به زبان خاصی نیاز داشتید میتونید نگاهی به MxNet بندازید و اگر با جاوا خواستید کار بکنید (تنسورفلو هم پشتیبانی میکنه اما ) میتونید از DeepLearning4J استفاده کنید.
نصب کفی در لینوکس :
برای نصب Caffe در لینوکس از این راهنما استفاده کنید. اگر از ورژن ۱۵ یا ۱۶ ابونتو استفاده میکنید از این آموزش استفاده کنید (و اگه نیاز به نصب و کار با رپر متلب در لینوکس دارید این راهنما رو ببنید بخش اخرش )
نحوه کامپایل و نصب Caffe در ویندوز
نکات :
توضیحات این پاراگراف مربوط به سال ۹۴ هست و برای ارجاعات اینده حذفش نمیکنم. من در حال حاضر با کفی و تنسورفلو و کراس کار میکنم .اطلاعات فریم ورکها که در پایین داده شده رو البته من بروز میکنم. لیست کارتهای گرافیک و ورژن compute capability اونها هم به عنوان رفرنس قرار داره و بروزش میکنم هر بار) :
از بین اینها من خودم از Caffe استفاده کردم . بطور خیلی محدود هم از Theano . سرعت Caffe خیلی خوبه . قابلیتهای بسیار عالی ای داره و یه مخزن داره که بهش میگن Model Zoo و مدلهای معروف تو مقالات بصورت pre trained شده اماده دانلود و استفاده هستن.(یکی از ویژگی هایی که باعث استفاده زیاد از Caffe میشه دقیقا همین هست.). دانشگاه هایی مثل استنفورد برکلی و …. از این استفاده میکنن. بصورت رسمی Caffe رو اوبونتو ۱۴٫۰۴ پیشتیبانی میشه.(مشکلی با ورژن های جدید نداره البته و پشتیبانی میشه) ولی بصورت جسته گریخته از یکی دو سال پیش ورژنهایی که روی ویندوز هم کامپایل بشن وجود داشتن ولی خب چون بصورت رسمی پشتیبانی نمیشد و معمولا هم توسط افراد معمولی این نسخه ها ارائه میشد هرکدوم یه مشکلی داشتن (حداقل مشکل بروز نبودن نسخه ویندوز نسبت به ورژن رسمی بود و اموزش ها و اسکریپت های مختلفی که فقط برای لینوکس وجود داشت و برای ویندوز پورت نمیشد معمولا خلاصه دردسر داشت.) نسخه ای هم که من گذاشتم پشتیبانی مایکروسافت هست.(من خودم شخصا از دو ورژن تحت ویندوز استفاده کردم قبلا. الان هم رو لینوکس هستم و تحقیقات و کارام رو لینوکس انجام میشه با caffe. ولی سر فرصت اینو تست میکنم و نظر خودم رو میگم).
نسخه OpenCL هم برای کارتهای غیر انویدیا اومده . یعنی کسایی که کارت گرافیک AMD(ATI) یا Intel و یا غیره دارن میتونن از این استفاده کنن.
GeForce Desktop Products
GeForce Notebook Products
اگه کارتتون تو لیست بالا نبود اینجا رو چک کنید :
DIGITS هم یه front-end برای caffe هست که کار رو خیلی راحت میکنه . هنوز رسما ورژن مبتنی بر ویندوزش نیومده اما من ورژنی که خودم برای ویندوز پورت کردم رو قرار دادم و تا وقتی که نسخه رسمیش بیاد میتونید از این استفاده کنید. DIGITs رو یه رابط گرافیکی کاربری برای کار با caffe در نظر بگیرید که بشما اجازه میده خیلی راحت دیتاست خودتون رو مشخص کنید و تنظیمات مختلف رو بصورت گرافیکی انجام بدید و نهایتا موقع training نرخ خطا و میزان دقت و… رو بصورت بلادرنگ تو نمودار بهتون نشون میده که خیلی عالیه . بعدش هم میتونید نمونه های دیگه رو تست کنید. مدلهای مبتنی بر caffe با این سازگار هستن.
اگر مشکلی پیش اومد میتونید از اینجا برای رفع اشکال استفاده کنید.
بعدی Torch هست. که سرعت خوبی داره و برخلاف Caffe مستندات خیلی خوبی هم داره . توسط فیس بوک و گوگل استفاده میشه و ویژگی های جدیدی که تو مقالات ارائه میشن معمولا قبل از همه پیاده میکنه . اطلاعات کامل در مورد تورچ و نحوه اجرا و خلاصه همه چیزش بصورت کامل اینجا هست. اگر هم سوالی بود میتونید از بخش پرسش و پاسخ ما یا پشتیبانی رسمیش اینجا بپرسید. تورچ در ویندوز پشتیبانی نمیشه . برنامه ای هم برای پشتیبانی ازش در ویندوز در حال حاضر ندارن . پس فقط محدود به لینوکس هست. در حال حاضر!. علاوه بر همه اینا رپر پایتونش رو هم چند ماهی میشه عرضه کرده و بسرعت داره پشتیبانیش از پایتون رو قوی تر میکنه. مستنداتش رو هم به همین شکل بخوبی داره تهیه میکنه. برای آموزش و اطلاعات بیشتر میتونید به pytorch.org مراجعه کنید.
MatConvNet هم یه تولباکس برای متلب هست که اخیرا خوب داره کار میشه روش اما به اندازه دوتای قبلی (و ثیانو که زیر توضیح میدم) معروف نیست (شاید من زیاد به چشمم نخورده) ولی به هر حال منبع خوبی میتونه باشه برای کسایی که متلب کار هستن. این هم مثل Caffe دارای یه بخش هست که مدلهای از قبل train شده در اون وجود دارن (اینا از Caffe گرفته شده!). بنظر میاد داکیومنت بدی هم نداشته باشه هرچند من شخصا استفاده نکردم .آموزش نصبش رو آقای ملک زاده عزیز اینجا زحمت کشیدن و گذاشتن. هم در لینوکس و هم در ویندوز قابل استفاده اس.
Theano هم که مبتنی بر پایون هست و تعداد خیلی زیادی از فریم ورکهای حوزه دیپ لرنینگ از این مشتق شدن یا دارن استفاده میکنن. ثیانو در اصل یه کتابخونه پایتون هست که عملیات های ماتریسی رو بخوبی انجام میده . (کلا پایتون بشدت تو حوزه data science استفاده میشه و اگه کسی میخواد تو این زمینه ها کار کنه خیلی خوبه که این زبان رو یادبگیره. تمام فریم ورکهایی رو هم که نام بردم همه اشون wrapper برای پایتون دارن و کلا کارها با پایتون خیلی خیلی راحتر هست). استفاده از ثیانو نسبت به گذشته خیلی کم شده.
CNTK توسط مایکروسافت چندماه پیش ارائه شده . هنوز یوزر بیس کافی نداره و بهتره برای کارهای جدی ازش استفاده نکنید که یوقت توش بمونید و کسی نباشه که کمکتون کنه . اگه وقت دارید و به موضوع تسلط خیلی خوبی دارید میتونید برید طرفش . ولی پیشنهاد من اینه اول با یکی از ابزارهای معروف که یوزر بیس خوبی هم دارن شروع کنید که اگر به مشکلی برخوردید زود برطرف کنید. بعد که تسلط و تجربه پیدا کردید حالا برید سراغ ابزارها و چارچوبهای دیگه برید.
DeepLearning4J هم مبتنی بر جاوا هست و یکی از فریم ورکهای خیلی خوب تو این زمینه است که مستندات خیلی خوبی داره هرچند شخصا تستش نکردم اما در نظر دارم حتما طرفش برم.این چارچوب بعنوان مثال در ناسا ازش استفاده میشه و سرعتش حداقل ۲ برابر از ثیانو بیشتره و برای کاربردهای توزیع شده و… ایده آل و فوق العاده اس. هم در ویندوز و هم در لینوکس براحتی میتونید از این چارچوب استفاده کنید.
Cuda-Convnet هم توسط الکس کریژوسکی نوشته شده (برنده رقابت ImageNet2012 , همون کسی که باعث و بانی شدت گرفتن دیپ لرنینگ شد!).
TensorFlow : یکی از بهترین های این حوزه است که بشدت داره پیشرفت میکنه و محبوب میشه. Tensorflow برای سناریو های توزیع شده چه مبتنی بر سی پی یو و چه جی پی یو بسیار عالی عمل میکنه و توسط گوگل پشتیبانی میشه.هم در لینوکس و هم در ویندوز (از ورژن ۰٫۱۲ به بعد ) پشتیبانی میشه . از ویندوز های ۷ و۱۰ و سرور۲۰۱۶ پشتیبانی میشه.
کتابخانه های سطح بالا (Keras ,TFLearn,TFSlim, Blocks ,…):
این کتابخونه ها که تعدادشون هم کم نیست به خودی خود عملیات های مربوط به آموزش و … رو انجام نمیدن . اینها در اصل یه frontend یا یه لایه بالایی هستن که از امکانات کتابخونه ها/فریم ورکهایی مثل تنسورفلو و ثیانو پشتیبانی میکنن و کار برنامه نویسی و کار کردن رو خیلی راحت تر میکنن.
Keras یه کتابخونه سطح بالاس که از ثیانو و تنسورفلو استفاده میکنه یعنی اگه شما با کراس کار کنید میتونید رو هرکدوم از این بک اندها سویچ کنید که از این لحاظ قابلیت خیلی خوبه. کراس مقبولیت خوبی بین کاربرا داره و مستندات بسیار خوبی هم داره.
TFLearn و TFSlim هم بطور اختصاصی به تنسورفلو اختصاص دارن . TFSlim که درون خود تنسورفلو هست ولی TFLearn جداگانه باید نصب بشه و مستندات بسیار خوبی داره .
Blocks هم یکی دیگه از فرانت اندهای مبتنی بر ثیانو هست.
من انشاالله سعی میکنم بعدا توضیحات مبسوطی در مورد اینها بدم و یه مقایسه ای هم بین اینها انجام بدم ولی فعلا بعلت ذیق وقت به همینقدر بسنده میکنم اگر سوالی هست بفرمایید اگه بلد بودم جواب میدم.
با سلام
خیلی ممنون بابت این وبلاگی که دارید.و انشا… که همیشه موفق باشید
یه سوال دارم : من کارت گرافیک غیر انویدیا دارم میخواستم بدونم میشه با این وجود با تنسور فلو کار کنم؟
ممنون
سلام
یه برنچ opencl از تنسورفلو هست (البته یکی دیگه هم هست ولی این بروزتره ) : https://github.com/benoitsteiner/tensorflow-opencl
میتونید چک کنید. اما انتظار پشتیبانی و… خاصی نداشته باشید. کلا OpenCL بصورت رسمی پشتیبانی نمیشه و این ورژن هایی رو هم که میبینید غیررسمی هستن و جامعه کاربری کوچیکی دارن.
آپدیت :
کسانی که کارت های گرافیک AMD دارن میتونن نسخه های مبتنی بر rocm رو از اینجا دانلود نصب کنند. هم Pytorch و هم Tensorflow پشتیبانی میشن . برای نصب و… اینجا کلیک کنید.
برای مشاهده لیست سخت افزارهای پشتیبانی شده (GPU های پشتیبانی شده AMD ) اینجا کلیک کنید
ببخشید یعنی همه چی بستگی داره به اینکه کارت گرافیک nvidia داشته باشیم؟من هم ندارم اما می خواهم دیپ لرنینگ کار کنم و همشون دردسر دارن برای نصب و کار کردن مثل اینکه. من مطالب سایت را چند بار خوندم اما تو عمل خیلی دردسر دارن میشه منبع تصویری برای نصب اینها معرفی کنید؟ ممنون
سلام .
بعضی کارها اون اوائل خیلی دردسر داشت اما الان نه . واقعا راحت شده . آموزش تصویری انشاالله وقت کنم حتما میزارم فعلا یکم سرم شلوغه. شما استارت کارتون رو بزنید جایی خطایی چیزی گرفتید تو گروه پرسش و پاسخ میتونید بپرسید.
هرکدوم از این کتابخونه ها هم گوره کاربری خودشو داره که میتونید اونجا هم بپرسید اگه از پیش ما جواب نتونستید بگیرید.
دیفالت همه دیپ لرنینگ تا امروز همه کارتهای انویدیا بوده . اما پشتیبانی از کارتهای AMD هم هست هرچند بصورت اولیه. ولی استارت میتونید با همونا بزنید و کارتون رو پیش ببرید.
[…] مورد نظر شما این قابلیت ها رو داره میتونید از بخش ابزارها لیست و لینکهایی که برای این بخش قرار داده شده استفاده […]
سلام .
بنابر گفته هاتون در مورد کارت ۹۷۰ در صورتی که از دوتای این کارت همزمان استفاده بشه ، چقدر تاثیر داره ؟
سلام .
از لحاظ سرعت پردازش و اموزش خیلی سریعتر میشه اما در حال حاضر هیچکدوم از کتابخونه ها و چارچوب های یادگیری عمیق حافظه ها رو تجمیع نمیکنن. یعنی شما بعنوان مثال در کفی میتونید مدلی رو آموزش بدید که در حافظه هر کارت گرافیک جا بشه.(محدودیت رو حافظه کمتر مشخص میکنه)
بزارید یک مثال بزنم اگه دوتا کارت داشته باشید یکی ۴ گیگ یکی ۲ گیگ شما میتونید مدلی رو اجرا کنید که در ۲ گیگ جا بشه!
اینطور بعنوان مثال کفی میاد شبکه رو بصورت موازی روی دوتا کارت اجرا میکنه (و اندازه بچ شما دو برابر میشه) و نتایج ترکیب و خروجی بشما داده میشه .
تنها سودی که این کار داره سریعتر انجام شدن فاز اموزش هست .
حالا شما میتونید همین نکته رو در مورد ۹۷۰ هم تعمیمش بدید. یعنی شما دوتا کارت ۹۷۰ استفاده کنید اولا کماکان همون محدودیت ۴ گیگ حافظه رو دارید. و حتما شبکه شما باید فضایی کمتر از ۳٫۵ گیگ اشغال کنه تا بمشکل نخورید .
نکته مثبتش فقط این میشه که عملیات آموزش چند برابر سریعتر پیش میره
به همین دلیل هم هست که همییشه پیشنهاد میشه بجای استفاده از چند کارت گرافیک با حافظه کم از یه کارت گرافیک قوی تر با حافظه زیاد استفاده کنید. (مگه اینکه بدونید معماریتون زیر ۴ گیگ خواهد بود و کارتها هم ارزون یا در دسترس هستن . در این حالت خب دندون اسب پیش کشی رو نمیشمارن! و از هرچی دارن استفاده میکنن)
البته این نکته رو هم باید بگم که در بین فریم ورکها من تنها تنسورفلو رو دیدم که شما میتونید بار پردازشی رو مشخص کنید روی چه چیزی باشه . یعنی میتونید مشخص کنید کدوم بخش از کد شما روی کارت گرافیک ۱ کدوم روی سی پی یو و کدوم روی کارت گرافیک ۲ و الی اخر اجرا بشه
البته در ظاهر این خیلی خوبه اما در عمل بکار گیری اون همچین بدون چالش و راحت هم نیست.
سلام و عرض ادب
اگر ممکنه نحوه نصب تنسور فلو رو بفرمایید
تو نت یه چیزایی هست ولی چون تجربه کمی دارم نتونستم استفاده کنم
ممنون
درود و مهر بر شما
پیشنهاد میکنم سرعت اجرا بین ابزارهای گفته شده با سخت افزارهای گوناگون را مقایسه نمائید.
مایکروسافت مقایسه سرعت اجرای ابزارهای فوق را با یک GPU به شکل زیر بیان میکند
۱: Caffe
۲: Torch 7
۳: CNTK
۴: TensorFlow
که ۳ مورد اول اختلاف بسیار کمی با هم دارند
اما در اجرا با ۴ یا ۸ عدد GPU ابزار CNTK با اختلاف زیاد و چشمگیر از بقیه ابزارها سریعتر است
سلام .
اگه اشارتون به بنچمارکی هست که مایکروسافت اواخر ۲۰۱۵ داد (زمان عرضه CNTK (که تو صفحه گیتهابش هم هست) اون دیگه الان صحیح و دقیق نیست . از اوایل سال ۲۰۱۶ ورق کاملا برگشت.
بعنوان مثال اگر اشتباه نکرده باشم الان Neon سریعترین فیم ورک هست و کفی حتی تو سه فریم ورک اول هم نیست . تنسورفلو باز بعنوان مثال از کفی بهتر شده!
من در بخش پرسش و پاسخ به سوال یکی از عزیزان قبلا جواب دادم که در همین مورد بود اونجا یه مقاله رو معرفی کردم که فریم ورکهای مختلف رو تست کرده بود و خوندنش برای شما بنظرم خالی از لطف نباشه .
اگه این بنچمارکی که اشاره کردید اخیرا انجام شده بنظرم خیلی بهتره لینکش رو هم در اختیار همه قرار بدید تا از این لطف شما بیشتر و بهتر بشه بهره مند شد.
در پناه خداوند انشاالله همیشه موفق و سربلند باشید
درود و مهر بر شما
این ویدیو را مشاهد بفرمایید
https://www.youtube.com/watch?v=TK671HxrufE
سلام .
خیلی ممنونم .
بله دیدم . اما اگر دقت کرده باشید در ویدئو هم (اینجا(دقیقه ۱۴:۳۸) ) گفته میشه که این بنچمارک مربوط به دسامبر سال قبلش هست (دسامبر ۲۰۱۵ ) و بصورت زیرکانه ای گفتن شاید بقیه بهبود پیدا کرده باشن الان اما ما دوباره بنچمارک نگرفتیم!!!
و همونطور که قبلا عرض کرده بودم الان خیلی تفاوت کرده و دیگه مثل اون زمان نیست.
[…] ابزارها […]
[…] ابزارها […]
اینجا فرمودید :
فقط یادتون باشه cuda و cudnn رو قبلش دانلود و نصب کرده باشید. و مسیر cudnn رو تو فایل CommonSettings.props وارد کرده باشید.(یادتون باشه شما فایل CommonSettings.props.examples رو دارید باید پسوندش رو که .example هست حذف کنید.) اگه از پایتون میخوایید استفاده کنید بهترین گزینه دانلود Anaconda2 هست.
اما من کارت گرافیکم مشکل داره و میخوام از سی پی یو استفاده کنم!!!! نیاز به تنظیم خاصی در این مورد هست؟؟ چیزی راجع بهش نگفتید.
آخرش با روش خود سایت کفی مراحل نصب رو انجام بدم یا این که شما فرمودید با ویژوال استدیو بزنید اجرا!!! در هر دو صورت برای من خطا میده!!!!! دیوانم کرده دیگه!
سلام .
نه برای CPU مشکلی نیست. من بخش آموزش رو اپدیت کردم . یه نگاه بندازید اگه باز مشکل داشتید لطفا یه سوال جدید تو بخش پرسش و پاسخ بپرسید تا جواب بدم .
میتونید البته از ورژن از پیش کامپایل شده هم استفاده کنید. که لینک اون هم بالا هست.
[…] ابزارها […]
سلام
فقط خواستم تشکر کنم از زحماتتون. سایتتون کامل و عالی هست.
خواهش میکنم
سلام. من یه کد شبکه کانولوشن با زبان سی نوشتم. البته فقط مرحله ی inference رو نوشتم. برای چک کردن برنامه م به وزن هایی که بعد از train به دست اومدن نیاز دارم. چه طوری میتونم این وزن هارو بدست بیارم؟ مثلا امکانش هست از فایلی که بعد از آموزش در تنسورفلو تولید میشه استفاده کنم؟ فایل رو دارم اما خب نمیتونم محتوای فایل رو ببینم که بتونم داخل برنامه ای که خودم نوشتم import کنم. ممنون میشم بهم کمک کنید
سلام
لطفا سوالتون رو در سایت پرسش و پاسخ مطرح کنید من فرصت نمیکنم به خیلی از سوالات اینجا جواب بدم .
در مورد سوالتون هم در حین ترینینگ میتونید اسنپ شاتهای مختلفی بگیرید . برای استفاده از فایلهای تولید شده توسط تنسورفلو هم باید از API خودش استفاده کنید.
اما اگر همچنان اصرار دارید خودتون همه چیز رو پیاده سازی کنید از ابتدا پیشنهاد میکنم به سورس تنسورفلو تو گیت هاب مراجعه کنید و ببینید به چه فرمی ذخیره میکنن و بر همون اساس فایل رو بخونید.
خیلی ممنون
سلام لطفا اموزش نصب کفی در اوبونتو رو هم توضیح بدید ممنون میشم
سلام
در حال انجام هست. انشاءالله تمام شد در سایت قرار میگیره
با سلام
کارت گرافیک بنده GeForce GT 740M می باشد و با این دستور conda install -c peterjc123 pytorch cuda 80 پایتورچ را نصب کردم اما در اجرای برنامه دو خطا دارم یکی اینکه float32 رو شامل نشده و یکی هم runtime cuda error؛ راه حلی برای حل این مشکلات پیشنهاد دارید؟
ممنونم
سلام.
شما نباید برای نصب پایتورچ از اون دستور استفاده کنید! برای نصب آخرین نسخه پایتورچ (یا نسخه های رسمی قبلی) فقط از سایت Pytorch.org استفاده کنید.
برای استفاده از پای تورچ کارت شما حتما باید compute capability 5 به بالا داشته باشه و اگه ندارید باید کامپایل کنید از سورس کد.
سلام وقتتون بخیر
خیلی عذرخواهی میکنم من تازه کارم و اصن از صحبت های شما سر در نیوردم درباره caffe و مابقی
من خواسم کلاس پایتون ثبت نام کنم آیا برای Deep learning استارت خوبیه؟ یا باید کلاس دیگه ای برم؟ ممنون میشم راهنمایی کنید
سلام.
برای یادگیری عمیق یادگیری پایتون خیلی خوبه (ضروریه تقریبا ولی لازم نیست حرفه ای بشید اینکه پایتون رو میگیم یاد بگیرید بخاطر اینه که تمام فریم ورکهای مطرح و برتر یادگیری عمیق و آموزشهاشون به زبان پایتون ارائه میشن (رپر ها به زبانهای دیگه هم دارن) برای همین قدم اول کار با این فریم ورکها یادگیری پایتون هست. بعد از اینکه پایتون رو یاد گرفتید یکی از فریم ورکهای معروف رو میتونید یاد بگیرید Pytorch عالیه . هم میتونید از پای تورچ استفاده کنید و هم از تنسورفلو (کراس)
میتونید از اینترنت آموزش دیپ لرنینگ در پای تورچ یا تنسورفلو رو سرچ کنید معمولا اکثرا آموزشها برای تازه کارها یک مقدمه ای از زبان پایتون رو هم ارائه میکنن و برای شروع خوبه.
خیلی خیلی لطف کردین واقعا ممنونم از وقتی که میزارید
سلام . اگر امکانش هست یه road map برای شروع آموزش تو سایت قرار بدید . مرسی
سلام انشاءالله سر فرصت این کارو انجام میدم
سلام
این کامنت رو بعنوان تست ارسال میکنم
ممنون که در ایمیل پاسخ سوالم رو دادید واقعا شرمنده شدم اینقدر سریع، خوب، تمیز و کامل و پایتورچ و TF رو توضیح دادید.
واقعیت من چندسری برای کامنت گذاشتن تلاش کردم، مشکل این بود که وقتی تمام فیلدهارو درست تکمیل کردم و ارسال نظر رو میزنم، در صفحه بعد تقریبا چنین پیغام میداد که زمان ورود شما از کپچا منقضی شده دوباره تلاش کنید یه همچنین چیزی. درصورتی که خیلی سریع خیلی آهسته و متوسط فیلدهارو پر کردم، یا کچپا رو پر کردم و… هیچ حالتی جواب نمیداد که براتون پیام مستقیم ارسال کردم.
الان هم از کروم و ویندوز بدون وی پی ان دارم تلاش میکنم امیدوارم ارسال شه :)))
سلام وقتتون بخیر من یه تحقیق دانشگاهی دارم با عنوان تحقیق جامع درباره ۷ ۸تا از ابزار های یادگیری عمیق که شامل تنسورفلو،کفی،کراس،پایترچ،MXNet،CNTK،Fast.ai،Deeplearning4j هست،زمان خیلی کمی دارم و مطالب هم خیلی پراکنده ست… امکانش هست اگر مطلبی در این خصوص دارین در اختیارم قرار بدین لطفا :(((