Penyiapan lingkungan

Instalasi PyTorch, perbedaan build CUDA dan CPU, pemeriksaan device, dan smoke test pertama.

Daftar isi

Topik ini menyiapkan lingkungan kerja PyTorch dari awal: memilih antara build CUDA dan build CPU, menginstal paketnya melalui pip, memverifikasi hasil instalasi, dan menjalankan smoke test, yaitu uji coba kecil untuk memastikan seluruh komponen bekerja. Seluruh tahapan dirancang untuk berjalan tanpa GPU, dan cara berpikirnya tidak berubah ketika kelak GPU tersedia. Setelah selesai, perintah apa pun pada jalur ini dapat dijalankan tanpa hambatan lingkungan.

Memilih build: CUDA atau CPU#

PyTorch diedarkan dalam dua keluarga build, yaitu paket yang sudah dikompilasi beserta pustaka pendukungnya. Build CPU menjalankan seluruh perhitungan pada prosesor, sedangkan build CUDA menggunakan GPU NVIDIA melalui CUDA, yaitu platform komputasi paralel milik NVIDIA. Keduanya menyediakan API Python yang identik, sehingga kode yang ditulis untuk satu build berjalan pada build lainnya tanpa perubahan. Kata device pada PyTorch menyebut perangkat komputasi tempat tensor berada, misalnya cpu atau cuda.

Tabel berikut merangkum perbedaannya.

AspekBuild CPUBuild CUDA
Ukuran unduhanratusan megabitabeberapa gigabita
Perangkat kerastidak menuntut GPUGPU NVIDIA beserta driver-nya
Kecepatan pelatihancukup untuk model keciljauh lebih cepat untuk model besar
Kecocokanpembelajaran dan eksperimen kecilpelatihan skala besar

Kekhawatiran lama yang tidak lagi relevan adalah perlunya menginstal CUDA Toolkit secara terpisah. Paket build CUDA yang diambil pip sudah menyertakan runtime CUDA yang dibutuhkannya, sehingga yang tersisa hanyalah GPU dengan driver yang memadai.

Instalasi dengan pip#

Instalasi dilakukan melalui pip, pengelola paket bawaan Python. Perintah pip install torch torchvision tanpa argumen tambahan mengambil build default dari PyPI, yang pada Linux dan Windows berupa build CUDA berukuran besar, sedangkan pada macOS otomatis menjadi build CPU. Bila build CPU yang diinginkan pada Linux atau Windows, tambahkan --index-url yang menunjuk ke repositori resmi PyTorch:

bash
# tidak-dijalankan
# kedua perintah berikut tidak dieksekusi di sandbox karena unduhannya besar (ratusan megabita hingga beberapa gigabita)
pip install torch torchvision
pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu

torchvision disertakan dalam kedua perintah karena menyediakan dataset citra dan model klasik yang bobotnya sudah dilatih, yang digunakan pada jalur ini. Perintah yang kedua menghasilkan build CPU dan menjadi pilihan untuk lingkungan tanpa GPU. Proses instalasi memakan waktu beberapa menit tergantung pada kecepatan jaringan, dan hanya perlu dilakukan satu kali per lingkungan Python. Apabila komputer menggunakan beberapa lingkungan sekaligus, pastikan lingkungan yang aktif saat instalasi sama dengan lingkungan yang aktif saat kode dijalankan.

Verifikasi instalasi#

Verifikasi pertama cukup satu baris, yaitu meminta PyTorch menyebutkan versinya sendiri:

bash
# tampilkan versi PyTorch yang terpasang
python3 -c "import torch; print(torch.__version__)"
text Keluaran
2.15.0+cpu

Bilangan di depan adalah versi PyTorch, sedangkan akhiran +cpu menyatakan build yang terpasang. Akhiran serupa pada build CUDA berbentuk +cu121 dan sejenisnya, yang menandai versi CUDA yang dibundel. Apabila perintah ini berakhir dengan ModuleNotFoundError, paket PyTorch belum terpasang pada interpreter yang sedang digunakan.

Pemeriksaan berikutnya lebih menyeluruh karena sekaligus menanyakan keberadaan GPU:

python periksa-instalasi.py
import torch

print("Versi PyTorch      :", torch.__version__)
print("CUDA tersedia      :", torch.cuda.is_available())
print("Jumlah device CUDA :", torch.cuda.device_count())
text Keluaran
Versi PyTorch      : 2.15.0+cpu
CUDA tersedia      : False
Jumlah device CUDA : 0

Tiga baris keluaran menjawab tiga pertanyaan berbeda. torch.__version__ mengonfirmasi paket yang terpasang beserta build-nya, torch.cuda.is_available() menyatakan bahwa build CUDA tidak terpasang atau GPU tidak terdeteksi, dan torch.cuda.device_count() menghitung jumlah GPU yang dapat digunakan. Nilai False pada keluaran di atas adalah jawaban yang sah untuk lingkungan tanpa GPU, bukan tanda kegagalan instalasi. Build CPU menjalankan API yang sama persis, sehingga seluruh materi jalur ini tetap dapat dikerjakan.

Smoke test pertama#

Pada tahap terakhir, smoke test dijalankan untuk memastikan semua komponen bekerja sebelum pekerjaan sesungguhnya dimulai. Untuk PyTorch, uji ini berarti membuat tensor, menghitung nilai di atasnya, dan mencetak device tempat perhitungan berjalan.

Skrip berikut memuat pola yang digunakan berulang kali pada jalur ini: pemilihan device ditulis secara eksplisit berdasarkan jawaban torch.cuda.is_available(), dan tensor dibuat langsung pada device tersebut:

python smoke-test.py
import torch

# pilih device: GPU bila tersedia, CPU bila tidak
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print("Device aktif:", device)

# tensor kecil dibuat langsung di device tersebut
a = torch.tensor([[1.0, 2.0], [3.0, 4.0]], device=device)
b = torch.tensor([[5.0, 6.0], [7.0, 8.0]], device=device)

# perkalian matriks sebagai bukti perhitungan berjalan
c = a @ b
print("Hasil perkalian matriks:")
print(c)
text Keluaran
Device aktif: cpu
Hasil perkalian matriks:
tensor([[19., 22.],
        [43., 50.]])

Baris Device aktif: cpu menunjukkan pemilihan device berjalan, dan hasil perkalian matriks tercetak lengkap dengan nilai-nilainya. Pada komputer dengan build CUDA dan GPU yang siap, baris yang sama mencetak cuda, sedangkan sisa skripnya tidak berubah sama sekali. Perpindahan dari satu device ke device lain inilah salah satu daya tarik PyTorch: kode yang mengikuti pola di atas tidak perlu disunting ketika device berganti.

Kesalahan umum#

Dua error berikut paling sering muncul tepat setelah instalasi.

Yang pertama adalah ModuleNotFoundError: No module named 'torch' padahal instalasi baru saja dilakukan. Penyebabnya hampir selalu perbedaan lingkungan: pip yang menjalankan instalasi terhubung ke interpreter Python yang berbeda dari interpreter yang menjalankan skrip. Perbaikannya adalah menginstal melalui interpreter yang sama dengan skrip, misalnya python3 -m pip install torch, setelah lingkungan yang aktif dipastikan.

Yang kedua adalah menganggap torch.cuda.is_available() bernilai False sebagai kegagalan instalasi. Nilai tersebut adalah jawaban yang sah untuk build CPU atau komputer tanpa GPU yang memadai. Apabila GPU memang ada dan nilainya tetap False, periksa tiga hal secara berurutan: akhiran versi yang menyatakan build yang terpasang, driver NVIDIA yang terpasang, dan keluaran torch.cuda.device_count().

Ringkasan#

  • Build CPU dan build CUDA menyediakan API Python yang identik. Pilihannya ditentukan oleh perangkat keras dan ukuran pelatihan, sedangkan build CPU sudah cukup untuk seluruh jalur ini.
  • Instalasi berjalan melalui pip dengan repositori resmi PyTorch, lalu diverifikasi melalui torch.__version__ dan torch.cuda.is_available().
  • Smoke test pertama membuat tensor pada device terpilih, menghitung perkalian matriks, dan mencetak device aktif dengan pola pemilihan device yang digunakan sepanjang jalur.

Referensi#