GithubHelp home page GithubHelp logo

Comments (8)

zhengyang-wang avatar zhengyang-wang commented on July 3, 2024

It is harder to reproduce the deeplab results on cityscape than on PASCAL.
The performance depends on the training patch size (typically larger is better but we have limited memory) and the way you do testing. Note that in deeplab paper, they claimed that they performed inference on small overlapping patches, while this code tests on whole image. Also, the training set of cityscape has two parts (fine and coarse labels). All these things will affect the final results.
Could you share your setting and results, please? We can discuss and see whether the results are reasonable.

from deeplab-v2--resnet-101--tensorflow.

FengLoveBella avatar FengLoveBella commented on July 3, 2024

I got a 0.656 IOU, but I think it is a little lower.
I use the resnet50 provided in your code, but I compare it with the standard resnet50, I found somewhere is different, such as stride in the '_dilated_bottle_resblock'. You set it almost to 1, but the standard stride is 2 in my opinion, which one is correct, or I miss something? @zhengyang-wang

from deeplab-v2--resnet-101--tensorflow.

zhengyang-wang avatar zhengyang-wang commented on July 3, 2024

The paper used resnet101-based models. It may improve results compared to resnet50.
Could you specify what standard you were using to do the comparison and which stride (there are several convolution operations in a bottleneck block)? For blocks with dilated convolutions, the stride is always 1. For a regular bottleneck block, the stride is sometimes 2 for some convolution operations, depending on whether the spatial size changes in this block. If my stride setting is wrong, the spatial size will be wrong. Thanks.

from deeplab-v2--resnet-101--tensorflow.

FengLoveBella avatar FengLoveBella commented on July 3, 2024

Alright, I see. And another question, in your code, how many batch size is small, and if the batch_size in my code is 4, do you think, I can set is_training to true in _batch_norm.

from deeplab-v2--resnet-101--tensorflow.

FengLoveBella avatar FengLoveBella commented on July 3, 2024

And about the resnet50, I just download a caffe prototxt, I compare your code with it, and I found it is a little different in the stride, in the block which kernel size is 1024 and 2048.

from deeplab-v2--resnet-101--tensorflow.

FengLoveBella avatar FengLoveBella commented on July 3, 2024

And, to be honest, I am a little confused between is_training and training. If I set trainable=True, and is training_false, what is that mean. And set trainable=False, is_training=true/false, what is that mean? Tks.

from deeplab-v2--resnet-101--tensorflow.

zhengyang-wang avatar zhengyang-wang commented on July 3, 2024
  1. It is hard to say what batch size is small. But if you take a look at successful image classification models, the batch size is usually larger than 100. We are doing segmentation (dense prediction) so that we cannot have such a large batch size due to memory limitation.
  2. Original ResNet50 even does not have dilated convolutions. Our task is segmentation instead of classification. You were talking about different things.
  3. From the documentation of tensorflow:
    is_training: Whether or not the layer is in training mode. In training mode it would accumulate the statistics of the moments into moving_mean and moving_variance using an exponential moving average with the given decay. When it is not in training mode then it would use the values of the moving_mean and the moving_variance.
    trainable: If True also add variables to the graph collection GraphKeys.TRAINABLE_VARIABLES (see tf.Variable).

from deeplab-v2--resnet-101--tensorflow.

FengLoveBella avatar FengLoveBella commented on July 3, 2024

Tks I see

from deeplab-v2--resnet-101--tensorflow.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.