سلام
من میخاستم از اسکریپتی که شما نوشتید برای استخراج ویژگی استفاده کنم. ولی به ارور برمیخورم. مراحلی که انجام دادم را توضیح میدم:
1- ادرس دهی کافی روت در خط5 و ادرس دهی model_prototxt
که دیپلوی با بچ یک رو قرار دادم و ادرس دهی model_trained
که کفی مدل مورد استفاده ام هستش و ادرس دهی imagenet_labels
که به فایل تکست تصاویر تستم اشاره می کنه و ادرس دهی mean_path
که با استفاده از اسکریپت تونستم فایل باینری پروتو را به npy
تبدیل کنم و ادرس دهیش کنم.
2- نام لایه ای که میخوام فیچرهاشو استحراح کنم fc7_changed
هست پس این متغیر را اینجوری گذاشتم :
layer_name = 'fc7_changed'
3- اینپوت فایل را برابر یکی از تصاویر تستم گذاشتم :
inputfile = 'C:/Users/KamanGir/Desktop/veritydataset/dataset3/test/1/
001.1_Right_Front.JPG'
4- اوت پوت فایل یعنی جایی که قرار هست فیچر هامون اونجا نوشته بشن رو در یک فایل تکست مینویسم:
outputfile = 'C:/Users/KamanGir/Desktop/d.txt'
5-تصاویرم خاکستری و با سایز 308 در 308 هستند پس این خطوط زیر را نوشتم :
channel_swap=(2,1,0),
raw_scale=255,
image_dims=(308, 308))
البته channel_swap
نمیدونم چیه. دست نزدم.
6- خط 73 هم نام لایه ای که میخوام استخراج کنم را دستی نوشتم :
np.savetxt(writer, net.blobs['fc7_changed'].data[0].reshape(1,-1),
fmt='%.8g')
وقتی میخام این اسکریپ را اجرا کنم پس از اینکه شبکه و لایه ها را کامل نشون داد، موقعی که میخواد تصویر ورودی را بخونه با خطای زیر مواجه میشم :
Traceback (most recent call last):
File "C:\Users\KamanGir\Downloads\successful_cmake_caffe_build\caffe-windows\
caffe-windows\python\caffe_feature_extractor.py", line 76, in <module>
main(sys.argv[1:]) File "C:\Users\KamanGir\Downloads\successful_cmake_caffe_build\
caffe-windows\ caffe-windows\python\caffe_feature_extractor.py", line 70,
in main input_image = caffe.io.load_image(image_path)
File "C://Users//KamanGir//Downloads//successful_cmake_caffe_build//caffe-windows//caffe-windows//python\caffe\io.py",
line 296, in load_image img = skimage.img_as_float(skimage.io.imread(filename,
as_grey=not color)).astype(np.float32) File "C:\Users\KamanGir\Anaconda3\lib\
site-packages\skimage\io\_io.py", line 61,
in imread img = call_plugin('imread', fname, plugin=plugin, **plugin_args)
File "C:\Users\KamanGir\Anaconda3\lib\site-packages\skimage\io\manage_plugins.py",
line 211, in call_plugin return func(*args, **kwargs)
File "C:\Users\KamanGir\Anaconda3\lib\site-packages\skimage\io\_plugins\pil_plugin.py", line 35, in imread with open(fname, 'rb') as f:
ValueError: embedded null character
فکر میکنم کاراکترهای رشته ورودی که حاوی ادرس تصویرم هست را null در نظر میگیره. میشه بفرمایید مشکل از کجاست؟
مرسی