Heim >Technologie-Peripheriegeräte >KI >Warum TensorFlow für Python einen langsamen Tod stirbt
Im Bereich der Technologie gab es schon immer einen „Konfessionskrieg“. Ganz gleich, ob es sich um eine Debatte über die Vor- und Nachteile verschiedener Betriebssysteme, Cloud-Anbieter oder Deep-Learning-Frameworks handelt: Es genügen ein paar Bier und die Fakten verschwinden und die Leute beginnen wie ein Heiliger Gral über die von ihnen unterstützte Technologie zu streiten. Krieg.
Die Diskussion über IDEs scheint kein Ende zu nehmen, einige Leute bevorzugen VisualStudio, einige bevorzugen IntelliJ und wieder andere bevorzugen einfache alte Editoren wie Vim. Es wird oft gesagt, dass der Texteditor, den Sie gerne verwenden, oft die Persönlichkeit des Benutzers widerspiegelt. Das mag etwas absurd klingen.
Nach dem Aufstieg der KI-Technologie scheint ein ähnlicher „Krieg“ zwischen den beiden Lagern der Deep-Learning-Frameworks PyTorch und TensorFlow ausgebrochen zu sein. Es gibt viele Unterstützer hinter beiden Lagern, und beide haben gute Gründe, warum ihr bevorzugter Rahmen der beste ist.
Dennoch zeigen die Daten eine offensichtliche Tatsache. TensorFlow ist derzeit das am weitesten verbreitete Deep-Learning-Framework. Es erhält jeden Monat fast doppelt so viele Fragen zu StackOverflow wie PyTorch.
Aber andererseits hat sich PyTorch in letzter Zeit sehr gut entwickelt und die Anzahl der Benutzer von TensorFlow ist nicht gewachsen. Vor diesem Artikel hatte PyTorch stetig an Bedeutung gewonnen.
Der Vollständigkeit halber zeigt das Bild unten auch Keras, das ungefähr zur gleichen Zeit wie TensorFlow veröffentlicht wurde. Offensichtlich hat Keras in den letzten Jahren eine unterdurchschnittliche Leistung erbracht, einfach weil Keras etwas einfach und zu langsam für die Bedürfnisse der meisten Deep-Learning-Praktiker ist.
Die Popularität von PyTorch wächst immer noch, während das Wachstum von TensorFlow ins Stocken geraten ist ist immer noch rückläufig. Es gibt also allen Grund zu der Annahme, dass sich dieser Abwärtstrend in den kommenden Jahren noch verstärken wird, insbesondere im Python-Bereich.
PyTorch ist ein eher pythonisches Framework
TensorFlow, entwickelt von Google, war eines der ersten Frameworks, das Ende 2015 auf der Deep-Learning-Party erschien. Allerdings ist die Verwendung der ersten Version, wie bei jeder Software, immer recht umständlich.
Aus diesem Grund hat Meta (Facebook) mit der Entwicklung von PyTorch begonnen, als Technologie, die ähnliche Funktionen wie TensorFlow hat, aber komfortabler zu bedienen ist.
Das TensorFlow-Entwicklungsteam hat dies schnell bemerkt und viele der beliebtesten Funktionen von PyTorch in das TensorFlow 2.0-Hauptversionsupdate übernommen.
Eine gute Faustregel ist, dass Benutzer in TensorFlow alles tun können, was PyTorch kann. Das Schreiben des Codes wird doppelt so viel Aufwand erfordern. Auch heute noch ist es nicht so intuitiv und fühlt sich sehr unpythonisch an.
Andererseits ist das PyTorch-Erlebnis für Benutzer, die gerne Python verwenden, sehr natürlich.
Viele Unternehmen und akademische Einrichtungen verfügen nicht über die leistungsstarke Rechenleistung, die zum Erstellen großer Modelle erforderlich ist. Beim maschinellen Lernen kommt es jedoch auf den Maßstab an; je größer das Modell, desto besser die Leistung.
Mit Hilfe von HuggingFace können Ingenieure große, trainierte und abgestimmte Modelle nehmen und sie mit nur wenigen Codezeilen in ihre Workflow-Pipelines integrieren. Allerdings funktionieren überraschend 85 % dieser Modelle nur mit PyTorch. Nur etwa 8 % der HuggingFace-Modelle sind einzigartig für TensorFlow. Der Rest kann zwischen den beiden Frames aufgeteilt werden.
Das heißt, wenn viele Benutzer heute planen, große Modelle zu verwenden, sollten sie sich besser von TensorFlow fernhalten, da sie sonst viele Rechenressourcen investieren müssen, um das Modell zu trainieren.
PyTorch ist besser für Studenten und Forschungszwecke geeignet.
PyTorch ist im akademischen Bereich beliebter. Das hat seinen Grund: Drei Viertel der Forschungsarbeiten nutzen PyTorch. Selbst unter den Forschern, die mit der Verwendung von TensorFlow begonnen haben – denken Sie daran, es kam im Deep Learning schon viel früher auf –, sind die meisten inzwischen auf die Verwendung von PyTorch umgestiegen.
Dieser überraschende Trend wird anhalten, auch wenn Google eine herausragende Rolle in der KI-Forschung spielt und hauptsächlich TensorFlow verwendet.
Logischer gesehen beeinflusst die Forschung den Unterricht und bestimmt, was die Schüler lernen werden. Ein Professor, der die meisten seiner Arbeiten mit PyTorch veröffentlicht, wird eher geneigt sein, es in Vorlesungen zu verwenden. Sie können nicht nur einfacher unterrichten und Fragen zu PyTorch beantworten, sondern haben möglicherweise auch einen stärkeren Glauben an den Erfolg von PyTorch.
Daher wissen College-Studenten möglicherweise viel mehr über PyTorch als über TensorFlow. Wenn man außerdem bedenkt, dass die College-Studenten von heute die Arbeiter von morgen sind, kann man sich die Richtung dieses Trends vorstellen ...
Am Ende nur, wenn Sie am Ökosystem teilnehmen. Nur wenn die Software Der Rahmen ist wichtig. Sowohl PyTorch als auch TensorFlow verfügen über ziemlich entwickelte Ökosysteme, darunter Repositories für Trainingsmodelle sowie HuggingFace, Datenverwaltungssysteme, Mechanismen zur Fehlervermeidung und mehr.
Erwähnenswert ist, dass das Ökosystem von TensorFlow bisher noch etwas weiter entwickelt ist als das von PyTorch. Bedenken Sie jedoch, dass PyTorch später auf den Markt kam und allein in den letzten Jahren ein beträchtliches Benutzerwachstum verzeichnete. Daher könnte das Ökosystem von PyTorch eines Tages das von TensorFlow übertreffen.
Obwohl TensorFlow-Code umständlich zu schreiben ist, ist er nach dem Schreiben viel einfacher bereitzustellen als PyTorch. Tools wie TensorFlow-Dienste und TensorFlow Lite können im Handumdrehen in der Cloud, auf Servern, Mobilgeräten und IoT-Geräten bereitgestellt werden.
Andererseits war PyTorch schon immer notorisch langsam, wenn es um die Bereitstellung von Release-Tools ging. Allerdings hat es in letzter Zeit die Lücke zu TensorFlow in beschleunigtem Tempo geschlossen.
Im Moment ist es schwer vorherzusagen, aber es ist sehr wahrscheinlich, dass PyTorch in den nächsten Jahren mit der Infrastrukturbereitstellung von TensorFlow mithalten oder diese sogar übertreffen wird.
TensorFlow-Code ist möglicherweise noch eine Weile verfügbar, da der Wechsel des Frameworks nach der Bereitstellung teuer ist. Es ist jedoch denkbar, dass neue Deep-Learning-Anwendungen zunehmend mit PyTorch geschrieben und bereitgestellt werden.
TensorFlow wird nicht verschwinden. Es ist einfach nicht mehr so heiß wie früher.
Der Hauptgrund ist, dass viele Menschen, die Python für maschinelles Lernen verwenden, sich PyTorch zuwenden.
Es ist zu beachten, dass Python nicht die einzige Sprache für maschinelles Lernen ist. Es handelt sich um die repräsentative Programmiersprache für maschinelles Lernen. Dies ist der einzige Grund, warum die TensorFlow-Entwickler ihre Unterstützung auf Python konzentriert haben.
Jetzt kann TensorFlow auch mit JavaScript, Java und C++ verwendet werden. Die Community hat auch damit begonnen, Unterstützung für andere Sprachen wie Julia, Rust, Scala und Haskell zu entwickeln.
PyTorch hingegen ist extrem Python-zentriert – deshalb fühlt es sich so pythonisch an. Obwohl es über eine C++-API verfügt, ist die Unterstützung für andere Sprachen nicht halb so gut wie die von TensorFlow.
Es ist denkbar, dass PyTorch TensorFlow in Python ersetzt. TensorFlow hingegen wird aufgrund seines hervorragenden Ökosystems, seiner Bereitstellungsmöglichkeiten und der Unterstützung anderer Sprachen weiterhin ein wichtiger Akteur im Deep-Learning-Bereich bleiben.
Wie sehr Ihnen Python gefällt, bestimmt, ob Sie TensorFlow oder PyTorch für Ihr nächstes Projekt wählen.
Originallink: https://thenextweb.com/news/why-tensorflow-for-python-is-dying-a-slow-death
Das obige ist der detaillierte Inhalt vonWarum TensorFlow für Python einen langsamen Tod stirbt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!