mirror of
https://github.com/rasbt/LLMs-from-scratch.git
synced 2025-08-15 20:21:22 +00:00
Note about MPS in ch06 and ch07 (#325)
This commit is contained in:
parent
8ef5022511
commit
c443035d56
@ -1687,6 +1687,21 @@
|
|||||||
],
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
|
"device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
|
||||||
|
"\n",
|
||||||
|
"# Note:\n",
|
||||||
|
"# Uncommenting the following lines will allow the code to run on Apple Silicon chips, if applicable,\n",
|
||||||
|
"# which is approximately 2x faster than on an Apple CPU (as measured on an M3 MacBook Air).\n",
|
||||||
|
"# As of this writing, in PyTorch 2.4, the results obtained via CPU and MPS were identical.\n",
|
||||||
|
"# However, in earlier versions of PyTorch, you may observe different results when using MPS.\n",
|
||||||
|
"\n",
|
||||||
|
"#if torch.cuda.is_available():\n",
|
||||||
|
"# device = torch.device(\"cuda\")\n",
|
||||||
|
"#elif torch.backends.mps.is_available():\n",
|
||||||
|
"# device = torch.device(\"mps\")\n",
|
||||||
|
"#else:\n",
|
||||||
|
"# device = torch.device(\"cpu\")\n",
|
||||||
|
"#print(f\"Running on {device} device.\")\n",
|
||||||
|
"\n",
|
||||||
"model.to(device) # no assignment model = model.to(device) necessary for nn.Module classes\n",
|
"model.to(device) # no assignment model = model.to(device) necessary for nn.Module classes\n",
|
||||||
"\n",
|
"\n",
|
||||||
"torch.manual_seed(123) # For reproducibility due to the shuffling in the training data loader\n",
|
"torch.manual_seed(123) # For reproducibility due to the shuffling in the training data loader\n",
|
||||||
|
@ -1125,13 +1125,17 @@
|
|||||||
"source": [
|
"source": [
|
||||||
"device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
|
"device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
|
||||||
"\n",
|
"\n",
|
||||||
"# If you have a Mac with Apple Silicon chip, you can uncomment the next lines of code\n",
|
"# Note:\n",
|
||||||
"# to train the model on the Mac's GPU cores. However, as of this writing, this results in\n",
|
"# Uncommenting the following lines will allow the code to run on Apple Silicon chips, if applicable,\n",
|
||||||
"# larger numerical deviations from the results shown in this chapter, because Apple Silicon\n",
|
"# which is much faster than on an Apple CPU (as measured on an M3 MacBook Air).\n",
|
||||||
"# support in PyTorch is still experimental\n",
|
"# However, the resulting loss values may be slightly different.\n",
|
||||||
"\n",
|
"\n",
|
||||||
"# if torch.backends.mps.is_available():\n",
|
"#if torch.cuda.is_available():\n",
|
||||||
|
"# device = torch.device(\"cuda\")\n",
|
||||||
|
"#elif torch.backends.mps.is_available():\n",
|
||||||
"# device = torch.device(\"mps\")\n",
|
"# device = torch.device(\"mps\")\n",
|
||||||
|
"#else:\n",
|
||||||
|
"# device = torch.device(\"cpu\")\n",
|
||||||
"\n",
|
"\n",
|
||||||
"print(\"Device:\", device)"
|
"print(\"Device:\", device)"
|
||||||
]
|
]
|
||||||
@ -2762,7 +2766,7 @@
|
|||||||
"name": "python",
|
"name": "python",
|
||||||
"nbconvert_exporter": "python",
|
"nbconvert_exporter": "python",
|
||||||
"pygments_lexer": "ipython3",
|
"pygments_lexer": "ipython3",
|
||||||
"version": "3.10.6"
|
"version": "3.11.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nbformat": 4,
|
"nbformat": 4,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user