Jadual Kandungan
Penerbitan automatik
Sedikit prinsip
Operasi asas untuk terbitan automatik
1. Tensor
2. Pembinaan graf pengiraan
3. Pengiraan kecerunan dan rambatan belakang
4. Lumpuhkan penjejakan kecerunan
5 Kecerunan jelas
Satu kes lengkap: terbitan automatik regresi linear
Derivasi automatik dalam PyTorch menyediakan sokongan yang kuat untuk pembelajaran mendalam, menjadikan latihan model lebih mudah dan lebih cekap.
Rumah Peranti teknologi AI Fahami dengan mendalam fungsi teras Pytorch: terbitan automatik!

Fahami dengan mendalam fungsi teras Pytorch: terbitan automatik!

Jan 10, 2024 pm 07:06 PM
pytorch

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.

突破 Pytorch 核心点,自动求导 !!

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)
Salin selepas log masuk

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
Salin selepas log masuk

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()
Salin selepas log masuk

Pada ketika ini, kecerunan x boleh diperolehi dengan mengakses x.grad.

# 获取梯度print(x.grad)
Salin selepas log masuk

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
Salin selepas log masuk

5 Kecerunan jelas

Dalam gelung latihan, biasanya perlu mengosongkan kecerunan sebelum setiap rambatan belakang untuk mengelakkan pengumpulan kecerunan.

# 清零梯度x.grad.zero_()
Salin selepas log masuk

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)
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

iFlytek: Huawei Ascend 910B pada asasnya setanding dengan NVIDIA A100 dalam keupayaan, dan mereka bekerjasama untuk mencipta pangkalan baharu untuk kecerdasan buatan umum negara saya iFlytek: Huawei Ascend 910B pada asasnya setanding dengan NVIDIA A100 dalam keupayaan, dan mereka bekerjasama untuk mencipta pangkalan baharu untuk kecerdasan buatan umum negara saya Oct 22, 2023 pm 06:13 PM

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,

Gabungan sempurna PyCharm dan PyTorch: langkah pemasangan dan konfigurasi terperinci Gabungan sempurna PyCharm dan PyTorch: langkah pemasangan dan konfigurasi terperinci Feb 21, 2024 pm 12:00 PM

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

Pengenalan kepada lima kaedah pensampelan dalam tugas penjanaan bahasa semula jadi dan pelaksanaan kod Pytorch Pengenalan kepada lima kaedah pensampelan dalam tugas penjanaan bahasa semula jadi dan pelaksanaan kod Pytorch Feb 20, 2024 am 08:50 AM

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

Melaksanakan model resapan penyingkiran hingar menggunakan PyTorch Melaksanakan model resapan penyingkiran hingar menggunakan PyTorch Jan 14, 2024 pm 10:33 PM

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.

Tutorial memasang PyCharm dengan PyTorch Tutorial memasang PyCharm dengan PyTorch Feb 24, 2024 am 10:09 AM

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 dengan PHP dan PyTorch Pembelajaran Mendalam dengan PHP dan PyTorch Jun 19, 2023 pm 02:43 PM

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

sangat laju! Kenali pertuturan video menjadi teks dalam beberapa minit sahaja dengan kurang daripada 10 baris kod sangat laju! Kenali pertuturan video menjadi teks dalam beberapa minit sahaja dengan kurang daripada 10 baris kod Feb 27, 2024 pm 01:55 PM

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.

Bagaimana untuk memasang pytorch dalam pycharm Bagaimana untuk memasang pytorch dalam pycharm Dec 08, 2023 pm 03:05 PM

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.

See all articles