GMAC steht für „Giga Multiply-Add Operations per Second“ und ist ein Indikator zur Messung der Recheneffizienz von Deep-Learning-Modellen. Diese Metrik stellt die Rechengeschwindigkeit des Modells in Form von einer Milliarde Multiplikations- und Additionsoperationen pro Sekunde dar.
Die Multiply-Accumulate (MAC)-Operation ist eine grundlegende Operation in vielen mathematischen Berechnungen, einschließlich Matrixmultiplikation, Faltung und anderen Tensoren, die üblicherweise in der Tiefe verwendet werden Lernbetrieb. Bei jeder MAC-Operation werden zwei Zahlen multipliziert und das Ergebnis einem Akkumulator hinzugefügt.
Die GMAC-Metrik kann mit der folgenden Formel berechnet werden:
<code>GMAC =(乘法累加运算次数)/(10⁹)</code>
Die Anzahl der Multiplikations-Add-Operationen wird normalerweise durch Analyse der Netzwerkarchitektur und der Dimensionen der Modellparameter bestimmt , wie Gewichte und Verzerrungen.
Mit der GMAC-Metrik können Forscher und Praktiker fundierte Entscheidungen über Modellauswahl, Hardwareanforderungen und Optimierungsstrategien für effiziente und effektive Deep-Learning-Berechnungen treffen.
GFLOPS ist ein Maß für die Rechenleistung eines Computersystems oder einer bestimmten Operation und repräsentiert eine Milliarde Floats pro Zweitens. Punktoperationen. Dabei handelt es sich um die Anzahl der Gleitkommaoperationen pro Sekunde, ausgedrückt in Milliarden (Giga).
Gleitkommaarithmetik bezieht sich auf die Durchführung arithmetischer Berechnungen für reelle Zahlen, die im Gleitkommaformat IEEE 754 dargestellt werden. Zu diesen Operationen gehören typischerweise Addition, Subtraktion, Multiplikation, Division und andere mathematische Operationen.
GFLOPS wird häufig im Hochleistungsrechnen (HPC) und Benchmarking verwendet, insbesondere in Bereichen, die schwere Rechenaufgaben erfordern, wie wissenschaftliche Simulationen, Datenanalyse und Deep Learning.
Die Formel zur Berechnung von GFLOPS lautet wie folgt:
<code>GFLOPS =(浮点运算次数)/(以秒为单位的运行时间)/ (10⁹)</code>
GFLOPS ist ein effektives Maß für die Rechenleistung verschiedener Computersysteme, Prozessoren oder bestimmter Vorgänge. Es hilft bei der Bewertung der Geschwindigkeit und Effizienz von Hardware oder Algorithmen, die Gleitkommaberechnungen durchführen. GFLOPS ist ein Maß für die theoretische Spitzenleistung und spiegelt möglicherweise nicht die tatsächlich in realen Szenarien erzielte Leistung wider, da Faktoren wie Speicherzugriff, Parallelisierung und andere Systembeschränkungen nicht berücksichtigt werden.
Die Beziehung zwischen GMAC und GFLOPS
<code>1 GFLOP = 2 GMAC</code>
Wenn wir diese beiden Indikatoren berechnen möchten, ist es schwieriger, den Code manuell zu schreiben, aber Python hat bereits einen fertigen Code Bibliotheken für uns Verwenden Sie:
ptflops-Bibliothek zur Berechnung von GMAC und GFLOPs
<code>pip install ptflops</code>
Es ist auch sehr einfach zu verwenden:
<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>
Die Ergebnisse sind wie folgt folgt:
<code>Computational complexity: 7.82 GMac Computational complexity: 15.64 GFlops Number of parameters: 28.68 M</code># 🎜🎜#Wir können ein Modell anpassen, um zu sehen, ob das Ergebnis korrekt ist:
<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>Das Ergebnis ist wie folgt:
<code>Computational complexity: 670.73 KMac Computational complexity: 1341.46 KFlops Number of parameters: 669.71 k</code>Für die Zur Vereinfachung der Demonstration schreiben wir den Code der vollständig verbundenen Schicht nur manuell und berechnen GMAC. Die Iteration über die Gewichtungsparameter des Modells und die Berechnung der Form der Anzahl der Multiplikations- und Additionsoperationen hängt von den Gewichtungsparametern ab, die der Schlüssel zur Berechnung des GMAC sind. Die Formel zur Berechnung des von GMAC geforderten vollständig verbundenen Schichtgewichts lautet 2 x (Eingabedimension x Ausgabedimension). Der Gesamt-GMAC-Wert wird durch Multiplikation und Akkumulation der Formen der Gewichtsparameter jeder linearen Schicht ermittelt, ein Prozess, der auf der Struktur des Modells basiert.
<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>Nach dem oben angegebenen Modell ist das Ergebnis der Berechnung des GMAC wie folgt:
<code>0.66972288</code>Da das Ergebnis des GMAC in Milliarden angegeben ist, ist es dasselbe wie das, was wir haben Berechnet mit der oben genannten Klassenbibliothek. Die Ergebnisse unterscheiden sich nicht wesentlich. Schließlich ist die Berechnung des GMAC der Faltung etwas kompliziert. Die Formel lautet ((Eingabekanal x Höhe des Faltungskerns) x Ausgabekanal) x 2. Hier ist ein einfacher Code, der möglicherweise nicht ganz korrekt ist. 🎜🎜#
<code>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 elif len(shape) == 4:# 卷积层的权重 gmac_count += shape[0] * shape[1] * shape[2] * shape[3] * 2 gmac_count = gmac_count / 1e9# 转换为十亿为单位 return gmac_count</code>
Das obige ist der detaillierte Inhalt vonEine kurze Analyse der Berechnung von GMAC und GFLOPS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Nutzen Sie die Kraft von AI On-Device: Bauen eines persönlichen Chatbot-Cli In der jüngeren Vergangenheit schien das Konzept eines persönlichen KI -Assistenten wie Science -Fiction zu sein. Stellen Sie sich Alex vor, ein Technik -Enthusiast, der von einem klugen, lokalen KI -Begleiter träumt - einer, der nicht angewiesen ist

Ihre Eröffnungseinführung von AI4MH fand am 15. April 2025 statt, und Luminary Dr. Tom Insel, M. D., berühmter Psychiater und Neurowissenschaftler, diente als Kick-off-Sprecher. Dr. Insel ist bekannt für seine herausragende Arbeit in der psychischen Gesundheitsforschung und für Techno

"Wir möchten sicherstellen, dass die WNBA ein Raum bleibt, in dem sich alle, Spieler, Fans und Unternehmenspartner sicher fühlen, geschätzt und gestärkt sind", erklärte Engelbert und befasste sich mit dem, was zu einer der schädlichsten Herausforderungen des Frauensports geworden ist. Die Anno

Einführung Python zeichnet sich als Programmiersprache aus, insbesondere in der Datenwissenschaft und der generativen KI. Eine effiziente Datenmanipulation (Speicherung, Verwaltung und Zugriff) ist bei der Behandlung großer Datensätze von entscheidender Bedeutung. Wir haben zuvor Zahlen und ST abgedeckt

Vor dem Eintauchen ist eine wichtige Einschränkung: KI-Leistung ist nicht deterministisch und sehr nutzungsgewohnt. In einfacherer Weise kann Ihre Kilometerleistung variieren. Nehmen Sie diesen (oder einen anderen) Artikel nicht als endgültiges Wort - testen Sie diese Modelle in Ihrem eigenen Szenario

Erstellen eines herausragenden KI/ML -Portfolios: Ein Leitfaden für Anfänger und Profis Das Erstellen eines überzeugenden Portfolios ist entscheidend für die Sicherung von Rollen in der künstlichen Intelligenz (KI) und des maschinellen Lernens (ML). Dieser Leitfaden bietet Rat zum Erstellen eines Portfolios

Das Ergebnis? Burnout, Ineffizienz und eine Erweiterung zwischen Erkennung und Wirkung. Nichts davon sollte für jeden, der in Cybersicherheit arbeitet, einen Schock erfolgen. Das Versprechen der Agenten -KI hat sich jedoch als potenzieller Wendepunkt herausgestellt. Diese neue Klasse

Sofortige Auswirkungen gegen langfristige Partnerschaft? Vor zwei Wochen hat Openai ein leistungsstarkes kurzfristiges Angebot vorangetrieben und bis Ende Mai 2025 den kostenlosen Zugang zu Chatgpt und Ende Mai 2025 gewährt. Dieses Tool enthält GPT-4O, A A A.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor