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

با تشکر

0 امتیاز

با سلام
یک سوال در مورد فاین تیون شبکه resnet-50 داشتم- این شبکه رو که از نت دانلود می کنیم حاوی سه فایل هست:

deploy.prototxt
Resnet_50.prototxt
resnet_50_solver.prototxt

اینم لینک دریافت رزنت:
https://github.com/beniz/deepdetect/tree/master/templates/caffe/resnet_50

سوال من این هست که فاین تیون این شبکه هم مثل شبکه lenet هست و پارامتر مضاعف دیگری برای تغییر دادن داره یا خیر. برای شبکه LENET آموزش خوبی از طریق خود سایت کفی قرار داده شده که واقعا کمک کننده است. ولی برای این شبکه هیچ آموزشی وجود نداره. برای همین متوجه نمیشیم چه چیزایی را باید علاوه بر اون پارامترهایی که به لطف شبکه LENET یاد گرفتیم ، تغییر بدیم. یک سوال دیگه که داشتم این بود که امکان ادرس دهی برای قسمت تست دیتاستمون وجود نداره. در واقع به جای اینکه دو تا لایه داده در ابتدای کار داشته باشیم، یک لایه داده داریم که ترین رو میخونه و لایه دیگر لایه MEMORY TYPE هست. در اون فقط فاز تست رو مطرح کرده و امکان ادرس دهی تست وجود نداره. اگه ممکنه فاین تیون این شبکه را در سایت قرار بدید ممنون میشم و یا اینکه راهنمایی کنید. چون این شبکه به مرور مدام پیشرفت کرده و نسخه های دیگری ازش تولید شده که می تونه برای موضوع پایان نامه خیلی خوب باشه و تغییرات اون بر اساس مثال عملی بررسی بشه.

آپدیت -اطلاعات تکمیلی

همونطور که فرمودید لینک دریافت این مدل رو در سوال قرار دادم-
مشکل من در واقع به فایل resnet_50.prototxt بر میگرده.همونطور که در 35 خط اول این فایل در ذیل نوشته شده:

name: "ResNet-50"
layer {
  name: "resnet_50"
  type: "Data"
  top: "data"
  top: "label"
  include {
    phase: TRAIN
  }
  transform_param {
    mirror: true
    crop_size: 224
    mean_file: "mean.binaryproto"
  }
  data_param {
    source: "train.lmdb"
    batch_size: 32
    backend: LMDB
  }
}
layer {
  name: "resnet_50"
  type: "MemoryData"
  top: "data"
  top: "label"
  memory_data_param {
    batch_size: 32
    channels: 3
    height: 224
    width: 224
  }
 include {
    phase: TEST
  }
}

می تونیم ادرس ترین دیتاست خودمون رو قرار بدیم. اما در لایه بعدیش که شامل فاز تست میشه نمیشه سورس تست رو قرار داد . پس باید کجا معلوم کنیم که سورس تست ما چیه- یه سری پارامترهای دیگرشم برای من گنگه و نمیدونم چی باید بنویسم.
در واقع خط 11 و 12 و 13:

 mirror: true
    crop_size: 224
    mean_file: "mean.binaryproto"

این ها به چه چیزی اشاره میکنن. منظور از کرپ سایز چیه. من همچین چیزی را قبلا در lenet استفاده نکردم . در فایل deply گفته طول و عرض تصویر 224 هست. و اینجا هم 224 گذاشته- ایا من هم که سایز تصاویر م 2435 در 2435 هست، باید همین رو قرار بدم؟ فایل mean.binaryproto رو هم نداره برای دانلود. چیکار باید کرد؟
ایا در لایه دوم که MemoryData هست، بچ سایز و طول و عرضی که معلوم کرده به مشخصات تصاویر تست ما برمیگرده؟ اگر بله، پس از کجا ادرس پوشه تست رو میگیره؟

سوال اخرم در مورد دو لایه مونده به اخر یعنی لایه ای است که inner_product_param درون آن قرار میگیره و کار طبقه بندی رو انجام میده- ایا علاوه بر تغییر پارامتر inner_product_param باید نام این لایه و متعاقبا در لایه هایی که پس از اون نوشته شدن و بش ارجاع داده می شن هم عوض کنیم؟
ممنونم از کمک شما

مرسی از همه دوستانی که کمک میکنن و برای کسایی که رشتشون هوش نیست واقعا این کمک ها ارزنده خواهد بود

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

1 پاسخ

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

سلام
فاین تون رزنت مثل بقیه اس . چیز خاصی نداره . من متوجه نشدم کجای کار شما مشکل دارید.
جایی که فایلها رو گرفتید لطفا لینکش رو به سوال اضافه کنید چون افراد مختلف هرکسی برای نیاز خودش معماری رو پیاده کرده. باید دید شما یه اسکریپت خاص منظوره رو گرفتید یا نه .
رزنت اواخر 2015 اومد. تغییر خاصی هم نکرده . البته تا تغییر از نظر شما چی باشه .

توضیحات تکمیلی :
لایه MemoryData برای این هست که در زمان کد نویسی داده مورد نیاز رو خود ما تهیه کنیم و به شبکه بدیم . میتونید خیلی راحت مثل قبل لایه دیتا استفاده کنید برای تست. این لایه منحصر به یک معماری خاص نیست.

name: "ResNet-50"
layer {
  name: "resnet_50"
  type: "Data"
  top: "data"
  top: "label"
  include {
    phase: TEST
  }
  transform_param {
    mirror: false
    crop_size: 224
    mean_file: "mean.binaryproto"
  }
  data_param {
    source: "test.lmdb"
    batch_size: 32
    backend: LMDB
  }
}

کراپ هم تصویر رو برش میده . هم تو paint ویندوز میتونید کارکردش رو ببینید هم مایکروسافت ورد! و هم فتوشاپ. مثلا تصویر شما هست 600 در 600 . میخوایید یه برش 400 در 400 پیکسل داشته باشید . کراپ سایز رو میزن 400. اینجا بصورت رندوم یه برش 400 در 400 از تصویر ورودی بدست میده . تصاویر ایمیج نت چون 256 در 256 هستن کرا پمیکنن 224 در 224 و یکی از عملیات های دیتا اگمنتیشن معمول هست
بله وقتی لایه ای مشخصاتش مثل تعداد نورونهاش وغیره عوض میشه باید اسمش رو عوض کنید و در نتیجه لایه های بعدی هم باید از اسم جدید استفاده کنن.

پاسخ داده شده توسط (4.3k امتیاز)
انتخاب شده توسط
همونطور که فرمودید لینک دریافت این مدل رو در سوال قرار دادم-
ممنونم از کمک شما
جواب دادم خدمتتون . لطفا از این به بعد همینطور که من ویرایش کردم براتون مطالب رو قشنگ و مرتب قرار بدید.
تشکر می کنم.
...