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

با تشکر

دسته بندی ها

0 امتیاز

سلام
وقتتون بخیر
من سعی کردم شبکه ی caffenet رو برای دیتاست دو کلاسه ای که خودم دارم فاین تیون کنم.
برای این کار مراحل زیر رو انجام دادم.
۱) تغییر آدرس شبکه در فایل solver
۲) تغییر مقدار test_iter با توجه به تعداد داده های خودم که ۱۰۰۰۰ تا هست با توجه به bath_size که مقدار اون هم در لایه ی داده مربوط به فاز تست به ۱۰۰ تغییر دادم.
۳) تغییر max_iter به ۱۰۰۰۰
۴) تغییر snapshot_prefix
۵) کاهش base_lr به مقدار ۰.۰۰۱
5) در فایل train_val.prototxt هم تغییرات زیر رو دادم
۶) تغییر نام وتعدادخروجی لایه ی fc8
۷)تغییرbath_size لایه ی دیتا فاز تست به ۱۰۰
۸)تغییر سورس لایه های دیتا به مکان فایل lmdb ی داده های خودم

بعد از انجام تمام کارهایی که در قسمت آموزش تنظیم دقیق گفته شد دستور زیر رو اجرا کردم:

./build/tools/caffe train -solver my_project/test1/solver.prototxt -weights models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel -gpu 0

اما شبکه به درستی ایجاد نمیشه. فکر میکنم مشکل مربوط به ‍بارامتر mean_file در لایه ی دیتا هست که من نمی دونم چیه و به چه دردی میخوره
خروجی هم به شکل زیر هست

    I0417 18:35:30.826541  3897 layer_factory.hpp:77] Creating layer data
I0417 18:35:30.826624  3897 db_lmdb.cpp:35] Opened lmdb my_project/test1/dataset/mydataset_train_lmdb
I0417 18:35:30.826637  3897 net.cpp:84] Creating Layer data
I0417 18:35:30.826642  3897 net.cpp:380] data -> data
I0417 18:35:30.826654  3897 net.cpp:380] data -> label
I0417 18:35:30.826663  3897 data_transformer.cpp:25] Loading mean file from: data/ilsvrc12/imagenet_mean.binaryproto
*** Aborted at 1523973930 (unix time) try "date -d @1523973930" if you are using GNU date ***
PC: @     0x7fe683412168 (unknown)
*** SIGSEGV (@0x12956b10) received by PID 3897 (TID 0x7fe685f47740) from PID 311782160; stack trace: ***
    @     0x7fe6832f94b0 (unknown)
    @     0x7fe683412168 (unknown)
    @     0x7fe6852c1447 std::__cxx11::basic_string<>::_M_construct<>()
    @     0x7fe6852c235b _ZN5caffe2db10LMDBCursor5valueB5cxx11Ev
    @     0x7fe685172440 caffe::DataLayer<>::DataLayerSetUp()
    @     0x7fe6852188ce caffe::BasePrefetchingDataLayer<>::LayerSetUp()
    @     0x7fe6852eebe7 caffe::Net<>::Init()
    @     0x7fe6852f132e caffe::Net<>::Net()
    @     0x7fe6852fc12a caffe::Solver<>::InitTrainNet()
    @     0x7fe6852fd5f5 caffe::Solver<>::Init()
    @     0x7fe6852fd90f caffe::Solver<>::Solver()
    @     0x7fe68532df71 caffe::Creator_SGDSolver<>()
    @           0x40a7d8 train()
    @           0x407568 main
    @     0x7fe6832e4830 __libc_start_main
    @           0x407e39 _start
    @                0x0 (unknown)
Segmentation fault (core dumped)

ممنون میشم اگر راهنمایی بفرمایید

توسط (111 امتیاز)
ویرایش شده توسط
سلام . mean_file‌وجود داره مسیرش صحیح هست یا خیر؟‌ برای تست میتونید راحت اون رو کامنت کنید شبکه رو ارن کنید ببینید دوباره این خطا رو میگیرید یا خیر. اگر نه مشکل از اون هست و باید مین فایل رو یا دانلود یا محاسبه کنید.
خیلی ممنون
مشکل حل شد. متوجه شدم که فایل LMDB مربوط به دیتاست به درستی ساخته نشده بوده.
سلام. خب خدارو شکر. بسیار عالی. لطفا خودتون جواب به این سوال بدید و یه زحمت هم بکشید بگید مشکل از چی بود و چطور حلش کردید تا احیانا اگر کسی بعدا این مشکل رو داشت بدونه بابت چه چیزی هست و رفعش کنه.
به طور دقیق به مشکل اشاره کنید. مثلا بفرمایید من اینطور lmdb رو ایجاد کرده بودم که فلان بخشش مشکل داشت. اینطور عمل کردم و مشکل برطرف شد. این توضیحات به خیلی ها کمک میکنه.

1 پاسخ

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

خب مشکل اصلی این بود که فایل تکستی که برای برچسب ها ایجاد کرده بودم در فرمت درستی ایجاد نشده بود. در نتیجه نمی تونست به تصاویر دسترسی پیدا کنه . پیش از هر چیز خیلی خیلی از شما تشکر می کنم به خاطر اسکریپت پاتونی که برای وارد کردن آدرس تصاویر در فایل تکست» در سایت گذاشته بودید. چون من تاحالا پایتون کار نکردم و هنوز به سینتکسش آشنایی ندارم اون کد خیلی کمکم کرد. متوجه شدم با توجه به سیستم خودم(اوبونتو) چند مورد رو باید تغییر بدم. در کد شما خطی که آدرس رو در فایل تکست وارد میکرد این بود:

label.write('{0}\{1} {2}\n\r'.format(folder, img, class_index))

که من به این شکل تغییرش دادم

   label.write('{0}/{1} {2}\n'.format(folder, img, class_index))

یعنی بکوارد اسلش رو تبدیل به فوروارد کردم چون آدرس هایی که توی دستور convert_imageset استفاده کرده بودم با فوروارد اسلش بودن و \r رو هم حذف کردم چون باعث میشد آدرس ها خط در میان وارد بشن یعنی در فایل تکست بین هر آدرس با بعدی یک خط فاصله بود.

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