Lösung für ImportError: Der Name „OrderedDict“ kann nicht aus „Typing“ importiert werden.

Hinweis:  Ich habe kürzlich mit dem Torchaudio-Modul von Pytorch angefangen und die Grundlagen der Sprache gelernt. Die Version von Pytoch, die ich zuvor heruntergeladen habe, war 1.9.0. In der offiziellen Dokumentation von Pytoch habe ich von Torchaudio.utils import download_asset verwendet und das dort gefunden ist keine download_asset-Methode. Es sollte sein: Die Version von Torchaudio ist zu niedrig, daher wird die Version von Pytoch auf 1.13.0 aktualisiert. Eigentlich sollte dieses Problem nicht auftreten, wenn ich nur das Torchaudio-Modul verwende, aber nachdem ich das Torchvision-Modul verwendet habe, erhielt ich die Fehlermeldung in diesem Artikel. Tatsächlich sollte es durch Import Torchvision verursacht werden.

Eine kurze Analyse des Grundes liegt wahrscheinlich an der Versionsinkonsistenz. Die Python-Version meiner virtuellen Anaconda-Umgebung ist 3.7. In der Typisierungsdatei gibt es kein OrderedDict-Modul, aber das Torchvision-Modul der Python-Version 1.13.0 muss OrderedDict aus der Typisierung importieren . . Vielleicht hat eine höhere Python-Version dieses Problem nicht? ?

Sehen Sie sich die vollständigen Stapelinformationen des Fehlerberichts an. Diese Datei „D:\Programming-Language-Program\Anaconda3\lib\site-packages\torchvision\models\maxvit.py“ maxvit.py importiert OrderedDict aus der Eingabe, tut dies  jedoch nicht Das.
Fügen Sie hier eine Bildbeschreibung ein

Lösung :
Wir können typing_extensions installieren (dies gilt für Python3.8 und niedriger), was einer Patch-Datei für die Eingabe entspricht und einige Dinge hinzufügt, die nicht in der Eingabe enthalten sind. Der Installationscode lautet wie folgt:

pip install typing_extensions

Ändern Sie dann die oben erwähnte Datei maxvit.py und importieren Sie das OrderedDict- Modul nicht aus typing, sondern aus typing_extensions, um das Problem zu lösen.Fügen Sie hier eine Bildbeschreibung ein

Zusammenfassung:  Es gibt eine Versionskorrespondenz zwischen Python und Pytorch. Es kann leicht zu Versionsinkonsistenzen und Fehlerberichten kommen. Insbesondere wenn sich die Python-Version oder die Python-Version ändert, kann der Originalcode bestimmte Probleme aufweisen. Ich muss immer noch Anaconda verwenden, um eine virtuelle Umgebung zu öffnen. Ich bin einfach faul. Ich möchte hauptsächlich verschiedene zuvor installierte Bibliotheken verwenden und sie nicht erneut herunterladen.

Je suppose que tu aimes

Origine blog.csdn.net/qq_41879696/article/details/129631956
conseillé
Classement