Fahami dengan mendalam fungsi teras Pytorch: terbitan automatik!
Hai, saya Xiaozhuang!
Mengenai operasi terbitan automatik dalam pytorch, perkenalkan konsep terbitan automatik dalam pytorch
Derivasi automatik ialah fungsi penting rangka kerja pembelajaran mendalam, digunakan untuk mengira kecerunan dan mencapai kemas kini dan pengoptimuman parameter.
PyTorch ialah rangka kerja pembelajaran mendalam yang biasa digunakan yang menggunakan graf pengiraan dinamik dan mekanisme terbitan automatik untuk memudahkan proses pengiraan kecerunan.
Penerbitan automatik
Penerbitan automatik ialah fungsi penting rangka kerja pembelajaran mesin Ia boleh mengira secara automatik derivatif (kecerunan) fungsi, sekali gus memudahkan proses melatih model pembelajaran mendalam. Dalam pembelajaran mendalam, model selalunya mengandungi sejumlah besar parameter, dan pengiraan kecerunan secara manual boleh menjadi rumit dan terdedah kepada ralat. PyTorch menyediakan fungsi terbitan automatik, membolehkan pengguna mengira kecerunan dengan mudah dan melakukan perambatan belakang untuk mengemas kini parameter model. Pengenalan ciri ini sangat meningkatkan kecekapan dan kemudahan penggunaan pembelajaran mendalam.
Sedikit prinsip
Fungsi terbitan automatik PyTorch adalah berdasarkan graf pengiraan dinamik. Graf pengiraan ialah struktur graf yang digunakan untuk mewakili proses pengiraan fungsi, di mana nod mewakili operasi dan tepi mewakili aliran data. Berbeza daripada graf pengiraan statik, struktur graf pengiraan dinamik boleh dijana secara dinamik berdasarkan proses pelaksanaan sebenar, dan bukannya ditakrifkan terlebih dahulu. Reka bentuk ini menjadikan PyTorch fleksibel dan berskala untuk menyesuaikan diri dengan keperluan pengkomputeran yang berbeza. Melalui graf pengiraan dinamik, PyTorch boleh merekodkan sejarah operasi, melakukan perambatan belakang dan mengira kecerunan mengikut keperluan. Ini menjadikan PyTorch sebagai salah satu rangka kerja yang digunakan secara meluas dalam bidang pembelajaran mendalam.
Dalam PyTorch, setiap operasi pengguna direkodkan untuk membina graf pengiraan. Dengan cara ini, apabila kecerunan perlu dikira, PyTorch boleh melakukan perambatan balik mengikut graf pengiraan dan secara automatik mengira kecerunan setiap parameter kepada fungsi kehilangan. Mekanisme terbitan automatik ini berdasarkan graf pengiraan dinamik menjadikan PyTorch fleksibel dan berskala, menjadikannya sesuai untuk pelbagai struktur rangkaian saraf yang kompleks.
Operasi asas untuk terbitan automatik
1. Tensor
Dalam PyTorch, tensor ialah struktur data asas untuk terbitan automatik. Tensor adalah serupa dengan tatasusunan berbilang dimensi dalam NumPy, tetapi mempunyai ciri tambahan seperti terbitan automatik. Melalui kelas obor.Tensor, pengguna boleh mencipta tensor dan melakukan pelbagai operasi padanya.
import torch# 创建张量x = torch.tensor([2.0], requires_grad=True)
Dalam contoh di atas, require_grad=True bermaksud kita ingin membezakan secara automatik tensor ini.
2. Pembinaan graf pengiraan
Setiap operasi yang dilakukan akan mencipta nod dalam graf pengiraan. PyTorch menyediakan pelbagai operasi tensor, seperti penambahan, pendaraban, fungsi pengaktifan, dsb., yang akan meninggalkan kesan dalam graf pengiraan.
# 张量操作y = x ** 2z = 2 * y + 3
Dalam contoh di atas, proses pengiraan y dan z direkodkan dalam graf pengiraan.
3. Pengiraan kecerunan dan rambatan belakang
Setelah graf pengiraan dibina, rambatan belakang boleh dilakukan dengan memanggil kaedah .backward() untuk mengira kecerunan secara automatik.
# 反向传播z.backward()
Pada ketika ini, kecerunan x boleh diperolehi dengan mengakses x.grad.
# 获取梯度print(x.grad)
4. Lumpuhkan penjejakan kecerunan
Kadangkala, kami ingin melumpuhkan penjejakan kecerunan untuk operasi tertentu, kami boleh menggunakan pengurus konteks torch.no_grad().
with torch.no_grad():# 在这个区域内的操作不会被记录在计算图中w = x + 1
5 Kecerunan jelas
Dalam gelung latihan, biasanya perlu mengosongkan kecerunan sebelum setiap rambatan belakang untuk mengelakkan pengumpulan kecerunan.
# 清零梯度x.grad.zero_()
Satu kes lengkap: terbitan automatik regresi linear
Untuk menunjukkan proses terbitan automatik dengan lebih khusus, mari kita pertimbangkan masalah regresi linear mudah. Kami mentakrifkan model linear dan fungsi kehilangan ralat purata kuasa dua dan menggunakan terbitan automatik untuk mengoptimumkan parameter model.
import torch# 数据准备X = torch.tensor([[1.0], [2.0], [3.0]])y = torch.tensor([[2.0], [4.0], [6.0]])# 模型参数w = torch.tensor([[0.0]], requires_grad=True)b = torch.tensor([[0.0]], requires_grad=True)# 模型和损失函数def linear_model(X, w, b):return X @ w + bdef mean_squared_error(y_pred, y_true):return ((y_pred - y_true) ** 2).mean()# 训练循环learning_rate = 0.01epochs = 100for epoch in range(epochs):# 前向传播y_pred = linear_model(X, w, b)loss = mean_squared_error(y_pred, y)# 反向传播loss.backward()# 更新参数with torch.no_grad():w -= learning_rate * w.gradb -= learning_rate * b.grad# 清零梯度w.grad.zero_()b.grad.zero_()# 打印最终参数print("训练后的参数:")print("权重 w:", w)print("偏置 b:", b)
Dalam contoh ini, kami mentakrifkan model linear mudah dan fungsi kehilangan ralat min kuasa dua. Melalui berbilang gelung latihan berulang, parameter w dan b model akan dioptimumkan untuk meminimumkan fungsi kehilangan.
Akhirnya
Derivasi automatik dalam PyTorch menyediakan sokongan yang kuat untuk pembelajaran mendalam, menjadikan latihan model lebih mudah dan lebih cekap.
Melalui graf pengiraan dinamik dan pengiraan kecerunan, pengguna boleh dengan mudah mentakrifkan struktur rangkaian saraf yang kompleks dan melaksanakan algoritma pengoptimuman seperti penurunan kecerunan melalui terbitan automatik.
Ini membolehkan penyelidik dan jurutera pembelajaran mendalam menumpukan lebih pada reka bentuk model dan eksperimen tanpa perlu risau tentang butiran pengiraan kecerunan.
Atas ialah kandungan terperinci Fahami dengan mendalam fungsi teras Pytorch: terbitan automatik!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Laman web ini melaporkan pada 22 Oktober bahawa pada suku ketiga tahun ini, iFlytek mencapai keuntungan bersih sebanyak 25.79 juta yuan, penurunan tahun ke tahun sebanyak 81.86% dalam tiga suku pertama ialah 99.36 juta yuan, a penurunan tahun ke tahun sebanyak 76.36%. Jiang Tao, naib presiden iFlytek, mendedahkan pada taklimat prestasi Q3 bahawa iFlytek telah melancarkan projek penyelidikan khas dengan Huawei Shengteng pada awal 2023, dan bersama-sama membangunkan perpustakaan pengendali berprestasi tinggi dengan Huawei untuk bersama-sama mewujudkan pangkalan baharu bagi buatan am China. kecerdasan untuk membenarkan model skala besar domestik Seni bina adalah berdasarkan perisian dan perkakasan inovatif secara bebas. Beliau menegaskan bahawa keupayaan semasa Huawei Ascend 910B pada asasnya setanding dengan Nvidia A100. Pada Festival Pembangun Global iFlytek 1024 yang akan datang, iFlytek dan Huawei akan membuat pengumuman bersama selanjutnya mengenai pangkalan kuasa pengkomputeran kecerdasan buatan. Beliau juga menyebut,

PyCharm ialah persekitaran pembangunan bersepadu (IDE) yang berkuasa dan PyTorch ialah rangka kerja sumber terbuka yang popular dalam bidang pembelajaran mendalam. Dalam bidang pembelajaran mesin dan pembelajaran mendalam, menggunakan PyCharm dan PyTorch untuk pembangunan boleh meningkatkan kecekapan pembangunan dan kualiti kod. Artikel ini akan memperkenalkan secara terperinci cara memasang dan mengkonfigurasi PyTorch dalam PyCharm, dan melampirkan contoh kod khusus untuk membantu pembaca menggunakan fungsi berkuasa kedua-dua ini dengan lebih baik. Langkah 1: Pasang PyCharm dan Python

Dalam tugas penjanaan bahasa semula jadi, kaedah pensampelan ialah teknik untuk mendapatkan output teks daripada model generatif. Artikel ini akan membincangkan 5 kaedah biasa dan melaksanakannya menggunakan PyTorch. 1. GreedyDecoding Dalam penyahkodan tamak, model generatif meramalkan perkataan urutan keluaran berdasarkan urutan input masa langkah demi masa. Pada setiap langkah masa, model mengira taburan kebarangkalian bersyarat bagi setiap perkataan, dan kemudian memilih perkataan dengan kebarangkalian bersyarat tertinggi sebagai output langkah masa semasa. Perkataan ini menjadi input kepada langkah masa seterusnya, dan proses penjanaan diteruskan sehingga beberapa syarat penamatan dipenuhi, seperti urutan panjang tertentu atau penanda akhir khas. Ciri GreedyDecoding ialah setiap kali kebarangkalian bersyarat semasa adalah yang terbaik

Sebelum kita memahami prinsip kerja Model Kebarangkalian Penyebaran Denoising (DDPM) secara terperinci, mari kita fahami dahulu beberapa perkembangan kecerdasan buatan generatif, yang juga merupakan salah satu penyelidikan asas DDPM. VAEVAE menggunakan pengekod, ruang terpendam kemungkinan dan penyahkod. Semasa latihan, pengekod meramalkan min dan varians setiap imej dan sampel nilai ini daripada taburan Gaussian. Hasil pensampelan dihantar ke penyahkod, yang menukar imej input ke dalam bentuk yang serupa dengan imej output. KL divergence digunakan untuk mengira kerugian. Kelebihan ketara VAE ialah keupayaannya untuk menghasilkan imej yang pelbagai. Dalam peringkat persampelan, seseorang boleh membuat sampel terus daripada taburan Gaussian dan menjana imej baharu melalui penyahkod. GAN telah mencapai kemajuan besar dalam pengekod auto variasi (VAE) dalam masa satu tahun sahaja.

Sebagai rangka kerja pembelajaran mendalam yang berkuasa, PyTorch digunakan secara meluas dalam pelbagai projek pembelajaran mesin. Sebagai persekitaran pembangunan bersepadu Python yang berkuasa, PyCharm juga boleh memberikan sokongan yang baik apabila melaksanakan tugas pembelajaran mendalam. Artikel ini akan memperkenalkan secara terperinci cara memasang PyTorch dalam PyCharm dan menyediakan contoh kod khusus untuk membantu pembaca mula menggunakan PyTorch dengan cepat untuk tugasan pembelajaran mendalam. Langkah 1: Pasang PyCharm Mula-mula, kita perlu pastikan kita ada

Pembelajaran mendalam merupakan satu cabang penting dalam bidang kecerdasan buatan dan semakin mendapat perhatian dan perhatian sejak beberapa tahun kebelakangan ini. Untuk dapat menjalankan penyelidikan dan aplikasi pembelajaran mendalam, selalunya perlu menggunakan beberapa rangka kerja pembelajaran mendalam untuk membantu melaksanakannya. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP dan PyTorch untuk pembelajaran mendalam. 1. Apakah PyTorch? PyTorch ialah rangka kerja pembelajaran mesin sumber terbuka yang dibangunkan oleh Facebook Ia boleh membantu kami mencipta dan melatih model pembelajaran mendalam. PyTorc

Hello semua, saya Kite Dua tahun lalu, keperluan untuk menukar fail audio dan video kepada kandungan teks adalah sukar dicapai, tetapi kini ia boleh diselesaikan dengan mudah dalam beberapa minit sahaja. Dikatakan bahawa untuk mendapatkan data latihan, beberapa syarikat telah merangkak sepenuhnya video pada platform video pendek seperti Douyin dan Kuaishou, dan kemudian mengekstrak audio daripada video dan menukarnya ke dalam bentuk teks untuk digunakan sebagai korpus latihan untuk data besar. model. Jika anda perlu menukar fail video atau audio kepada teks, anda boleh mencuba penyelesaian sumber terbuka yang tersedia hari ini. Sebagai contoh, anda boleh mencari titik masa tertentu apabila dialog dalam filem dan rancangan televisyen muncul. Tanpa berlengah lagi, mari kita ke intinya. Whisper ialah Whisper sumber terbuka OpenAI Sudah tentu ia ditulis dalam Python Ia hanya memerlukan beberapa pakej pemasangan yang mudah.

Langkah pemasangan: 1. Buka PyCharm dan buat projek Python baharu 2. Di bar status bawah PyCharm, klik ikon "Terminal" untuk membuka tetingkap terminal 3. Dalam tetingkap terminal, gunakan arahan pip untuk memasang PyTorch , mengikut sistem dan keperluan, anda boleh memilih kaedah pemasangan yang berbeza 4. Selepas pemasangan selesai, anda boleh menulis kod dalam PyCharm dan mengimport perpustakaan PyTorch untuk menggunakannya.
