Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Softmax and log-softmax no longer applied in models.#239

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
Britefury wants to merge2 commits intoCSAILVision:master
base:master
Choose a base branch
Loading
fromBritefury:logits-from-models

Conversation

Britefury
Copy link

@BritefuryBritefury commentedJul 21, 2020
edited
Loading

Softmax and log-softmax no longer applied in models; they are now applied in the evaluation and training scripts. This was done by usingnn.CrossEntropyLoss rather thannn.NLLLoss.

Class predictions are still valid when using max/argmax of logits rather than probabilities, so we can use logits for evaluation accuracy and IoU.

Furthermore I've change the decoders so that rather than using theuse_softmax flag to determine if we are in inference mode, we apply the interpolation if thesegSize parameter is provided; only done in inference in your code. Also, the decoders now return a dict with the'logits' key giving the predicted logits and the'deepsup_logits' key giving logits for deep supervision, when using deep supervision decoders.

The motivation for this is that some uses of semantic segmentation models require losses other than softmax/log-softmax as used in supervised training. Moving this out of the model classes make them useful in a wider variety of circumstances. Specifically I want to test a PSPNet in my semi-supervised work here:https://github.com/Britefury/cutmix-semisup-seg. I use a variety of unsupervised loss functions, hence preferring that models output logits that can be processed in a variety of ways.

Queuecumber reacted with thumbs up emoji
Evaluation and training programs now use `nn.CrossEntropyLoss` rather than `nn.NLLLoss`.
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers
No reviews
Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

1 participant
@Britefury

[8]ページ先頭

©2009-2025 Movatter.jp