


Wenn Sie künstliche Intelligenz erlernen möchten, müssen Sie diesen Datensatz beherrschen. Einführung und praktische Anwendung von MNIST
Das Erlernen künstlicher Intelligenz erfordert zwangsläufig einige Datensätze. Künstliche Intelligenz zum Erkennen von Pornografie erfordert beispielsweise einige ähnliche Bilder. Künstliche Intelligenz für Spracherkennung und Korpus ist unverzichtbar. Studierende, die neu im Bereich der künstlichen Intelligenz sind, machen sich oft Sorgen um Datensätze. Heute stellen wir einen sehr einfachen, aber sehr nützlichen Datensatz vor, nämlich MNIST. Dieser Datensatz eignet sich sehr gut für das Erlernen und Üben von Algorithmen im Zusammenhang mit künstlicher Intelligenz.
Der MNIST-Datensatz ist ein sehr einfacher Datensatz, der vom National Institute of Standards and Technology (NIST) erstellt wurde. Worum geht es also in diesem Datensatz? Es handelt sich tatsächlich um einige handgeschriebene arabische Ziffern (zehn Zahlen von 0 bis 9).
NIST ist bei der Erstellung des Datensatzes immer noch sehr ernst. Der Trainingssatz im Datensatz besteht aus handgeschriebenen Ziffern von 250 verschiedenen Personen, von denen 50 % Oberstufenschüler und 50 % Mitarbeiter des Census Bureau sind. Der Testsatz besteht ebenfalls aus dem gleichen Anteil handgeschriebener Zifferndaten.
So laden Sie den MNIST-Datensatz herunter
Der MNIST-Datensatz kann von der offiziellen Website (http://yann.lecun.com/exdb/mnist/) heruntergeladen werden langsam. Es enthält vier Teile:
- Bilder des Trainingssatzes: train-images-idx3-ubyte.gz (9,9 MB, 47 MB nach der Dekomprimierung, enthält 60.000 Beispiele)
- Beschriftungen des Trainingssatzes: train-labels-idx1-ubyte. gz (29 KB, 60 KB nach der Dekomprimierung, enthält 60.000 Tags)
- Testsatzbild: t10k-images-idx3-ubyte.gz (1,6 MB, 7,8 MB nach der Dekomprimierung, enthält 10.000 Beispiele)
- Testsatz-Tags: t10k- labels-idx1-ubyte.gz (5 KB, 10 KB nach der Dekomprimierung, enthält 10.000 Etiketten)
Das Obige enthält zwei Arten von Inhalten, eines sind Bilder, das andere sind Etiketten, Bilder und Etiketten entsprechen einer nach der anderen. Aber das Bild hier ist nicht die Bilddatei, die wir normalerweise sehen, sondern eine Binärdatei. Dieser Datensatz speichert 60.000 Bilder in einem Binärformat. Die Beschriftung ist die reelle Zahl, die dem Bild entspricht.
Wie in der Abbildung unten gezeigt, lädt dieser Artikel den Datensatz lokal herunter und dekomprimiert das Ergebnis. Zum einfacheren Vergleich sind das ursprüngliche komprimierte Paket und die dekomprimierten Dateien enthalten.
Eine kurze Analyse des Formats des Datensatzes
Jeder hat festgestellt, dass das komprimierte Paket nach der Dekomprimierung kein Bild ist, sondern jedes komprimierte Paket einem unabhängigen Problem entspricht. In dieser Datei werden Informationen über Zehntausende Bilder oder Tags gespeichert. Wie werden diese Informationen in dieser Datei gespeichert?
Tatsächlich gibt es auf der offiziellen Website von MNIST eine detaillierte Beschreibung. Am Beispiel der Bilddatei des Trainingssatzes lautet die Beschreibung des Dateiformats auf der offiziellen Website wie folgt:
Wie aus dem Bild oben ersichtlich ist, sind die ersten vier 32-stelligen Zahlen die Beschreibungsinformationen des Trainingssatzes. Die erste ist die magische Zahl, die ein fester Wert von 0x0803 ist; die zweite ist die Anzahl der Bilder, 0xea60, also 60000; die dritte und vierte Zahl sind die Größe des Bildes, d. h. das Bild ist 28 *28 Pixel. Im Folgenden wird jedes Pixel in einem Byte beschrieben. Da in dieser Datei ein Byte zur Beschreibung eines Pixels verwendet wird, können Sie wissen, dass der Wert eines Pixels zwischen 0 und 255 liegen kann. Dabei bedeutet 0 Weiß und 255 Schwarz.
Das Format von Etikettendateien ähnelt dem von Bilddateien. Davor stehen zwei 32-stellige Zahlen, von denen die erste die magische Zahl ist, der feste Wert 0x0801 dient zur Beschreibung der Anzahl der Tags. Die nächsten Daten sind der Wert jedes Tags, dargestellt durch ein Byte. Der hier dargestellte Wertebereich ist
Die Daten, die der Etikettendatei des tatsächlichen Trainingssatzes entsprechen, lauten wie folgt. Es ist ersichtlich, dass es mit der Beschreibung des obigen Formats übereinstimmt. Darüber hinaus können wir sehen, dass entsprechend diesem Etikettensatz die in den vorherigen Bildern dargestellten Zahlen 5, 0, 4, 1 usw. sein sollten. Merken Sie es sich hier, es wird später verwendet.
Wir kennen das Dateiformat des Datensatzes, lassen Sie es uns in der Praxis umsetzen.
Visuelle Verarbeitung von Datensätzen
Nachdem wir das Speicherformat der oben genannten Daten kennen, können wir die Daten analysieren. Im folgenden Artikel wird beispielsweise ein kleines Programm implementiert, um ein Bild in der Bildersammlung zu analysieren und visuelle Ergebnisse zu erhalten. Natürlich können wir anhand des Wertes des Etikettensatzes tatsächlich wissen, um was für ein Bild es sich handelt. Dies ist nur ein Experiment. Das Endergebnis wird in einer Textdatei gespeichert, wobei das Zeichen „Y“ für die Handschrift und das Zeichen „0“ für die Hintergrundfarbe verwendet wird. Der spezifische Programmcode ist sehr einfach und wird in diesem Artikel nicht im Detail beschrieben.
# -*- coding: UTF-8 -*- def trans_to_txt(train_file, txt_file, index): with open(train_file, 'rb') as sf: with open(txt_file, "w") as wf: offset = 16 + (28*28*index) cur_pos = offset count = 28*28 strlen = 1 out_count = 1 while cur_pos < offset+count: sf.seek(cur_pos) data = sf.read(strlen) res = int(data[0]) #虽然在数据集中像素是1-255表示颜色,这里简化为Y if res > 0 : wf.write(" Y ") else: wf.write(" 0 ") #由于图片是28列,因此在此进行换行 if out_count % 28 == 0 : wf.write("n") cur_pos += strlen out_count += 1 trans_to_txt("../data/train-images.idx3-ubyte", "image.txt", 0)
Wenn wir den obigen Code ausführen, können wir eine Datei mit dem Namen image.txt erhalten. Sie können den Inhalt der Datei wie folgt sehen. Die roten Noten wurden später hinzugefügt, hauptsächlich zur besseren Sichtbarkeit. Wie Sie auf dem Bild sehen können, handelt es sich tatsächlich um eine handgeschriebene „5“.
Zuvor haben wir den Datensatz visuell über die native Python-Schnittstelle analysiert. Python verfügt über viele bereits implementierte Bibliotheksfunktionen, sodass wir die oben genannten Funktionen durch eine Bibliotheksfunktion vereinfachen können.
Parsen von Daten basierend auf Bibliotheken von Drittanbietern
Die Implementierung über die native Python-Schnittstelle ist etwas kompliziert. Wir wissen, dass Python über viele Bibliotheken von Drittanbietern verfügt, sodass wir Bibliotheken von Drittanbietern verwenden können, um den Datensatz zu analysieren und anzuzeigen. Der spezifische Code lautet wie folgt.
# -*- coding: utf-8 -*- import os import struct import numpy as np # 读取数据集,以二维数组的方式返回图片信息和标签信息 def load_mnist(path, kind='train'): # 从指定目录加载数据集 labels_path = os.path.join(path, '%s-labels.idx1-ubyte' % kind) images_path = os.path.join(path, '%s-images.idx3-ubyte' % kind) with open(labels_path, 'rb') as lbpath: magic, n = struct.unpack('>II', lbpath.read(8)) labels = np.fromfile(lbpath, dtype=np.uint8) with open(images_path, 'rb') as imgpath: #解析图片信息,存储在images中 magic, num, rows, cols = struct.unpack('>IIII', imgpath.read(16)) images = np.fromfile(imgpath, dtype=np.uint8).reshape(len(labels), 784) return images, labels # 在终端打印某个图片的数据信息 def print_image(data, index): idx = 0; count = 0; for item in data[index]: if count % 28 == 0: print("") if item > 0: print("33[7;31mY 33[0m", end="") else: print("0 ", end="") count += 1 def main(): cur_path = os.getcwd() cur_path = os.path.join(cur_path, "..data") imgs, labels = load_mnist(cur_path) print_image(imgs, 0) if __name__ == "__main__": main()
Der obige Code ist in zwei Schritte unterteilt. Der erste Schritt besteht darin, den Datensatz in ein Array zu analysieren, und der zweite Schritt besteht darin, ein bestimmtes Bild im Array anzuzeigen. Die Anzeige erfolgt hier ebenfalls über ein Textprogramm, allerdings wird diese nicht in einer Datei gespeichert, sondern auf dem Terminal ausgedruckt. Wenn wir beispielsweise noch das erste Bild drucken, ist der Effekt wie folgt:
Die Darstellung der obigen Ergebnisse simuliert das Bild nur durch Zeichen. Tatsächlich können wir Bibliotheken von Drittanbietern verwenden, um eine perfektere Bildpräsentation zu erreichen. Als nächstes stellen wir vor, wie man Bilder über die Matplotlib-Bibliothek präsentiert. Diese Bibliothek ist sehr nützlich und ich werde später mit ihr in Kontakt kommen.
Wir implementieren ein
def show_image(data, index): fig, ax = plt.subplots(nrows=1, ncols=1, sharex=True, sharey=True, ) img = data[0].reshape(28, 28) ax.imshow(img, cmap='Greys', interpolation='nearest') ax.set_xticks([]) ax.set_yticks([]) plt.tight_layout() plt.show()
Sie können derzeit sehen, dass
bei der Implementierung der oben genannten Funktionen möglicherweise einige Bibliotheken von Drittanbietern wie Matplotlib usw. fehlen. Zu diesem Zeitpunkt müssen wir es manuell installieren:
pip install matplotlib -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
Datenanalyse basierend auf TensorFlow
MNIST ist so berühmt, dass TensorFlow es bereits unterstützt. Daher können wir es über TensorFlow laden und analysieren. Nachfolgend geben wir den mit TensorFlow implementierten Code an.
# -*- coding: utf-8 -*- from tensorflow.examples.tutorials.mnist import input_data import pylab def show_mnist(): # 通过TensorFlow库解析数据 mnist = input_data.read_data_sets("../data", one_hot=True) im = mnist.train.images[0] im = im.reshape(28 ,28) # 进行绘图 pylab.imshow(im, cmap='Greys', interpolation='nearest') pylab.show() if __name__ == "__main__": show_mnist()
Der durch diesen Code erzielte Endeffekt stimmt mit dem vorherigen Beispiel überein, daher werde ich hier nicht auf Details eingehen.
Das obige ist der detaillierte Inhalt vonWenn Sie künstliche Intelligenz erlernen möchten, müssen Sie diesen Datensatz beherrschen. Einführung und praktische Anwendung von MNIST. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

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

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Diese Seite berichtete am 27. Juni, dass Jianying eine von FaceMeng Technology, einer Tochtergesellschaft von ByteDance, entwickelte Videobearbeitungssoftware ist, die auf der Douyin-Plattform basiert und grundsätzlich kurze Videoinhalte für Benutzer der Plattform produziert Windows, MacOS und andere Betriebssysteme. Jianying kündigte offiziell die Aktualisierung seines Mitgliedschaftssystems an und führte ein neues SVIP ein, das eine Vielzahl von KI-Schwarztechnologien umfasst, wie z. B. intelligente Übersetzung, intelligente Hervorhebung, intelligente Verpackung, digitale menschliche Synthese usw. Preislich beträgt die monatliche Gebühr für das Clipping von SVIP 79 Yuan, die Jahresgebühr 599 Yuan (Hinweis auf dieser Website: entspricht 49,9 Yuan pro Monat), das fortlaufende Monatsabonnement beträgt 59 Yuan pro Monat und das fortlaufende Jahresabonnement beträgt 499 Yuan pro Jahr (entspricht 41,6 Yuan pro Monat). Darüber hinaus erklärte der Cut-Beamte auch, dass diejenigen, die den ursprünglichen VIP abonniert haben, das Benutzererlebnis verbessern sollen

Verbessern Sie die Produktivität, Effizienz und Genauigkeit der Entwickler, indem Sie eine abrufgestützte Generierung und ein semantisches Gedächtnis in KI-Codierungsassistenten integrieren. Übersetzt aus EnhancingAICodingAssistantswithContextUsingRAGandSEM-RAG, Autor JanakiramMSV. Obwohl grundlegende KI-Programmierassistenten natürlich hilfreich sind, können sie oft nicht die relevantesten und korrektesten Codevorschläge liefern, da sie auf einem allgemeinen Verständnis der Softwaresprache und den gängigsten Mustern beim Schreiben von Software basieren. Der von diesen Coding-Assistenten generierte Code eignet sich zur Lösung der von ihnen zu lösenden Probleme, entspricht jedoch häufig nicht den Coding-Standards, -Konventionen und -Stilen der einzelnen Teams. Dabei entstehen häufig Vorschläge, die geändert oder verfeinert werden müssen, damit der Code in die Anwendung übernommen wird

Um mehr über AIGC zu erfahren, besuchen Sie bitte: 51CTOAI.x Community https://www.51cto.com/aigc/Translator|Jingyan Reviewer|Chonglou unterscheidet sich von der traditionellen Fragendatenbank, die überall im Internet zu sehen ist erfordert einen Blick über den Tellerrand hinaus. Large Language Models (LLMs) gewinnen in den Bereichen Datenwissenschaft, generative künstliche Intelligenz (GenAI) und künstliche Intelligenz zunehmend an Bedeutung. Diese komplexen Algorithmen verbessern die menschlichen Fähigkeiten, treiben Effizienz und Innovation in vielen Branchen voran und werden zum Schlüssel für Unternehmen, um wettbewerbsfähig zu bleiben. LLM hat ein breites Anwendungsspektrum und kann in Bereichen wie der Verarbeitung natürlicher Sprache, der Textgenerierung, der Spracherkennung und Empfehlungssystemen eingesetzt werden. Durch das Lernen aus großen Datenmengen ist LLM in der Lage, Text zu generieren

Large Language Models (LLMs) werden auf riesigen Textdatenbanken trainiert und erwerben dort große Mengen an realem Wissen. Dieses Wissen wird in ihre Parameter eingebettet und kann dann bei Bedarf genutzt werden. Das Wissen über diese Modelle wird am Ende der Ausbildung „verdinglicht“. Am Ende des Vortrainings hört das Modell tatsächlich auf zu lernen. Richten Sie das Modell aus oder verfeinern Sie es, um zu erfahren, wie Sie dieses Wissen nutzen und natürlicher auf Benutzerfragen reagieren können. Aber manchmal reicht Modellwissen nicht aus, und obwohl das Modell über RAG auf externe Inhalte zugreifen kann, wird es als vorteilhaft angesehen, das Modell durch Feinabstimmung an neue Domänen anzupassen. Diese Feinabstimmung erfolgt mithilfe von Eingaben menschlicher Annotatoren oder anderer LLM-Kreationen, wobei das Modell auf zusätzliches Wissen aus der realen Welt trifft und dieses integriert

Herausgeber | Der Frage-Antwort-Datensatz (QA) von ScienceAI spielt eine entscheidende Rolle bei der Förderung der Forschung zur Verarbeitung natürlicher Sprache (NLP). Hochwertige QS-Datensätze können nicht nur zur Feinabstimmung von Modellen verwendet werden, sondern auch effektiv die Fähigkeiten großer Sprachmodelle (LLMs) bewerten, insbesondere die Fähigkeit, wissenschaftliche Erkenntnisse zu verstehen und zu begründen. Obwohl es derzeit viele wissenschaftliche QS-Datensätze aus den Bereichen Medizin, Chemie, Biologie und anderen Bereichen gibt, weisen diese Datensätze immer noch einige Mängel auf. Erstens ist das Datenformular relativ einfach, die meisten davon sind Multiple-Choice-Fragen. Sie sind leicht auszuwerten, schränken jedoch den Antwortauswahlbereich des Modells ein und können die Fähigkeit des Modells zur Beantwortung wissenschaftlicher Fragen nicht vollständig testen. Im Gegensatz dazu offene Fragen und Antworten

Maschinelles Lernen ist ein wichtiger Zweig der künstlichen Intelligenz, der Computern die Möglichkeit gibt, aus Daten zu lernen und ihre Fähigkeiten zu verbessern, ohne explizit programmiert zu werden. Maschinelles Lernen hat ein breites Anwendungsspektrum in verschiedenen Bereichen, von der Bilderkennung und der Verarbeitung natürlicher Sprache bis hin zu Empfehlungssystemen und Betrugserkennung, und es verändert unsere Lebensweise. Im Bereich des maschinellen Lernens gibt es viele verschiedene Methoden und Theorien, von denen die fünf einflussreichsten Methoden als „Fünf Schulen des maschinellen Lernens“ bezeichnet werden. Die fünf Hauptschulen sind die symbolische Schule, die konnektionistische Schule, die evolutionäre Schule, die Bayes'sche Schule und die Analogieschule. 1. Der Symbolismus, auch Symbolismus genannt, betont die Verwendung von Symbolen zum logischen Denken und zum Ausdruck von Wissen. Diese Denkrichtung glaubt, dass Lernen ein Prozess der umgekehrten Schlussfolgerung durch das Vorhandene ist

Herausgeber |. KX Im Bereich der Arzneimittelforschung und -entwicklung ist die genaue und effektive Vorhersage der Bindungsaffinität von Proteinen und Liganden für das Arzneimittelscreening und die Arzneimitteloptimierung von entscheidender Bedeutung. Aktuelle Studien berücksichtigen jedoch nicht die wichtige Rolle molekularer Oberflächeninformationen bei Protein-Ligand-Wechselwirkungen. Auf dieser Grundlage schlugen Forscher der Universität Xiamen ein neuartiges Framework zur multimodalen Merkmalsextraktion (MFE) vor, das erstmals Informationen über Proteinoberfläche, 3D-Struktur und -Sequenz kombiniert und einen Kreuzaufmerksamkeitsmechanismus verwendet, um verschiedene Modalitäten zu vergleichen Ausrichtung. Experimentelle Ergebnisse zeigen, dass diese Methode bei der Vorhersage von Protein-Ligand-Bindungsaffinitäten Spitzenleistungen erbringt. Darüber hinaus belegen Ablationsstudien die Wirksamkeit und Notwendigkeit der Proteinoberflächeninformation und der multimodalen Merkmalsausrichtung innerhalb dieses Rahmens. Verwandte Forschungen beginnen mit „S

Laut Nachrichten dieser Website vom 5. Juli veröffentlichte GlobalFoundries am 1. Juli dieses Jahres eine Pressemitteilung, in der die Übernahme der Power-Galliumnitrid (GaN)-Technologie und des Portfolios an geistigem Eigentum von Tagore Technology angekündigt wurde, in der Hoffnung, seinen Marktanteil in den Bereichen Automobile und Internet auszubauen Anwendungsbereiche für Rechenzentren mit künstlicher Intelligenz, um höhere Effizienz und bessere Leistung zu erforschen. Da sich Technologien wie generative künstliche Intelligenz (GenerativeAI) in der digitalen Welt weiterentwickeln, ist Galliumnitrid (GaN) zu einer Schlüssellösung für nachhaltiges und effizientes Energiemanagement, insbesondere in Rechenzentren, geworden. Auf dieser Website wurde die offizielle Ankündigung zitiert, dass sich das Ingenieurteam von Tagore Technology im Rahmen dieser Übernahme mit GF zusammenschließen wird, um die Galliumnitrid-Technologie weiterzuentwickeln. G
