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

با تشکر

دسته بندی ها

0 امتیاز

سلام...من چندتا سوال داشتم....ممنون میشم مفصل راهنمایی بفرمایید...
اولین و مهمترین سوالم :
1-من دادهام رو طبق آموزش سایت برای فرمت lmdb ، به سه دسته train و test و validation تقسیم کردم...

باید مسیرشون رو در معماری الکس نت در کجا معرفی کنم ؟ مسیر دادهای ترین و ولیدیشن که در فایل train_val.prototxt تعریف میشوند ، اونوقت مسیر داده های تست باید در کجا تعریف شود ؟

اگر داده های ولیدیشن نداشته باشم ، اونوقت به چه صورت باید مسیر دادهای تست و ترین رو تعریف کنم؟

2-در صورتی که داده validation رو تعریف نکنم ، باید kfold cross validation انجام بدهم ؟ یا اینکه ربطی ندارد!؟

توسط (215 امتیاز)
ویرایش شده توسط
سلام .
آقا سینا لطفا سوالهای و ۳ و چهار رو تو سوالهای جداگانه مطرح کن. تا اینطور هر سوال یک جواب داشته باشه و بهتر قابل پیگیری و استفاده توسط بقیه بشه. وقتی سوال سه و چهار رو پرسیدی من هم جواب اینجا رو میام و اونجا میدم.
سلام سید جان...دستت درد نکنه ، چشم الان کاری که فرمودیو انجام میدم ...

1 پاسخ

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

سلام .
برای سوالهای ۱ و ۲ :‌
کلا در کفی شما میتونی فازها و همینطور stage‌های مختلفی رو مشخص کنید که هرکدوم هم با یک دیتاست کار کنن و تنظیمات هرکدوم هم مشخص کنید .
مثلا :

layer {
  type: "Data"
  ...
  include {
    phase: TRAIN
  }
}

layer {
  type: "Data"
  ...
  include {
    phase: TEST
    stage: "validation"
  }
}

layer {
  type: "Data"
  ...
  include {
    phase: TEST
    stage: "test"
  }
}

در سالور هم بعدش باید مشخصات هر stage‌رو مشخص کنید . مثلا اینطوری :‌

test_iter: 200
test_state {
  stage: "validation"
}
test_iter: 100
test_state {
  stage: "test"
}

ولی من خودم شخصا (و اکثر کسایی که دیدم ) از حالت پیشفرض استفاده میکنن که توضیح میدم پایین .
ببینید برای کفی فرقی بین validation‌و test‌و ... نیست . این تمایز ها برای ماست که منظور خاصی از استفاده از هرکدوم داریم . برای همین شما خیلی راحت دوتا دیتاست میسازید یکی برای تست و یکی برای ولیدیشن و کاری که میکنید اینه که معماری خودتون رو بصورت train/val‌ میسازید و در فاز test‌ دیتاست ولیدیشن شما استفاده میشه . شبکه رو تنظیم میکنید تا به بهترین دقت برسید وقتی که رسیدید خیلی راحت میتونید دو کار کنید .
۱. برای تست از سویچ test‌استفاده کنید .
۲.خیلی راحت جای دیتاست validation‌و تست رو عوض کنید و شبکه رو روی تست اموزش بدید و دقتش رو گزارش کنید.

برای Kfold‌هم به همین شکل پیش میریم

توسط (4.3k امتیاز)
انتخاب شده توسط
سلام...سید جان من با یکی از استاد تمام های دانشگاه معتبر تهران یه مکاتبه ای کردم در مورد این موضوع جدا سازی دیتاست ها به صورت 2 دسته فقط تست و ترین و انجام ندادن کراس ولیدیشن
ایشون فرمودن که این کار به این صورت درسته چون  به علت تعداد تصاویربالا مشکلی نداره
البته خودمم باز هم از سایتهای مختلف میخوندم ، که اونام گفته بودن اصلا توی موضوع دیپ kfold , اینجور چیزا مطرح نیست ، چون اصلا منابع سخت افزاری مناسبی هم نیست که بتونه این کار رو انجام بده
گفتم که این موضوعو  اینجا هم مطرح کنم...ممنون از راهنماییهای خیلی خوبت آقا سید حسین
سلام.
تو حوزه دیپ لرنینگ kfold برای دیتاستهایی معنی نداره که واقعا بزرگن . اگه دیتاستت اندازه بزرگی نداره این دلیل خوبی نمیتونه باشه . یادت باشه Kfold یه تکنیک برای پیدا کردن بهترین مدله وقتی داده زیادی نداری . با این تعریف میتونی مشخص کنی که تو خودت تو کدوم دسته ای .
من همیشه میگم به خودت سخت بگیری بهتره تا فردا بعد این همه زحمت یکی که هیچ ایده ای از کارت نداره با بهانه های الکی زحمتاتو خدای نکرده بی ارزش جلوه نده یا حقی که باید بهت تعلق بگیره رو بابت یه کارهای پیش پا افتاده که میتونستی خودت انجام بدی اما ندادی ازت سلب کنه.
خلاصه بهونه دست کسی نده . اگه میتونی خودت حساب کن بزار کنار و فقط اگر کسی چیزی خواست اماده داشته باش که بتونی رو کنی.
اها...ممنونم ازت سید جان...درسته، چشم انشاله همین کاری که شما فرمودیو انجام میدم، فقط بدیش اینه که باید دستی حساب بشه...متشکر از راهنمایی های خوبت...
...