carpedm20 / carpedm20/ENAS-pytorch
Cannot use test and reproduce the result?
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.7k
- Forks
- 486
- PR merge metrics
- No merged PRs in 30d
Description
@dukebw Hi, thanks for your code. I download it and run it but meet with 3 main problems:
- It seems that it cannot reproduce the result in the paper? I run it using the run.sh by default and the eval ppl is around 80~100 until the end of the training (150 epochs)
- There is no test function in the Trainer class. I add one using the evaluation method (by passing self.test_data as the arg). However, the ppl is around 1500. Even when I pass self.train_data, self.eval_data or self.valid_data, it`s also around 1500.
- After training is done, when I call either test() or derive() and pass the arg --load_path, the self.shared.load_state_dict in load_model() throws out an error as "KeyError: unexpected key batch_norm.weight in state_dict". Moreover, I print the self.shared.state_dict.keys() and the content loaded by torch.load from the checkpoint, and find that, parameters stored in the checkpoint contain 4 parameters related with batch normalization as "batch_norm.weight", "batch_norm.bias", "bath_norm.running_mean", "batch_norm.running_var", while the parameters shown by self.shared.load_state_dict not.
It would be great if you could help check these.
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
Start by running the repository's default run.sh workflow and inspect the Trainer evaluation path, including test_data, eval_data, and valid_data. Then trace load_model() and compare the checkpoint keys with self.shared.state_dict(); done means the reported evaluation behavior and batch_norm loading error are explained and corrected, with the relevant training, testing, and loading paths verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, pytorch
- Domain
- machine-learning
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100