Skip to content

Commit

Permalink
Merge pull request microsoft#853 from jingdong00/jingdong00-patch-1
Browse files Browse the repository at this point in the history
Fix example tune-pytorch where the checkpoint path may be named differently
  • Loading branch information
skzhang1 authored Dec 19, 2022
2 parents b2d51b6 + 91ec8e9 commit f98b755
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 9 deletions.
19 changes: 13 additions & 6 deletions notebook/tune_pytorch.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,11 @@
" best_trained_model = nn.DataParallel(best_trained_model)\n",
"best_trained_model.to(device)\n",
"\n",
"checkpoint_path = os.path.join(best_trial.checkpoint.value, \"checkpoint\")\n",
"checkpoint_value = (\n",
" getattr(best_trial.checkpoint, \"dir_or_data\", None)\n",
" or best_trial.checkpoint.value\n",
")\n",
"checkpoint_path = os.path.join(checkpoint_value, \"checkpoint\")\n",
"\n",
"model_state, optimizer_state = torch.load(checkpoint_path)\n",
"best_trained_model.load_state_dict(model_state)\n",
Expand All @@ -358,11 +362,9 @@
}
],
"metadata": {
"interpreter": {
"hash": "f7771e6a3915580179405189f5aa4eb9047494cbe4e005b29b851351b54902f6"
},
"kernelspec": {
"display_name": "Python 3.8.10 64-bit ('venv': venv)",
"display_name": "Python 3.11.0 64-bit",
"language": "python",
"name": "python3"
},
"language_info": {
Expand All @@ -375,12 +377,17 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.12"
"version": "3.11.0"
},
"metadata": {
"interpreter": {
"hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6"
}
},
"vscode": {
"interpreter": {
"hash": "aee8b7b246df8f9039afb4144a1f6fd8d2ca17a180786b69acc140d282b71a49"
}
}
},
"nbformat": 4,
Expand Down
6 changes: 5 additions & 1 deletion test/tune/test_pytorch_cifar10.py
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,11 @@ def cifar10_main(
best_trained_model = nn.DataParallel(best_trained_model)
best_trained_model.to(device)

checkpoint_path = os.path.join(best_trial.checkpoint.value, "checkpoint")
checkpoint_value = (
getattr(best_trial.checkpoint, "dir_or_data", None)
or best_trial.checkpoint.value
)
checkpoint_path = os.path.join(checkpoint_value, "checkpoint")

model_state, optimizer_state = torch.load(checkpoint_path)
best_trained_model.load_state_dict(model_state)
Expand Down
5 changes: 3 additions & 2 deletions website/docs/Examples/Tune-PyTorch.md
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,8 @@ if torch.cuda.is_available():
best_trained_model = nn.DataParallel(best_trained_model)
best_trained_model.to(device)

checkpoint_path = os.path.join(best_trial.checkpoint.value, "checkpoint")
checkpoint_value = getattr(best_trial.checkpoint, "dir_or_data", None) or best_trial.checkpoint.value
checkpoint_path = os.path.join(checkpoint_value, "checkpoint")

model_state, optimizer_state = torch.load(checkpoint_path)
best_trained_model.load_state_dict(model_state)
Expand All @@ -283,4 +284,4 @@ Files already downloaded and verified
Best trial test set accuracy: 0.6294
```

[Link to notebook](https://github.com/microsoft/FLAML/blob/main/notebook/tune_pytorch.ipynb) | [Open in colab](https://colab.research.google.com/github/microsoft/FLAML/blob/main/notebook/tune_pytorch.ipynb)
[Link to notebook](https://github.com/microsoft/FLAML/blob/main/notebook/tune_pytorch.ipynb) | [Open in colab](https://colab.research.google.com/github/microsoft/FLAML/blob/main/notebook/tune_pytorch.ipynb)

0 comments on commit f98b755

Please sign in to comment.