Open a957815154 opened 3 years ago
I believe you can follow the discussions among the closed issue in https://github.com/hanktseng131415go/UPANets/issues/1#issue-837535963. If it doesn't fix your problem, please feel free to raise here up again. Thank you.
I believe you can follow the discussions among the closed issue in #1 (comment). If it doesn't fix your problem, please feel free to raise here up again. Thank you.
the param block is always 1,no need to change, isn't it?
It is not necessary to be 1 because the param of over 1 is just increasing the depth in a layer, such as default setting means there is 4 block in a layer. The reason why we use default 1 with 4 blocks is we found that increasing depth didn't certainly increase the accuracy, which can be viewed as saturation as the WideResNet's authors argued.
However, it is definitely ok if you want to set it to other param as long as your channel number can be divided by the param you set. For example, if your base channel number is multiplied by 64, 4 * block (default = 1) means every block can use 16 (because of 64/4) channels to process. In that case, the block can be set up to 16 which will let every block use only 1 channel among total 64 blocks in a layer. Hope this description can help you clarify.
It is not necessary to be 1 because the param of over 1 is just increasing the depth in a layer, such as default setting means there is 4 block in a layer. The reason why we use default 1 with 4 blocks is we found that increasing depth didn't certainly increase the accuracy, which can be viewed as saturation as the WideResNet's authors argued.
However, it is definitely ok if you want to set it to other param as long as your channel number can be divided by the param you set. For example, if your base channel number is multiplied by 64, 4 * block (default = 1) means every block can use 16 (because of 64/4) channels to process. In that case, the block can be set up to 16 which will let every block use only 1 channel among total 64 blocks in a layer. Hope this description can help you clarify.
When I change model to resnet50 to train tinyimagenet,100 epoch,net =resnet50(),the result is very bad ,do you know the reason? the acc is just 6.22 very low
In our reimplemented experiments, we can successfully reproduce ResNet50 results. As we did implement the code in https://github.com/kuangliu/pytorch-cifar, I think you could raise the question in the issue area. However, I can offer my guess toward the possible reason which are checking the data flow in your resnet50 and whether the .backward() was working properly. Anyway, I believe that if you simply use the resnet50 code in the aforementioned project, it will work accurately.
In our reimplemented experiments, we can successfully reproduced ResNet50 results. As we did implement the code in https://github.com/kuangliu/pytorch-cifar, I think you could raise the question in the issue area. However, I can offer my guess toward the possible reason which are checking the data flow in your resnet50 and whether the .backward() was working properly. Anyway, I believe that if you simply use the resnet50 code in the aforementioned project, it will work accurately.
It is strange.Because I just modify one line.
net =resnet50() resnet50 is pytorch official code In cifar data,it works,but in tinyimagenet ,it runs so bad. Thank you anyway.
If I want to reproduce your tinyimagenet result, do I just need to change the epoch parameter to 100 and the dataset to Imagenet?