finish PyTorch course part 0.

This commit is contained in:
emil28092005
2026-07-04 03:57:02 +03:00
parent 3c8125788a
commit 625ab0db48
@@ -1558,16 +1558,373 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 14,
"id": "e7bb6813",
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"(array([1., 2., 3., 4., 5., 6., 7.]),\n",
" tensor([1., 2., 3., 4., 5., 6., 7.], dtype=torch.float64))"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import torch\n",
"import numpy as np\n",
"array = np.arange(1.0, 8.0)\n",
"tensor = torch.tensor"
"tensor = torch.from_numpy(array)\n",
"array, tensor"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "61b93491",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(array([2., 3., 4., 5., 6., 7., 8.]),\n",
" tensor([1., 2., 3., 4., 5., 6., 7.], dtype=torch.float64))"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"array = array + 1\n",
"array, tensor"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "41d9fd3a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(tensor([1., 1., 1., 1., 1., 1., 1.]),\n",
" array([1., 1., 1., 1., 1., 1., 1.], dtype=float32))"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tensor = torch.ones(7)\n",
"numpy_tensor = tensor.numpy()\n",
"tensor, numpy_tensor"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "8ada9db6",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(tensor([2., 2., 2., 2., 2., 2., 2.]),\n",
" array([1., 1., 1., 1., 1., 1., 1.], dtype=float32))"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Change the tensor, keep the array the same\n",
"tensor = tensor + 1\n",
"tensor, numpy_tensor"
]
},
{
"cell_type": "markdown",
"id": "3af058da",
"metadata": {},
"source": [
"## Reproducibility (trying to take the random out of random)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "0a00667b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"A: tensor([[4.2700e-01, 8.9671e-01, 4.1658e-01, 2.9154e-01],\n",
" [3.4190e-02, 3.4361e-01, 3.1516e-01, 2.7454e-04],\n",
" [9.2615e-01, 1.6299e-02, 1.7206e-01, 1.8269e-01]])\n",
"B: tensor([[0.9275, 0.7377, 0.7251, 0.2588],\n",
" [0.4665, 0.1228, 0.1004, 0.6401],\n",
" [0.3025, 0.1982, 0.0094, 0.3338]])\n"
]
},
{
"data": {
"text/plain": [
"tensor([[False, False, False, False],\n",
" [False, False, False, False],\n",
" [False, False, False, False]])"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"random_tensor_A = torch.rand(3, 4)\n",
"random_tensor_B = torch.rand(3, 4)\n",
"\n",
"print(\"A:\", random_tensor_A)\n",
"print(\"B:\", random_tensor_B)\n",
"random_tensor_A == random_tensor_B"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "ab5c361b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"tensor([[True, True, True, True],\n",
" [True, True, True, True],\n",
" [True, True, True, True]])"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import torch\n",
"import random\n",
"RANDOM_SEED=42\n",
"torch.manual_seed(seed=RANDOM_SEED)\n",
"random_tensor_C = torch.rand(3, 4)\n",
"\n",
"torch.random.manual_seed(seed=RANDOM_SEED)\n",
"random_tensor_D = torch.rand(3, 4)\n",
"\n",
"random_tensor_C == random_tensor_D\n"
]
},
{
"cell_type": "markdown",
"id": "c265868a",
"metadata": {},
"source": [
"## Running tensors on GPUs (and making faster computations)"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "30165071",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Sat Jul 4 03:48:48 2026 \n",
"+-----------------------------------------------------------------------------------------+\n",
"| NVIDIA-SMI 580.159.03 Driver Version: 580.159.03 CUDA Version: 13.0 |\n",
"+-----------------------------------------+------------------------+----------------------+\n",
"| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |\n",
"| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |\n",
"| | | MIG M. |\n",
"|=========================================+========================+======================|\n",
"| 0 NVIDIA GeForce RTX 3050 ... Off | 00000000:01:00.0 Off | N/A |\n",
"| N/A 38C P0 8W / 74W | 15MiB / 4096MiB | 0% Default |\n",
"| | | N/A |\n",
"+-----------------------------------------+------------------------+----------------------+\n",
"\n",
"+-----------------------------------------------------------------------------------------+\n",
"| Processes: |\n",
"| GPU GI CI PID Type Process name GPU Memory |\n",
"| ID ID Usage |\n",
"|=========================================================================================|\n",
"| 0 N/A N/A 1997 G /usr/lib/xorg/Xorg 4MiB |\n",
"+-----------------------------------------------------------------------------------------+\n"
]
}
],
"source": [
"!nvidia-smi"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "0ef09aeb",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import torch\n",
"torch.cuda.is_available()"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "cfae87dd",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'cuda'"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"device = \"cuda\" if torch.cuda.is_available() else \"cpu\"\n",
"device"
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "50a4a450",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"torch.cuda.device_count()"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "212ef7c7",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"tensor([1, 2, 3]) cpu\n"
]
},
{
"data": {
"text/plain": [
"tensor([1, 2, 3], device='cuda:0')"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tensor = torch.tensor([1, 2, 3])\n",
"print(tensor, tensor.device)\n",
"\n",
"tensor_on_gpu = tensor.to(device)\n",
"tensor_on_gpu"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "7e7b30a8",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([1, 2, 3])"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tensor_back_on_cpu = tensor_on_gpu.cpu().numpy()\n",
"tensor_back_on_cpu"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "4a8a7c7f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"tensor([1, 2, 3], device='cuda:0')"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tensor_on_gpu"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "21192ab6",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {