How is this cyclegan generator layers ordered?

1 ビュー (過去 30 日間)
John
John 2021 年 10 月 7 日
回答済み: John 2021 年 11 月 1 日
A cyclegan example (https://www.mathworks.com/matlabcentral/fileexchange/76986-image-domain-conversion-using-cyclegan?s_tid=srchtitle) is very interesting. But I have trouble to understand the integration of the generator layers:
% integrate
lgraph = lgraph2; % Residual Blocks
lgraph = addLayers(lgraph,layers1); % Encoder
lgraph = addLayers(lgraph,layers3); % Decoder
The order of the code doesn't seem to match the design (as above picture) and the plot(lgraph) doesn't work here to see the layer structure. Placing the layers1 at the begining doesn't work. Yes, layers1 = [imageInputLayer(...)] indicated the imageinputlayer but does the lgraph2 = layerGraph() indicate the start of the layerGraph?
Hope you can help to clarify it in order to fully understand those matlab functions involved and design correctly layers. Thank you!

採用された回答

Sahil Jain
Sahil Jain 2021 年 10 月 19 日
The two calls to "addLayer" only add the encoder and decoder parts to the graph without connecting them with the residual blocks. In the original code, there are three calls to the "connectLayers" function after the "integrate" snippet which you have shared. These calls join the encoder, residual blocks and decoders in the appropriate order. I am attaching a file ("generator.m") which you can run to visualize how the graph changes with the "addLayers" and "connectLayers" function calls.

その他の回答 (1 件)

John
John 2021 年 11 月 1 日
Thank you Sahil Jain!
Also, the filter size in the script is fixed to [4,4], changing it will cause error and it made me completely lost. Hope you can point out the trick and guid me to change the filter size.
Best,
John

製品


リリース

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by