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

با تشکر

دسته بندی ها

0 امتیاز

سلام
تعدادی تصویر دارم که میخواستم برای این تصاویر با استفاده ازCNNدر caffe ، ویژگی استخراج کنم و از این ویژگیها استفاده کنم. چطور باید اینکار رو انجام بدم ؟ چطور به این ویژگیها دسترسی داشته باشم؟
با توجه به اینکه نمیخوام شبکه ای آموزش ببینه آیا لازمه که داده هامو به فرمت lmdb تبدیل کنم؟
(caffe رو روی ویندوز نصب کردم)

توسط (119 امتیاز)
سلام.
لطفا وقتی جواب میگیرید و صحیح هست علامت تیک رو بزنید تا وضعیت سوال کامل بشه.

1 پاسخ

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

سلام
هم میتونید از Lmdb استفاده کنید هم میتونید نکنید.
هم از طریق سی++ میتونید فیجر اکسترکشن داشته باشید و هم پایتون
مثال سی++ اینجا اومده که سر راسته و فقط فراخونی میکنید فایل اجرایی رو و ارگومانهای مورد نیاز رو میدید .
برای پایتون مثال classification.ipnb رو ببینید از همون طریق میتونید استارت کار رو بزنید. چون کاملا سر راسته . یه net میسازید فایل deploy و مدل از پیش اموزش داده شده رو مشخص میکنید . اگر میانگین استفاده شده اون رو هم لحاظ میکنید . حالا تصاویر خودتون رو به شبکه میدید و خروجی اون لایه ای که مدنظرتون هست رو میگیرید و ذخیره میکنید.
یعنی بطور خلاصه بصورت زیر هست :

net = caffe.Net(deploy.prototxt, pretrainedModel.caffemodel, caffe.TEST)

با ترنسفورمر پیش پردازشهای معمول اگر نیاز باشه انجام میدید مثل فایل میانگین و...

transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape})
transformer.set_mean('data', np.load(mean.npy).mean(1).mean(1))
transformer.set_transpose('data', (2,0,1))
transformer.set_raw_scale('data', 255.0)

اینا پیش پردازشهای معمول هست که رو الکس نت معمولا انجام میشه (مثال classification.ipnb رو در پوشه examples ببینید همه اینها رو متوجه میشید)

net.blobs['data'].reshape(1,3,227,227)

و بعد هم تصویر رو میخونید

img = caffe.io.load_image(image_file)

تصویر رو بعد از پیش پردازش به لایه دیتا میدیم (یادتون باشه تو دیپلوی batch رو برابر یک بزارید )

net.blobs['data'].data[...] = transformer.preprocess('data', img)

فوروارد پس رو انجام میدیم تا محاسبات مورد نیاز انجام بشه و فیچرها بدست بیاد

output = net.forward()

و نهایتا هم نام لایه رو مشخص میکنید :

extrated_feature =net.blobs['fc7'].data[0]

توضیحات کارها و خطوط بالا همه در مثالهایی پایتون در پوشه examples اومده و براحتی متوجه میشید.
برای پایتون هم میتونید مثل بالا عمل کنید یا از این اسکریپت استفاده کنید.

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