AceCoooool / DSS-pytorch

:star: PyTorch implement of Deeply Supervised Salient Object Detection with Short Connection
MIT License
174 stars 53 forks source link

difference #12

Closed ghost closed 5 years ago

ghost commented 5 years ago

what is the difference between your code and the orginal paper :Deeply Supervised Salient Object Detection with Short Connections ? thanks

AceCoooool commented 5 years ago

official version: Andrew-Qibin

  1. training stragedy. please see solver.prototxt --- I use simple adam with larger learning rate and without weight decay. (I think this may cause difference)
  2. The combine way: training phase, the official use "learnable combine weights"(this line) , and the v2 in here use this stragedy, and v1 just use average stragdy. (However, they use only 3 layers for reference, which I am a littile confusing.)

The mainly gap I think is caused by learning stragedy. (Like init and learning rate adjust.)

ghost commented 5 years ago

when compare with the orginal paper ,how about the difference of the Short Connections , the side output 1 2 3 4 5 6 ?

AceCoooool commented 5 years ago

Follow picture: image

Inference: image And the paper use Z_fuse=2,3,4; however, in here, I use all the outputs

ghost commented 5 years ago

what is the meaning ? extra = {'dss': [(64, 128, 3, [8, 16, 32, 64]), (128, 128, 3, [4, 8, 16, 32]), (256, 256, 5, [8, 16]), (512, 256, 5, [4, 8]), (512, 512, 5, []), (512, 512, 7, [])]} connect = {'dss': [[2, 3, 4, 5], [2, 3, 4, 5], [4, 5], [4, 5], [], []]} k = [out[x] for x in [1, 2, 3, 6]] thanks