zhanghang1989 / zhanghang1989/PyTorch-Encoding
training on PASCAL Context
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2k
- Forks
- 448
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
I am trying to use that pcontext.py in your repo to reproduce the results from another paper, EMANet (Expectation Maximization Attention Networks, ICCV 2019), but I'm currently ~4% away from the mIOU values cited in the repo.
Following the advice in #179 , #78 I train the EMANet on 59 classes without the background class, by applying def _mask_transform(self, mask) during training. https://github.com/zhanghang1989/PyTorch-Encoding/blob/d9dea1724e38362a7c75ca9498f595248f283f00/encoding/datasets/pcontext.py#L97 I also apply def _mask_transform(self, mask) during evaluation of the mIOU on the test (val) set.
However, I noticed that pcontext.py does not actually use _mask_transform() for training but still sets NUM_CLASS = 59 https://github.com/zhanghang1989/PyTorch-Encoding/blob/d9dea1724e38362a7c75ca9498f595248f283f00/encoding/datasets/pcontext.py#L19
Is there anything about the training procedure that I may be misunderstanding? I'm assuming that I've done something wrong in the training of the network rather than writing the script for multi-scale evaluation because of the huge difference in performance (~ 4%).
Is it possible that number of training iterations can have a huge effect on the performance? I am using 15k iterations (~48 epochs) as cited in the EMANet paper, but I noticed in the CFNet paper, you use 80 epochs (~25k iterations).
I would really appreciate your help.
I look forward to hearing from you.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read encoding/datasets/pcontext.py around NUM_CLASS, _mask_transform, and the training and evaluation paths referenced in the report. Reproduce the EMANet setup with 59 classes, compare the 15k- and 25k-iteration cases, and verify which procedure accounts for the reported mIoU difference; done means the training behavior and discrepancy are explained.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- computer-vision, machine-learning
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100