cari
RumahPeranti teknologiAIAnalisis ringkas pengiraan GMAC dan GFLOPS

Analisis ringkas pengiraan GMAC dan GFLOPS

May 26, 2023 am 08:59 AM
pembelajaran yang mendalam

GMAC bermaksud "Giga Multiply-Add Operations per Second" dan merupakan penunjuk yang digunakan untuk mengukur kecekapan pengiraan model pembelajaran mendalam. Metrik ini mewakili kelajuan pengiraan model dari segi satu bilion operasi pendaraban dan penambahan sesaat.

Analisis ringkas pengiraan GMAC dan GFLOPS

Operasi darab-akumulasi (MAC) ialah operasi asas dalam banyak pengiraan matematik, termasuk pendaraban matriks, lilitan dan operasi tensor lain yang biasa digunakan dalam pembelajaran mendalam. Setiap operasi MAC melibatkan pendaraban dua nombor dan menambah hasilnya kepada penumpuk.

Metrik GMAC boleh dikira menggunakan formula berikut:

<code>GMAC =(乘法累加运算次数)/(10⁹)</code>

Bilangan operasi tambah darab biasanya ditentukan dengan menganalisis seni bina rangkaian dan dimensi parameter model, seperti berat dan berat sebelah.

Dengan metrik GMAC, penyelidik dan pengamal boleh membuat keputusan termaklum tentang pemilihan model, keperluan perkakasan dan strategi pengoptimuman untuk pengiraan pembelajaran mendalam yang cekap dan berkesan.

Analisis ringkas pengiraan GMAC dan GFLOPS

GFLOPS ialah ukuran prestasi pengkomputeran sistem komputer atau operasi tertentu, mewakili satu bilion operasi titik terapung sesaat. Ia ialah bilangan operasi titik terapung sesaat, dinyatakan dalam berbilion (giga).

Aritmetik titik terapung merujuk kepada melakukan pengiraan aritmetik pada nombor nyata yang diwakili dalam format titik terapung IEEE 754. Operasi ini biasanya termasuk operasi tambah, tolak, darab, bahagi dan operasi matematik lain.

GFLOPS biasanya digunakan dalam pengkomputeran berprestasi tinggi (HPC) dan penanda aras, terutamanya dalam bidang yang memerlukan tugas pengiraan yang berat, seperti simulasi saintifik, analisis data dan pembelajaran mendalam.

Formula untuk mengira GFLOPS adalah seperti berikut:

<code>GFLOPS =(浮点运算次数)/(以秒为单位的运行时间)/ (10⁹)</code>

GFLOPS ialah ukuran berkesan kuasa pengkomputeran sistem komputer, pemproses atau operasi tertentu yang berbeza. Ia membantu menilai kelajuan dan kecekapan perkakasan atau algoritma yang melakukan pengiraan titik terapung. GFLOPS ialah ukuran prestasi puncak teori dan mungkin tidak mencerminkan prestasi sebenar yang dicapai dalam senario dunia sebenar kerana ia tidak mengambil kira faktor seperti akses memori, selari dan had sistem lain.

Hubungan antara GMAC dan GFLOPS

<code>1 GFLOP = 2 GMAC</code>

Jika kita ingin mengira kedua-dua penunjuk ini, ia akan menjadi lebih menyusahkan untuk menulis kod secara manual, tetapi Python sudah mempunyai perpustakaan sedia untuk kita untuk digunakan:

Pustaka ptflops boleh mengira GMAC dan GFLOP

<code>pip install ptflops</code>

Ia juga sangat mudah untuk digunakan:

<code>import torchvision.models as models import torch from ptflops import get_model_complexity_info import re  #Model thats already available net = models.densenet161() macs, params = get_model_complexity_info(net, (3, 224, 224), as_strings=True, print_per_layer_stat=True, verbose=True) # Extract the numerical value flops = eval(re.findall(r'([\d.]+)', macs)[0])*2 # Extract the unit flops_unit = re.findall(r'([A-Za-z]+)', macs)[0][0]  print('Computational complexity: {:</code>

Hasilnya adalah seperti berikut:

<code>Computational complexity: 7.82 GMac Computational complexity: 15.64 GFlops Number of parameters: 28.68 M</code>

Kami boleh menyesuaikan model untuk melihat Adakah hasilnya betul:

<code>import os import torch from torch import nn  class NeuralNetwork(nn.Module): def __init__(self): super().__init__() self.flatten = nn.Flatten() self.linear_relu_stack = nn.Sequential( nn.Linear(28*28, 512), nn.ReLU(), nn.Linear(512, 512), nn.ReLU(), nn.Linear(512, 10),)  def forward(self, x): x = self.flatten(x) logits = self.linear_relu_stack(x) return logits  custom_net = NeuralNetwork()  macs, params = get_model_complexity_info(custom_net, (28, 28), as_strings=True, print_per_layer_stat=True, verbose=True) # Extract the numerical value flops = eval(re.findall(r'([\d.]+)', macs)[0])*2  # Extract the unit flops_unit = re.findall(r'([A-Za-z]+)', macs)[0][0] print('Computational complexity: {:</code>

Hasilnya adalah seperti berikut:

<code>Computational complexity: 670.73 KMac Computational complexity: 1341.46 KFlops Number of parameters: 669.71 k</code>

Untuk kemudahan demonstrasi, kami hanya menulis kod lapisan yang disambungkan sepenuhnya untuk mengira GMAC secara manual. Mengulangi parameter berat model dan mengira bentuk bilangan operasi pendaraban dan penambahan bergantung pada parameter berat, yang merupakan kunci untuk mengira GMAC. Formula untuk mengira berat lapisan bersambung sepenuhnya yang diperlukan oleh GMAC ialah 2 x (dimensi input x dimensi output). Jumlah nilai GMAC diperoleh dengan mendarab dan mengumpul bentuk parameter berat setiap lapisan linear, satu proses berdasarkan struktur model.

<code>import torch import torch.nn as nn  def compute_gmac(model): gmac_count = 0 for param in model.parameters(): shape = param.shape if len(shape) == 2:# 全连接层的权重 gmac_count += shape[0] * shape[1] * 2 gmac_count = gmac_count / 1e9# 转换为十亿为单位 return gmac_count</code>

Mengikut model yang diberikan di atas, hasil pengiraan GMAC adalah seperti berikut:

<code>0.66972288</code>

Memandangkan keputusan GMAC adalah dalam berbilion-bilion, ia tidak jauh berbeza dengan hasil yang kami kira menggunakan perpustakaan kelas di atas. Akhir sekali, mengira GMAC lilitan adalah sedikit rumit Rumusnya ialah ((saluran input x tinggi kernel lilitan x lebar kernel lilitan) x saluran keluaran) x 2. Berikut ialah kod mudah, yang mungkin tidak betul sepenuhnya 🎜>rreeee

Atas ialah kandungan terperinci Analisis ringkas pengiraan GMAC dan GFLOPS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:51CTO.COM. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Cara Membina Pembantu AI Peribadi Anda Dengan Huggingface SmollmCara Membina Pembantu AI Peribadi Anda Dengan Huggingface SmollmApr 18, 2025 am 11:52 AM

Memanfaatkan kuasa AI di peranti: Membina CLI Chatbot Peribadi Pada masa lalu, konsep pembantu AI peribadi kelihatan seperti fiksyen sains. Bayangkan Alex, seorang peminat teknologi, bermimpi seorang sahabat AI yang pintar, yang tidak bergantung

AI untuk Kesihatan Mental dianalisis dengan penuh perhatian melalui inisiatif baru yang menarik di Stanford UniversityAI untuk Kesihatan Mental dianalisis dengan penuh perhatian melalui inisiatif baru yang menarik di Stanford UniversityApr 18, 2025 am 11:49 AM

Pelancaran AI4MH mereka berlaku pada 15 April, 2025, dan Luminary Dr. Tom Insel, M.D., pakar psikiatri yang terkenal dan pakar neurosains, berkhidmat sebagai penceramah kick-off. Dr. Insel terkenal dengan kerja cemerlangnya dalam penyelidikan kesihatan mental dan techno

Kelas Draf WNBA 2025 memasuki liga yang semakin meningkat dan melawan gangguan dalam talianKelas Draf WNBA 2025 memasuki liga yang semakin meningkat dan melawan gangguan dalam talianApr 18, 2025 am 11:44 AM

"Kami mahu memastikan bahawa WNBA kekal sebagai ruang di mana semua orang, pemain, peminat dan rakan kongsi korporat, berasa selamat, dihargai dan diberi kuasa," kata Engelbert, menangani apa yang telah menjadi salah satu cabaran sukan wanita yang paling merosakkan. Anno

Panduan Komprehensif untuk Struktur Data Terbina Python - Analytics VidhyaPanduan Komprehensif untuk Struktur Data Terbina Python - Analytics VidhyaApr 18, 2025 am 11:43 AM

Pengenalan Python cemerlang sebagai bahasa pengaturcaraan, terutamanya dalam sains data dan AI generatif. Manipulasi data yang cekap (penyimpanan, pengurusan, dan akses) adalah penting apabila berurusan dengan dataset yang besar. Kami pernah meliputi nombor dan st

Tayangan pertama dari model baru Openai berbanding dengan alternatifTayangan pertama dari model baru Openai berbanding dengan alternatifApr 18, 2025 am 11:41 AM

Sebelum menyelam, kaveat penting: Prestasi AI adalah spesifik yang tidak ditentukan dan sangat digunakan. Dalam istilah yang lebih mudah, perbatuan anda mungkin berbeza -beza. Jangan ambil artikel ini (atau lain -lain) sebagai perkataan akhir -sebaliknya, uji model ini pada senario anda sendiri

AI Portfolio | Bagaimana untuk membina portfolio untuk kerjaya AI?AI Portfolio | Bagaimana untuk membina portfolio untuk kerjaya AI?Apr 18, 2025 am 11:40 AM

Membina portfolio AI/ML yang menonjol: Panduan untuk Pemula dan Profesional Mewujudkan portfolio yang menarik adalah penting untuk mendapatkan peranan dalam kecerdasan buatan (AI) dan pembelajaran mesin (ML). Panduan ini memberi nasihat untuk membina portfolio

AI AI apa yang boleh dimaksudkan untuk operasi keselamatanAI AI apa yang boleh dimaksudkan untuk operasi keselamatanApr 18, 2025 am 11:36 AM

Hasilnya? Pembakaran, ketidakcekapan, dan jurang yang melebar antara pengesanan dan tindakan. Tak satu pun dari ini harus datang sebagai kejutan kepada sesiapa yang bekerja dalam keselamatan siber. Janji Agentic AI telah muncul sebagai titik perubahan yang berpotensi. Kelas baru ini

Google Versus Openai: AI berjuang untuk pelajarGoogle Versus Openai: AI berjuang untuk pelajarApr 18, 2025 am 11:31 AM

Impak segera berbanding perkongsian jangka panjang? Dua minggu yang lalu Openai melangkah ke hadapan dengan tawaran jangka pendek yang kuat, memberikan akses kepada pelajar A.S. dan Kanada.

See all articles

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)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma