GithubHelp home page GithubHelp logo

Comments (10)

John1231983 avatar John1231983 commented on July 23, 2024

Hi. Did you change the encoder name to res101? I guess you are using deeplab encoder

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

StevenVerne avatar StevenVerne commented on July 23, 2024

I want to use the deeplab, should I run the res101 first?

P.S. I download the ckpt provided by DrSleep, the code works

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

John1231983 avatar John1231983 commented on July 23, 2024

No. Just use encoder is deeplab and pretrain is deeplab_int that pretrained in MSCOCO. That's all. If you want to run encoder is resnet, the pretrain must be resnet_v1_101. The reason is that they must be same name to use pretrained weight. One more thing, the performance using resnet pretrained 70.5% is much lower than deeplab pretrained (by author), 75.5%. I did not find the problem yet. If you find it, lets me know

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

StevenVerne avatar StevenVerne commented on July 23, 2024

Thank you for your advise. I am just starting to use the deeplab. Happy to share, if anything interesting found

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

John1231983 avatar John1231983 commented on July 23, 2024

@zhengyang-wang: I think the convolution in the fc layer must be initial weight (such as Gaussian), otherwise the training from resnet pretrain will be very low.Do you think so?

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

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

The architecture for the decoder part (named 'fc' in deeplab and 'decoder' in res101/50) is different from the original network (e.g. ASPP instead of fully connected layers). The number of parameters is different. We cannot transfer weights in this case. That's why we randomly initialized them.

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

John1231983 avatar John1231983 commented on July 23, 2024

@zhengyang-wang: Hi. In your convolution weight, it is

w = tf.get_variable('weights', shape=[kernel_size, kernel_size, num_x, num_o])
I did not find the initializer flag is used. Does its default as random initialization? In my opition, I think it should be

w = tf.get_variable('weights', shape=[kernel_size, kernel_size, num_x, num_o],initializer= tf.contrib.layers.xavier_initializer())

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

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

For convolutional layers, we used pre-trained weights as their initialization. It does not matter what initializers you are using.

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

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

And, the default initializer is https://www.tensorflow.org/api_docs/python/tf/glorot_uniform_initializer

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

John1231983 avatar John1231983 commented on July 23, 2024

@zhengyang-wang : Thanks for your information. Actually, my question about convolutions is in the fc layer (decoder layers-ASPP). We have to initialize weight for these convolutions because we cannot borrow the weight from ResNet pre-train.

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.