Closed junikkoma closed 3 years ago
@junikkoma
height * width * nd(height)
, so it should double at each layer. However, we restrict the maximum channels to 512, therefore, nd() results of layer 1 and layer 2 are the same (512), then the dimension quadruples from 1 to 2.Thanks for your detailed and quick response!
Hello! I would first like to thank you for sharing codes for such wonderful work. I have some questions on intermediate output dimension of feature maps in the generator.
According to Figure 16, I presumed output dimension of f (φ1) should be (1024, height, width), as the first 1x1 convolution is noted as DeConv(2^(11-i), 1, 1). To my understanding, it would not match noise input dimension of (512,4,4).
Then on examining your module.py code, the output dimension was controlled by nd() function, which has upper limit of 512 unlike noted output dimension in figure 16. I presumed such function was introduced to solve the dimension mismatch problem mentioned above.
In addition, i noticed a outlier in dimension of orthonormal basis. To my understanding, dimensions of orthonormal basis uij ∈ R^(Hi×Wi×Ci) should double as it moves up one layer, as height and width values are doubled whereas Ci value is halved. However, as nd(height) is a parameter determining dimension of U on module.py, I noticed dimension quadruples on moving from layer 1 to layer 2 (8192->32768), unlike expected behavior mentioned above.
Regarding aforementioned issues, I would like to ask questions below.
If there is anything which I have misunderstood, please kindly point it out. Thank you for your kind attention.
Attached below is toy code i used to estimate dimensions of intermediate feature map