lindawangg / COVID-Net

COVID-Net Open Source Initiative
Other
1.15k stars 477 forks source link

PEPX Network Design Pattern #17

Closed PLBMR closed 4 years ago

PLBMR commented 4 years ago

Thanks for working on this project! This is very interesting and very impactful.

COVID-Net relies on a design pattern of projection-expansion-projection-extension (PEPX) throughout the network. I have beginner-level knowledge of computer vision, and I haven't seen this design pattern before.

  1. Without loading in the model, what are the output dimensions of each layer in the PEPX module (Figure 2, top right box) for PEPX1.1? This would give me a better understanding of how dimension is changing within the module.

  2. What is the intuition around the effectiveness of this design pattern? Are there some previous papers that use this design pattern for their core results?

ashcrok commented 4 years ago

I think we will get more insight in how the network works when the train script will be published.

PaulMcInnis commented 4 years ago

for 1. the image you quote does shows the dimension.

Note that the diagram doesn't show the batch dimension.

i.e. the FC-1024 layer has this dimension in the graph:

(Pdb) graph.get_tensor_by_name('dense_1/Relu:0')
<tf.Tensor 'dense_1/Relu:0' shape=(?, 1024) dtype=float32>

... and PEPX4.3 is:

(Pdb) sess.graph.get_tensor_by_name('conv5_block3_out/add:0')
<tf.Tensor 'conv5_block3_out/add:0' shape=(?, 7, 7, 2048) dtype=float32>
PLBMR commented 4 years ago

While the plot I point to shows the output dimension of each entire PEPX module, it does not show the output dimensions of each layer within each PEPX module. Upon doing some exploration, this was my audit for PEPX1.1:

I am skeptical that this is the correct audit since the expansion convolution (1st conv1x1) looks to project into a lower dimension than the first-stage projection (0th conv1x1). Is there a better way to audit these internal layers of a PEPX module?

PaulMcInnis commented 4 years ago

Unfortunately I'm not sure that there is a better way to 'audit' this right now.

PLBMR commented 4 years ago

Can I get this issue re-opened? I'd like to find out if others have answers or comments on question 2.

lindawangg commented 4 years ago

Re: question 2, the MobileNetV2 paper provides some insights into the projection-expansion-projection architecture.