ich komme eigentlich von Java und von dort bin ich eine erstklassige Dokumentation gewohnt, sodass eigentlich nie Fragen zu Rückgabetypen aufgekommen sind. Nun ist das für mich in Python manchmal noch etwas schwierig. Ich habe folgendes Problem: Ich implementiere mithilfe von Pytorch eine Anwendung. Die Daten für ein künstliches neuronales Netz sollen über die Klasse DataLoader geladen werden. Wie komme ich jetzt an die Daten bzw. wo ist das dokumentiert oder welche Möglichkeiten habe ich, herauszufinden, wie ich da rankomme? Aus den Tutroials ist mir noch nicht genau ersichtlich, wie das passiert (Die Ermittlung des Rückgabetyps allgemein). Es gibt zwar funktionierende Beispiele, aber es muss doch andere Wege geben, als über Tutorials an den Typ der Rückgabe zu kommen. Es gibt schließlich nicht für jede Klasse ein Tutorial.
Was habe ich bisher versucht:
Zunächst habe ich den Code der Klasse DataLoader angesehen. Die Objekte dieser Klasse implementieren die __iter()__ Methode und geben darin ein Objekt vom Typ _DataLoaderIter() zurück, also kann ich über das Teil schonmal iterieren. Hervorragend. Dieses Objekt implementiert die __next()__ Methode und gibt in jedem Iterationsschritt ein Objekt "batch" zurück (wie sieht das aus? Wie viele Dimensionen hat das? Welcher Datentyp ist das). Dieses wird widerum in der Methode self.collate_fn() erzeugt und später nochmal modifiziert. Diese self.collate_fn() Methode ist widerum ene Referenz auf die collate_fn() Methode des Loaders (DataLoader()), der _DataLoaderIter() übergeben wird. Diese Methode wird wiederum bei der Instanziierung von DataLoader als parameter mitgegeben, bzw. dort standardmäßig als default_collate definiert. Dieser ist widerum definiert als _utils.collate.default_collate. Also in einem anderen Package. Jetz mal im ernst... wie viele Klassen und Packages muss ich durchwülen, bis ich auf meine Information stoße. Das kann doch nicht the way to go sein.
Ich freue mich auf eure Antworten
