GithubHelp home page GithubHelp logo

valeoai / esl Goto Github PK

View Code? Open in Web Editor NEW
18.0 18.0 3.0 167 KB

ESL: Entropy-guided Self-supervised Learning for Domain Adaptation in Semantic Segmentation

License: Other

Dockerfile 0.77% Python 99.23%

esl's People

Contributors

sportaxd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

esl's Issues

the test pretrained code can not reach miou 43.7 ,when i test,the pretrained codes the miou is 0.47

the test pretrained code can not reach miou 43.7 ,when i test,the pretrained codes the miou is 0.47
the code runining result:
File "test.py", line 99, in
main(args.cfg, args.exp_suffix)
File "test.py", line 92, in main
evaluate_domain_adaptation(models, test_loader, cfg)
File "/home/DATA/huyujie/think/ADVENT-master/advent/domain_adaptation/eval_UDA.py", line 29, in evaluate_domain_adaptation
verbose)
File "/home/DATA/huyujie/think/ADVENT-master/advent/domain_adaptation/eval_UDA.py", line 52, in eval_single
_, pred_main, _ = model(image.cuda(device))
ValueError: not enough values to unpack (expected 3, got 2)
when i modify the code pred_main = model(image.cuda(device))[1]
can running but the miou is 0.47
image

esl vs ssl

I am familar with your paper ADVENT and paper BDL's SSL, so I directly read your code. If my understanding is correct, the main

difference between esl and ssl is in below code:

x = predicted_entropy[predicted_label==i] vs x = predicted_prob[predicted_label==i]

thres[thres<cfg.ESL.THRESHOLD]=cfg.ESL.THRESHOLD vs thres[thres>0.9]=0.9

label[(entropy>thres[i])(label==i)] = 255 vs label[(prob<thres[i])(label==i)] = 255

Then I do a small experiment, I trained my unsupervised domain adaptation segmentation network, the obtained mIOU is 41.31,

then I use the 41.31 mIOU 's model to run SSL.py, use the pseudo to train the target domain with a supervised way, then reach

to 43.64 mIOU. Then, I modify the SSL mainly with upper code to ESL, to obtain the pseudo and train with target, however, the

mIOU is 42.68. Besides, the SSL method mainly about 43, 43.2 mIOU, and ESL method mainly about 41.8, 42 mIOU, even 41.4

mIOU. So I think its very strange for me. Do I do some wrong in modifying the code? Can you give me some suggestions?

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.