Di blog ini, kita akan membahas cara menggunakan “ obor.no_grad ” metode di PyTorch.
Apa itu Metode “torch.no_grad” di PyTorch?
“ obor.no_grad Metode ” digunakan untuk pengelolaan konteks dalam kerangka pengembangan PyTorch. Tujuannya adalah menghentikan penghitungan gradien untuk koneksi antar lapisan model pembelajaran mendalam berikutnya. Kegunaan metode ini adalah ketika gradien tidak diperlukan dalam model tertentu, gradien tersebut dapat dinonaktifkan untuk mengalokasikan lebih banyak sumber daya perangkat keras untuk pemrosesan loop pelatihan model.
Bagaimana Cara Menggunakan Metode “torch.no_grad” di PyTorch?
Gradien dihitung dalam backward pass di PyTorch. Secara default, PyTorch mengaktifkan diferensiasi otomatis untuk semua model pembelajaran mesin. Penonaktifan komputasi gradien sangat penting bagi pengembang yang tidak memiliki sumber daya pemrosesan perangkat keras yang memadai.
Ikuti langkah-langkah di bawah ini untuk mempelajari cara menggunakan “ obor.no_grad ” metode untuk menonaktifkan perhitungan gradien di PyTorch:
Langkah 1: Luncurkan IDE Colab
Google Colaboratory adalah pilihan platform yang sangat baik untuk pengembangan proyek menggunakan kerangka PyTorch karena GPU khusus. Buka Colab situs web dan buka “ Buku Catatan Baru ' seperti yang ditunjukkan:
Langkah 2: Instal dan Impor Perpustakaan Torch
Semua fungsi PyTorch dirangkum oleh “ obor ' perpustakaan. Instalasi dan impornya sangat penting sebelum mulai bekerja. “ !pip ” paket instalasi Python digunakan untuk menginstal perpustakaan dan diimpor ke proyek menggunakan “ impor ' memerintah:
!pip instal oborimpor obor
Langkah 3: Tentukan Tensor PyTorch dengan Gradien
Tambahkan tensor PyTorch ke proyek menggunakan “ obor.tensor() ' metode. Kemudian, berikan gradien yang valid menggunakan “ membutuhkan_grad=Benar ” seperti yang ditunjukkan pada kode di bawah ini:
A = obor.tensor([5.0], require_grad=True)
Langkah 4: Gunakan Metode “torch.no_grad” untuk Menghapus Gradien
Selanjutnya, hapus gradien dari tensor yang ditentukan sebelumnya menggunakan “ obor.no_grad ' metode:
dengan obor.no_grad():B = SEBUAH**2 + 16
Kode di atas berfungsi sebagai berikut:
- “ no_grad() ” Metode digunakan di dalam “ dengan ' lingkaran.
- Setiap tensor yang terdapat dalam loop telah dihapus gradiennya.
- Terakhir, tentukan contoh penghitungan aritmatika menggunakan tensor yang telah ditentukan sebelumnya dan tetapkan ke “ B ” variabel seperti yang ditunjukkan di atas:
Langkah 5: Verifikasi Penghapusan Gradien
Langkah terakhir adalah memverifikasi apa yang baru saja dilakukan. Gradien dari tensor “ A ” telah dihapus dan harus diperiksa di output menggunakan “ mencetak() ' metode:
print('Perhitungan Gradien dengan torch.no_grad: ', A.grad)print('\nTensor Asli: ', A)
print('\nContoh Perhitungan Aritmatika: ', B)
Kode di atas berfungsi sebagai berikut:
- “ lulusan ” Metode memberi kita gradien tensor “ A ”. Ini tidak menunjukkan apa pun pada output di bawah ini karena gradien telah dihapus menggunakan “ obor.no_grad ' metode.
- Tensor asli masih menunjukkan gradiennya seperti yang terlihat dari “ membutuhkan_grad=Benar ” pernyataan di output.
- Terakhir, contoh perhitungan aritmatika menunjukkan hasil persamaan yang ditentukan sebelumnya:
Catatan : Anda dapat mengakses Notebook Colab kami di sini tautan .
Tip Pro
“ obor.no_grad ” Metode ini ideal ketika gradien tidak diperlukan atau ketika ada kebutuhan untuk mengurangi beban pemrosesan pada perangkat keras. Kegunaan lain dari metode ini adalah pada saat inferensi karena model hanya digunakan untuk membuat prediksi berdasarkan data baru. Karena tidak ada pelatihan yang terlibat, masuk akal untuk menonaktifkan penghitungan gradien saja.
Kesuksesan! Kami telah menunjukkan kepada Anda cara menggunakan metode “torch.no_grad” untuk menonaktifkan gradien di PyTorch.
Kesimpulan
Menggunakan ' obor.no_grad ” metode di PyTorch dengan mendefinisikannya di dalam “ dengan ” loop dan semua tensor yang ada di dalamnya akan dihilangkan gradiennya. Hal ini akan membawa peningkatan dalam kecepatan pemrosesan dan mencegah akumulasi gradien dalam loop pelatihan. Di blog ini, kami telah menunjukkan bagaimana ini “ obor.no_grad Metode ” dapat digunakan untuk menonaktifkan gradien tensor yang dipilih di PyTorch.