laden .mat und .m-Dateien mit loadmat in Python
Ich bin derzeit ein Neuronales Netz natürlich, und ich bin versucht zu laden .mat
- Datei von Python mit scipy.io.loadmat(filename)
, aber ich erhalte immer folgende Fehlermeldung:
ValueError: Unbekannt mat-Datei-Typ, version 101, 58
Die gleiche Meldung auftrat, wenn ich versuchte, laden ein .m-Datei, anstatt .mat
- Datei mit scipy.io.loadmat()
.
Ich weiß nicht, wie Sie dieses Problem beheben, also ich wäre wirklich dankbar, wenn jemand hier könnte mir helfen.
wow, ich danke Euch so sehr. Aber dann, wie könnte ich Sie laden/starten .m-Datei in Python dann?
InformationsquelleAutor user177196 | 2017-08-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
(Umstellung meiner Kommentare in eine Antwort)
Einen
.m
file ist ein matlab /octave-Skript. Sie nicht "laden", um ein Skript. Nicht einmal in matlab /octave. Sie können nur ausführen, und dies kann oder kann nicht dazu führen, die in einem bestimmten Arbeitsbereich, können Sie dann speichern Sie in einem.mat
Datei.Gibt es "matlab-Schnittstellen" für python, die Sie verwenden können, führen Sie eine
.m
- Datei in eine python-session, z.B. die offizielle MATLAB-Engine-API für Python, oder wenn Sie eine ältere matlab version, die Sie könnten versuchen, finden andere python matlab-online-Schnittstellen (eine einfache google-Suche gab mir pymatlab, mlab, mlabwrap etc). Wenn Sie Ihre .m-Datei octave-kompatibel (und Sie haben octave installiert ist), könnten Sie auch versuchen, die oct2py - Schnittstelle, die bekannt ist, um gut zu funktionieren. Sobald Sie eine dieser Schnittstellen installiert, können Sie entweder versuchen, führen Sie das script und übertragen Sie dann die workspace-Variablen in python, oder speichern Sie Sie in einem .mat-Datei über die Schnittstelle, und dann laden Sie es wieder auf python mitscipy.io.loadmat
normal.Als für die .mat-Datei geben Sie einen Fehler, ist der wahrscheinlichste Grund für dieses ist, dass es eine neuere version des .mat-Spezifikation, die python nicht erkennen, noch (welche matlab version benutzt du?). Laden Sie das .mat-Datei in matlab (oder octave), und speichern Sie es wieder mit der v7 option. Python sollte, dann öffnen Sie diese ohne Probleme.
EDIT: Hier ist ein Beispiel für die Ausführung eines octave-Skript über oct2py, speichern das resultierende Oktave Arbeitsbereich auf eine
.mat
- Datei, und laden Sie die.mat
Datei in python..m
- Datei? Und wie könnte ich sparen.m
Datei als.mat
Datei in Python?Ich fügte hinzu, ein Beispiel. hoffe, es hilft. Ich fühle mich verpflichtet, zu wiederholen, dass Sie nicht "laden" oder "speichern" ein
.m
- Datei. Ein.m
- Datei ist ein Skript, das Sie ausführen, nicht eine Datei, 'enthält' Daten.InformationsquelleAutor Tasos Papastylianou
Können Sie nicht laden
.m
Skript-Dateien. Dies sind MATLAB-eigenen Skript-Dateien und Sie enthalten MATLAB-code. Die Funktionscipy.io.loadmat
nicht analysieren kann dieser code.Auf der anderen Seite, kann die Funktion laden von Daten aus einer MATLAB -
.mat
- Datei. Dies ist die MATLAB-eigenen Daten-format, in dem Sie speichern von Variablen und Daten - aber nicht code.Referenz: https://docs.scipy.org/doc/scipy/reference/generated/scipy.io.loadmat.html.
InformationsquelleAutor Ole Thomsen Buus
Können Sie mit Hilfe von MATLAB-Engine-API zu laufen .m-Dateien und MATLAB-Funktionen. es können auch laden .mat-Dateien als gut, könnte aber ein bisschen langsam.
https://www.mathworks.com/help/matlab/matlab-engine-for-python.html
InformationsquelleAutor Yana Sosnovskaya