Привет,
Я использую Unet для выполнения семантической сегментации (я хочу сегментировать метастазы в печени). Я хочу «больше» взвесить пиксели метастаза по отношению к фону, но мне это не удается…
Код для создания архитектуры unet:
lgraph = unetLayers(imageSize, numClasses, ‘EncoderDepth’, 4);
Как я могу изменить «classWeights» в lgraph.Layers(end).pixelClassificationLayer, чтобы сделать это??
Если, например, я делаю это:
lgraph.Layers(end).pixelClassificationLayer.classWeights = [2, 0,5];
Я получаю сообщение об ошибке, говорящее мне, что я должен сначала поставить «метки» для параметров «классы» в lgraph.Layers(end), но если я сделаю это:
lgraph.Layers(end) = {‘метастазы’, ‘фон’};
Я получаю сообщение об ошибке, сообщающее, что этот слой находится в режиме «только для чтения»...
ОТВЕЧАТЬ
Matlabsolutions.com предоставляет последнюю Помощь по домашним заданиям MatLab, Помощь по заданию MatLab для студентов, инженеров и исследователей в различных отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для BE, B.Tech , ME, M.Tech, к.т.н. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.
Hi,
Объект unetLayers в MATLAB находится в режиме только для чтения, и мы не можем изменять свойства слоев как таковые. Вы можете удалить последний слой, который является слоем сегментации, и добавить новый слой сегментации с упомянутыми свойствами.
Следующий код поможет.
% Last Layer Name is 'Segmentation-Layer' % for checking layer name use :- lgraph.Layers lgraph = removeLayers(lgraph,'Segmentation-Layer'); layerlast = pixelClassificationLayer('Classes',{'metastatis','background'},'ClassWeights',[2,0.5],'Name','New_segmentation_Layer'); layer_to_add = [layerlast]; lgraph = addLayers(lgraph,layer_to_add);
СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ
измените ‘classWeights’ в unetLayers
я использую Unet для выполнения семантической сегментации (я хочу сегментировать метастазы в печени). Я хочу «больше взвесить…www.matlabsolutions.com»