0Pricing
Learn AI with Python · Pelajaran

Tensor PyTorch dan Autograd

torch.Tensor, requires_grad, backward(), perhitungan gradien, operasi tensor.

Tensor PyTorch dan Autograd adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa itu PyTorch?

PyTorch adalah kerangka kerja pembelajaran mendalam yang dibangun di sekitar tensor, yaitu larik multidimensi dengan akselerasi GPU dan diferensiasi otomatis. Dua pilar pertama yang harus Anda kuasai adalah tensor dan diferensiasi otomatis.

pip install torch

import torch

Membuat Tensor

Sebuah tensor seperti larik NumPy, tetapi dapat berada di GPU dan melacak gradien. Buat tensor dengan torch.tensor. Tensor memiliki shape dan dtype.

x = torch.tensor([1.0, 2.0, 3.0])
print(x.shape)   # torch.Size([3])
print(x.dtype)   # torch.float32

Operasi Tensor

Tensor mendukung perhitungan matematika per elemen, perkalian matriks, dan perubahan bentuk. Operasi divektorisasi dan berjalan cepat pada perangkat keras. Ini adalah dasar komputasi setiap jaringan saraf.

a = torch.tensor([[1.0, 2.0], [3.0, 4.0]])
b = torch.tensor([[5.0, 6.0], [7.0, 8.0]])
print(a + b)
print(a @ b)  # matrix multiply

requires_grad: Melacak Gradien

Untuk menghitung gradien, buat tensor dengan requires_grad=True. PyTorch kemudian mencatat setiap operasi padanya, membangun graf komputasi yang dapat didiferensiasikannya nanti.

x = torch.tensor([2.0, 3.0], requires_grad=True)
print(x.requires_grad)  # True

Membangun Komputasi

Terapkan operasi pada tensor yang melacak gradien untuk menghasilkan keluaran skalar. Di sini kita menguadratkan setiap elemen lalu menjumlahkannya, sehingga menghasilkan satu angka yang dapat kita diferensiasikan terhadap x.

x = torch.tensor([2.0, 3.0], requires_grad=True)
y = x.pow(2).sum()   # y = x0^2 + x1^2
print(y)             # tensor(13., grad_fn=...)

Memanggil backward()

Panggil .backward() pada skalar untuk menghitung gradien melalui propagasi balik. PyTorch menelusuri graf yang tercatat secara terbalik, lalu mengisi turunan secara otomatis.

y.backward()

Membaca .grad

Setelah backward(), setiap tensor masukan menyimpan gradiennya di .grad. Untuk y = sum(x^2), turunannya adalah 2x, sehingga gradiennya adalah [4, 6].

print(x.grad)  # tensor([4., 6.])

Gradien Terakumulasi

Hal yang sering luput: gradien bertambah pada beberapa pemanggilan backward(). Dalam loop pelatihan, Anda harus mengosongkannya pada setiap langkah dengan x.grad.zero_() atau zero_grad() milik pengoptimal.

x.grad.zero_()  # reset before the next backward()

torch.no_grad() untuk Inferensi

Selama inferensi, Anda tidak memerlukan gradien dan pelacakannya hanya memboroskan memori. Bungkus kode prediksi dengan with torch.no_grad(): untuk menonaktifkan pembuatan graf dan mempercepat proses.

with torch.no_grad():
    preds = x.pow(2).sum()
    print(preds.requires_grad)  # False

detach() untuk Menghentikan Aliran Gradien

.detach() mengembalikan tensor yang berbagi data, tetapi dikeluarkan dari graf komputasi. Gunakan ini untuk memakai suatu nilai tanpa membiarkan gradien mengalir kembali melaluinya, misalnya untuk pencatatan atau membekukan sebagian jaringan.

z = x.detach()
print(z.requires_grad)  # False

Mengapa Diferensiasi Otomatis Penting

Diferensiasi otomatis membuat pembelajaran mendalam menjadi praktis: Anda mendefinisikan komputasi forward, lalu PyTorch menurunkan gradien untuk propagasi balik secara otomatis. Setiap loop pelatihan yang Anda tulis bertumpu pada requires_grad, backward, dan .grad.

Pemeriksaan Singkat

Uji pemahaman Anda tentang diferensiasi otomatis.

Rangkuman: Tensor dan Diferensiasi Otomatis

Anda membuat tensor dengan torch.tensor dan mengaktifkan pelacakan gradien melalui requires_grad=True. Anda menghitung keluaran, menjalankan .backward(), dan membaca turunan dari .grad. Anda mempelajari bahwa gradien terakumulasi, menggunakan torch.no_grad() untuk inferensi, serta .detach() untuk memutus aliran gradien.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Tensor PyTorch dan Autograd” gratis?

Ya — teks lengkap “Tensor PyTorch dan Autograd” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Tensor PyTorch dan Autograd”?

torch.Tensor, requires_grad, backward(), perhitungan gradien, operasi tensor. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Tensor PyTorch dan Autograd” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Tensor PyTorch dan Autograd
  2. Dataset dan DataLoader Khusus
  3. Membangun dan Melatih CNN di PyTorch
  4. Deteksi Objek dengan YOLOv8
← Kembali ke Learn AI with Python