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

با تشکر

دسته بندی ها

0 امتیاز

با سلام
من تازه کار هستم و متوجه نشدم این دستور برای چیست ممکنه راهنمایی بفرمایید؟
و مثلا (torch.random_seed(3 با (torch.random_seed(300 چه فرقی می کند؟
اگر ممکن هست مثال ملموس بزنید ممنونم
ممنون

توسط (106 امتیاز)

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

سلام
خیلی از عملیاتها نیاز به مقداردهی اولیه یا عملیاتهای تصادفی دارن در یادگیری عمیق مقداردهی اولیه مقادیر خصوصا وزنها و یا عملیاتهای رندومی مثل دراپ اوت متاثر از همین موارد هستن. با ست کردن یک Seed یکسان کاری که شما میکنید اینه که اون بحث تصادفی بودن رو میزارید کنار و عملیاتها deterministic یا قطعی میشن. یعنی خروجی که شما میگیرید برفرض مثال اگر من هم ببرم در سیستم خودم اجرا کنم همون خروجی رو میگیرم (یا خود شما دوباره یا صدبار دیگه کدتون رو اجرا کنید هر بار یک خروجی میگیرید )
معمولا از این کار در آموزش ها استفاده میشه تا یادگیرنده همون خروجی استاد رو دریافت کنه و مطمعن بشه همه چیز رو بدرستی انجام داده .
موضوع بعدی در فرایند اموزش و تست کد هست و زمانی که شما بخایید دیباگ انجام بدید و یا چک کنید فرایند شما بدرستی انجام میشه المانهای تصادفی رو اینطور حذف میکنید .
مثلا من میخوام ببینم بهبود یا بدتر شدن خروجی شبکه ام بخاطر کدوم تغییر من بوده . برای اینکار میام با ست کردن یک Seed شروع به تست بخشهای مختلف میکنم.

توسط (4.3k امتیاز)
انتخاب شده توسط
ممنون از پاسختون. این مقداری که به آن میدهیم به چه معناست؟ یعنی چه تفاوتی بین random_seed(3) و random_seed(2) هست؟ و اینکه random_seed() با manual_seed() چه تفاوتی داره؟ ممنون
سلام. اون مقادیر هر چیزی میتونه باشه و دلایل مختلفی داشته باشه. باید در کانتکست مورد نظر بگید تا بگیم چرا اونجا داره اینکار صورت میگیره. یک مورد خاص اینه که اون عدد یک مقداردهی اولیه مناسب رو باعث میشه. من random_seed رو در پای تورچ ندیدم (زیاد هم البته تسلط ندارم) اما manual_seed برای ست کردن سیت در پای تورچ هست :‌ https://pytorch.org/docs/master/torch.html?highlight=manual_seed#torch.manual_seed
سلام بله درسته random_seed رو در پایترچ نداریم عذر میخوام. من دارم یکسری کد رو در زمینه text classification بررسی میکنم و دیدم که هرکدوم seed  رو یک مقدار متفاوتی گذاشتن. ممنون
...