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

با تشکر

دسته بندی ها

+1 امتیاز

سلام
. من بعد از train مدل cifar بدون هیچگونه تغییری در پارامترها وقتی که یک دیتایی رو برای تست به شبکه میدم (با snapshot 4000) . خروجی همه کلاس ها یک هست و زمانی هم که خروجی هر لایه ای رو استخراج می کنم مقدار صفر را داره ؟
ممنون میشم راهنمایی کنید که چه چیزی می تونه باعث این مشکل بشه .
در ضمن موقع train دقت شبکه توی تکرار ۴۰۰۰ برابر ۷۰ درصد بود !

در ادامه لینک ، مدل و فایل prototxt شبکه رو قرار دادم .
تصویر
فایل prototxt
مدل آموزش داده شده

caffe.set_mode_gpu();
model = 'cifar10_quick.prototxt';`
weights = 'cifar10_quick_iter_4000.caffemodel';
net = caffe.Net(model,weights,'test');
im = imread('labrouste_000003.jpg');
im = imresize(im,[32 32]);
score = net.forward({im});
توسط (128 امتیاز)
سلام.
تست رو چطور انجام میدید؟ اگه ممکنه اطلاعات رو تا میتونید با جزییات بگید . مثل اسکریپت رو هم قرار بدید که برای تست ازش استفاده میکنید و همینطور یک نمونه تصویر و دقیق هر کاری میکنید رو قید کنید.
معمولا این وقتی اتفاق می افته که یا شما یه تغییراتی در تصاویر در زمان اموزش میدید که در زمان تست وجود نداره و این باعث اینجور مکشلا میشه یا اینکه کد تست شما مورد داره.
سلام .
من برای آموزش هیچ تغییری توی اسکریپت ها ندادم و برای آموزش دقیقا براساس مراحلی که توی سایت مرجع caffe گفته شده پیش رفتم در مورد تست هم فکر می کنم با توجه به اینکه گفتید توی آموزش و تست نباید دیتا مغایرت داشته باشه و یادم هست نکته ای رو ازتون در یکی از پاسخ ها خوندم و اون این هست که اگر در آموزش از میانگین استفاده بشه در تست هم باید همینطور باشه و آیا ممکن هست به این دلیل باشه که من موقع تست دیتای ورودی را از میانگین کم نکردم ؟
و در ادامه اسکریپت تست را گذاشتم !

model = 'cifar10_quick.prototxt';
weights = 'cifar10_quick_iter_4000.caffemodel';
net = caffe.Net(model,weights,'test');
im = imread('labrouste_000003.jpg');
im = imresize(im,[32 32]);
score = net.forward({im});
کم کردن میانگین باعث بهبود نتایج میشه ولی کم نکردنش بعیده باعث بشه در تمام موارد شما همیشه یک خروجی بگیرین حداقل من تجربه ای که دارم این اتفاق برام نیفتاده.  
شما میتونید مدل اموزش داده شده + چند تصویر نمونه و معماری شبکه اتون رو هم به سوال اضافه کنید تا بشه هم بهتر چک کرد و از سمت خودم هم یکسری تست انجام بدم؟
برای تست شما از سمپل کلسیفیکیشن استفاده میکنید یا کد رو خودتون نوشتید؟ ممنون میشم هرچیزی که میتونید رو به اشتراک بزارید که منم امکان تست برام باشه.

در ادامه لینک ، مدل و فایل prototxt شبکه رو قرار دادم .

من سوال رو ویرایش کردم و فایلها رو اونجا گذاشتم. ممکنه فایل میانگین و فایل لیبل ها رو هم در صورت وجود برای دانلود قرار بدید (به سوال اضافه کنید).
بعد در سوال هم توضیح بدید که از چه دیتاستی استفاده میکنید و اینکه آیا تعداد همه تصاویر کلاسها یکی هست یا نه.
من برای train از دیتاست خود cifar استفاده کردم که برای دانلود اون اسکریپت get_cifar10.sh را ران میکنیم علاوه بر اون فایل میانگین هم دانلود میشه !
من فایل دیپلوی شما رو چک کردم مشکلی نداره. در زمان ترین شما یه مشکلی دارید. من با استفاده از همون کویک سالور یه تست گرفتم و بدون مشکل انجام شد. بهتره بفرمایید ترین رو چطوری انجام میدید و اینکه آیا هیچ تغییری در سالور و یا معماری شبکه دادید یا نه ؟
من هیچ تغییری توی فایل های solver یا ساختارشبکه ندادم ، وقتی نسخه full اون رو هم اجرا میکنم باز به این مشکل برمیخورم .
موقع train چه چیزی ممکنه این مشکل را به وجود بیاره ؟‌

1 پاسخ

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

مشکل به این دلیل به وجود میامد که در فایل solver پسوند هر اسنپشات hdf5 تعیین شده بود بنابراین مدل با پسوند caffemodel.h5 ذخیره می شد و از اونجایی که من نمی تونستم این رو توی متلب استفاده کنم پسوند رو دستی تغییر داده بودم و طبیعی بود که با اینکار مدل دچار مشکل میشد .
بنابراین خط snapshot_format را که با مقدار HDF5 در فایل solver مقداردهی شده بود را حذف کردیم و حالا اسنپشات ها با پسوند caffemodel ذخیره میشدند که با دستور ‌‌‌‌‌‌‌‌forward متلب قابل استفاده هستند .
بنابراین به دلیل اشتباه من و تغییر پسوند مدل ، مدل دچار مشکل می شد .

توسط (150 امتیاز)
انتخاب شده توسط
...