New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Question about patchGAN #33
Comments
patchGAN is still a convnet.. |
Yes, we use fully convolutional networks (FCN) as our disciminator, which is more efficient than patch-wise training/test. See here for more details about FCN. |
Thanks for your quick reply. |
@junyanz I was wondering how you get 70x70 patches using the configuration from the paper. |
As mentioned in #25, you can calculate the receptive field size of a layer using https://github.com/rbgirshick/rcnn/blob/master/utils/receptive_field_sizes.m. |
@phillipi Thank you, it is clear now. |
@danmic Can you tell me how to get 70x70 result? I find the output size of discriminator is 30x30 and by using the equation mentioned above input_size=(output_size - 1)*stride+ksize, I just cannot get the correct result. |
@programath I modified the rcnn script to apply to our architecture: You can see exactly how we calculate the receptive field sizes in that file. Please let me know if you see any issue with the calculation. |
What the n=1 discriminator means ?
"n" refers to the parameter n_layers in defineD_n_layers.
Second, I think 1 output size in conv3 should project a receptive field in
the input with size 22 as follow:
out = ...
f(f(f(1, 4, 2), ... % conv2 -> conv3
4, 2), ... % conv1 -> conv2
4, 2); % input -> conv1
fprintf('conv3 receptive field size: %d\n', out);
Am I right?
The last two convolutions (conv2 -> conv3 and conv1-> conv2) are both
stride 1, rather than stride 2 as you have above. Setting it to stride 1,
as in the receptive_field_sizes.m script, gives a receptive field of size
16.
… —
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#33 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAxoVsokzxdqa5nXgG9JjWqYSHAszFeZks5ryde2gaJpZM4LO5ha>
.
|
So kindly of you!
I've read the code and got it.
Thanks a lot!
2017-04-23 6:39 GMT+08:00 Phillip Isola <notifications@github.com>:
… > What the n=1 discriminator means ?
>
"n" refers to the parameter n_layers in defineD_n_layers.
Second, I think 1 output size in conv3 should project a receptive field in
> the input with size 22 as follow:
>
> out = ...
> f(f(f(1, 4, 2), ... % conv2 -> conv3
> 4, 2), ... % conv1 -> conv2
> 4, 2); % input -> conv1
>
> fprintf('conv3 receptive field size: %d\n', out);
>
> Am I right?
>
The last two convolutions (conv2 -> conv3 and conv1-> conv2) are both
stride 1, rather than stride 2 as you have above. Setting it to stride 1,
as in the receptive_field_sizes.m script, gives a receptive field of size
16.
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#33 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/
AAxoVsokzxdqa5nXgG9JjWqYSHAszFeZks5ryde2gaJpZM4LO5ha>
> .
>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#33 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/APROTB97dcD6enSn9GIhtc_WXxm12Fzmks5ryoGZgaJpZM4LO5ha>
.
|
I read your paper and the implementation. The methods about patchGAN described in your paper seems promising, but how it is used in your code i wonder. You preprocess the data into patches before loading or some other way?
The text was updated successfully, but these errors were encountered: