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

How to train the self-teaching network? #2

Closed
zhangmaoxiansheng opened this issue Jun 19, 2020 · 2 comments
Closed

How to train the self-teaching network? #2

zhangmaoxiansheng opened this issue Jun 19, 2020 · 2 comments

Comments

@zhangmaoxiansheng
Copy link

Thx for your nice work! I wonder how to train the self-teaching network. It seems you didn't give the code for training. According to (14), a group of results is needed, will it takes a lot of GPU memory during training?
Besides, I didn't find the drop+self-teaching result in the paper, I wonder the performance of this way.

@mattpoggi
Copy link
Owner

Hi @zhangmaoxiansheng ,
for now, we are not planning to release the training code. You can easily reimplement it on your own by extending monodepth2.

To train self-teaching, you need to load a pre-trained network to compute the distilled labels. Otherwise, you can pre-compute offline and load them as pseudo ground truth. In my code, I was able to compute them on-the-fly on a single GPU without memory issues.

About drop+self, it is missing in the paper because dropout itself, taken alone, performs poorly.
Anyway, you can find below the performance of drop+self with M supervision:

   abs_rel |          |     rmse |          |       a1 |          |
      AUSE |     AURG |     AUSE |     AURG |     AUSE |     AURG |
&   0.048  &   0.016  &   3.265  &   0.473  &   0.069  &   0.030  \\

@zhangmaoxiansheng
Copy link
Author

Thx

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