WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

*.mat Files schneller laden

 

JN78
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 69
Anmeldedatum: 18.05.09
Wohnort: Stuhr
Version: R2010b, R2011a
     Beitrag Verfasst am: 14.09.2010, 10:53     Titel: *.mat Files schneller laden
  Antworten mit Zitat      
Moin,

ich hab hier eine Menge *.mat Files mehreren Millionen Werten.
Die Files sind so zwischen 350mb und 550mb groß. Wenn ich mir eines davon mittels load lade, dann dauert das ewig bis das File vollständig geladen ist.
Ewig heißt hier 15 bis 30 Minuten Sad Man kann in aller Seelenruhe dabei zusehen wie sich der Arbeitsspeicher langsam in 100mb Schritte vollschreibt bis bei 3,9 GB der Speicher endlich voll und das File geladen ist.

Gibts irgendeine Möglichkeit/Trick das zu beschleunigen?

Gruß Jan
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 14.09.2010, 12:24     Titel:
  Antworten mit Zitat      
Bevor ich mir überlege wie es software-mässig zu beschleunigen ist, würde ich gerne die Hardware ansprechen. Ich hoffe, dass ist eine 64 Bit Maschine und ein 64 Bit MATLAB? Sonst wäre das Beschleunigen witzlos, da man die Daten vielleicht einlesen könnte, aber nicht damit rechnen könnte.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
JN78
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 69
Anmeldedatum: 18.05.09
Wohnort: Stuhr
Version: R2010b, R2011a
     Beitrag Verfasst am: 14.09.2010, 12:43     Titel:
  Antworten mit Zitat      
Ups wie unaufmerksam von mir.

- Win XP 64bit
- Matlab R2010a - 32bit installiert, da sonst einige Toolboxen nicht laufen.
- Hardware: Core2Duo T9500@2,6 GHz; 4GB Ram

Also falls es an der 32bit installation des Matlab liegen sollte, dann beiß ich in den sauren Apfel und verzichte auf die Toolboxen und installiere das 64bit. Würde nur gerne sicher sein, das mich das nach vorne bringt.
Bevor wer fragt welche Simulink Toolboxen das sind, ich hab keine Ahnung, die nutzt mein Kollege. Eine 2te Lizenz ist schon beantragt ist aber erst für 2011 freigegeben, so dass wir derzeit beide an dem Rechner arbeiten müssen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 14.09.2010, 13:03     Titel:
  Antworten mit Zitat      
Ich habe mal folgendes probiert:

Code:

clear all
clc
n=8000;
% double
clear a
a=rand(n);
save a a
clear a
tic
load a
toc
whos
% single
clear a
a=single(rand(n));
save a a
clear a
tic
load a
toc
whos
 


Ergebnis: 5.5s für DOUBLE, 2.5s auf meinem 3,5 Jahre altem 32 Bit Laptop.

Also eine Idee ist zu prüfen ob wirklich alle Daten in dieser Informationsdichte benötigit werden. Falls die Daten von extern kommen kann man ja ein Umwandlungsskrikpt schreiben ud nachts laufen lassen.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
JN78
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 69
Anmeldedatum: 18.05.09
Wohnort: Stuhr
Version: R2010b, R2011a
     Beitrag Verfasst am: 14.09.2010, 14:50     Titel:
  Antworten mit Zitat      
Danke, das hat es gebracht. Die Dateien sind nun viel kleiner und das laden geht um einiges schneller. Hatte ich gar nicht dran gedacht, danke für den Tipp.

Gruß Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 14.09.2010, 22:13     Titel:
  Antworten mit Zitat      
Hallo Jan,

ich speicher meine Mat-Files auch unter Matlab 7 im alten Matlab 6 Format ab. Dann werden die Daten im Allgemeinen weniger stark komprimiert, was aber von verschiedenen Faktoren abhängt - z.B. wird gar nicht komprimiert, wenn mehr als zwei SINGLE Arrays im File stehen (mit einem klappt's aber noch...).

Ohne (oder mit weniger) Kompression sind die Files natürlich größer, aber Festplattenplatz kostet heute nicht mehr viel. Als Vorteil werden die Matlab6-MAT-Files aber deutlich schneller gelesen.

Gruß, Jan S.
Private Nachricht senden Benutzer-Profile anzeigen
 
JN78
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 69
Anmeldedatum: 18.05.09
Wohnort: Stuhr
Version: R2010b, R2011a
     Beitrag Verfasst am: 14.09.2010, 22:52     Titel:
  Antworten mit Zitat      
Hallo Jan,

danke für den Hinweis mit den Matlab 6 *.mat Files. Auf den Speicherplatz kommt es bei mir nicht mehr drauf an, die Rohdaten haben schon einige TB da werden die .mat Files sicher nicht mehr ins Gewicht fallen, einzig alleine die Zeit fürs Laden und Schreiben bremst. Da die Typumwandlung auf Single schon einiges gebracht hat werde ich das jetzt einfach mal kombinieren, in der Hoffnung dann den kürzeren Ladezeiten noch näher zu kommen.

Soweit erstmal den besten Dank.

Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
JN78
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 69
Anmeldedatum: 18.05.09
Wohnort: Stuhr
Version: R2010b, R2011a
     Beitrag Verfasst am: 15.09.2010, 09:54     Titel:
  Antworten mit Zitat      
Moin,

so ich hab das dann mal ausprobiert mit folgendem Ergebnis.

laden als double: gute 8 Minuten
laden als single: 16 Sekunden
laden als single und -v6: 6 Sekunden

Die Dateien werden nun zwar deutlich größer, aber das ist kein Problem Smile
Danke für Eure Hilfe und Tipps.

JN
Private Nachricht senden Benutzer-Profile anzeigen
 
bligg

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2010, 11:05     Titel:
  Antworten mit Zitat      
Hallo,

ich bin jetzt ein paar Mal über die Warnung gestolpert, dass eine Matrix nicht gespeichert werden konnte, und ich den -v7.3-switch benutzen solle.
Mal kurz hinterherrecherchiert habe ich nun gelernt, dass erst mit dieser Version mat-Files größer als 2GB unterstützt werden.

Sind deine Datenfiles so stark fragmentiert, oder gibt es mit -v6 eine andere Möglichkeit, dieses Größenproblem noch zu umgehen?

Viele Grüße
 
JN78
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 69
Anmeldedatum: 18.05.09
Wohnort: Stuhr
Version: R2010b, R2011a
     Beitrag Verfasst am: 15.09.2010, 13:25     Titel:
  Antworten mit Zitat      
Hi,

also das Problem mit der Größe hab ich bis jetzt noch nicht gehabt.
Die *.mat Files in -v6 sind bei mir aber auch größer als 2GB im Schnitt liegen die so bei 2,25GB laut Explorer.

JN
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.