У меня есть задача обучить CNN с изображением на входе и изображением на выходе. Сначала я пытался сделать это с помощью учебника Matlab, но у Matlab нет изображения в качестве вывода, а есть вектор.

https://de.mathworks.com/help/deeplearning/examples/train-a-convolutional-neural-network-for-regression.html

есть идеи, как я могу повторить этот урок, но с изображением в качестве вывода?

Например, вы можете вставить ввод как изображение для номера один, а вывод также для номера один, но повернутый или деформированный.

ОТВЕЧАТЬ

Matlabsolutions.com предоставляет последнюю Помощь по домашним заданиям MatLab, Помощь по заданию MatLab для студентов, инженеров и исследователей в различных отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для BE, B.Tech , ME, M.Tech, к.т.н. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.

Я также боролся с изображением в качестве вывода, и я нашел решение. Пропустите часть fullConnectedLayer(n), потому что она приводит к тому, что сеть будет иметь на выходе либо вектор, либо просто число. Однако убедитесь, что не включены какие-либо слои объединения, если вы хотите, чтобы ваши выходные данные имели тот же размер, что и ваши входные данные, потому что они вызывают понижение дискретизации. Наконец, имейте в виду, что количество фильтров в вашей конечной конв сети равно числу 3-го измерения вашего выходного изображения. Например,

convolution2dLayer(3,1,'Padding','same') дает выходное изображение (M,N,1), где M,N — строки и столбцы исходного изображения. Следующий код бежит ко мне.

layers = [
    imageInputLayer([64 64 1])  % My initial image is 64x64
    convolution2dLayer(3,8,'Padding','same')
    batchNormalizationLayer
    reluLayer
    
%     averagePooling2dLayer(2,'Stride',1)  % Don't want this
    convolution2dLayer(3,16,'Padding','same')
    batchNormalizationLayer
    reluLayer

СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ