noahzn / Lite-Mono

[CVPR2023] Lite-Mono: A Lightweight CNN and Transformer Architecture for Self-Supervised Monocular Depth Estimation
MIT License
540 stars 61 forks source link

Predictive Mask Forward Pass Error! #71

Closed DheerajMadda closed 1 year ago

DheerajMadda commented 1 year ago

In trainer.py: if self.opt.pose_model_type == "shared": . . . if self.opt.predictive_mask: outputs["predictive_mask"] = self.models['predictive_mask'] (features)

where, variable "features" is a dictionary (keys are framed_id)

Error: """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Cell In [11], line 93, in DepthDecoder.forward(self, input_features) 91 x = input_features[-1] 92 for i in range(2, -1, -1): ---> 93 x = self.convs("upconv", i, 0) 94 x = [upsample(x)] 96 if self.use_skips and i > 0:

Cell In [11], line 42, in Conv3x3.forward(self, x) 41 def forward(self, x): ---> 42 out = self.pad(x) 43 out = self.conv(out) 44 return out

File ~\anaconda3\envs\deep\lib\site-packages\torch\nn\modules\padding.py:178, in _ReflectionPadNd.forward(self, input) 177 def forward(self, input: Tensor) -> Tensor: --> 178 return F.pad(input, self.padding, 'reflect')

TypeError: pad(): argument 'input' (position 1) must be Tensor, not list """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

It should be self.models['predictive_mask'] (features[0]) instead of self.models['predictive_mask'] (features), right?

noahzn commented 1 year ago

Hi, in our paper the predictive_mask was not used. Therefore, it's not expected to set this option for training. Also, the predictive_mask is not compatible with automasking.

DheerajMadda commented 1 year ago

Okay, thanks!