Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

raison d'être de num_files dans LidarMapDataset #24

Closed
MichelDaab opened this issue May 24, 2022 · 2 comments
Closed

raison d'être de num_files dans LidarMapDataset #24

MichelDaab opened this issue May 24, 2022 · 2 comments

Comments

@MichelDaab
Copy link
Collaborator

Dans datamodule.py il y a la classe lidardataset
https://github.com/IGNF/myria3d/blob/main/myria3d/data/datamodule.py#L229

Il y a dans l'init:
self.num_files = len(self.files)

et plus bas:
def len(self):
return self.num_files

self.num_files n'est jamais utilisé pour autre chose que pour cette fonction, pourquoi ne pas supprimer cet attribut interne pour ne garder que :
def len(self):
return len(self.files)
A moins que self.files ne change de taille en cours de route et qu'on veuille garder sa valeur d'origine (ce dont je doute, à mon avis self.files conserve toujorus les mêmes fichiers et si ces ficheirs devaient changer nous voudrions au contraire leur nombre actuel et non celui d'origine).

D'ailleurs, est-ce que len(lidardataset) est utilisé quelque part ? Je ne l'ai pas vu

@MichelDaab
Copy link
Collaborator Author

Je suis en train de parcourir pytorch (tuto, ce genre de chose), maintenant je sais que de définir "def len()" est une exigence de l'héritage de Dataset, donc cela répond à mon interrogation sur son existence.

Maintenant j'ai une autre petite remarque sur def getitem(), l'autre fonction qu'il faut définir. Voilà son code:
filepath = self.files[idx]
data = self.loading_function(filepath)
if self.transform:
data = self.transform(data)
if data is None:
return None
if self.target_transform:
data = self.target_transform(data)
return data

Il est possible de faire l'économie de :
if data is None:
return None
Puisque plus bas il y a un return data, qui retournera data quand il vaut "None", ce qui est bien le comportement voulu.
Cela, à moins que self.target_transform(None) != None, mais cela métonnerait.

@CharlesGaydon
Copy link
Collaborator

LidarMapDataset disparait dans #33

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants