Skip to content

ClipLoss - RuntimeError: cannot register a hook on a tensor that doesn't require gradient #21

@Miriam2040

Description

@Miriam2040

Hi, thanks for the nice work and great repo!
I changed config to train_with_clip=1 to include ClipLoss.

Then, I am getting the following error in the eval step:
image

File "/app/CLIP_/clip/model.py", line 347, in encode_image
return self.visual(image.type(self.dtype))
File "/home/miniconda/envs/habitat/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in call_impl
result = self.forward(*input, **kwargs)
File "/app/CLIP
/clip/model.py", line 238, in forward
x = self.transformer(x)
File "/home/miniconda/envs/habitat/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in call_impl
result = self.forward(*input, **kwargs)
File "/app/CLIP
/clip/model.py", line 209, in forward
return self.resblocks(x)
File "/home/miniconda/envs/habitat/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in call_impl
result = self.forward(*input, **kwargs)
File "/home/miniconda/envs/habitat/lib/python3.7/site-packages/torch/nn/modules/container.py", line 117, in forward
input = module(input)
File "/home/miniconda/envs/habitat/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in call_impl
result = self.forward(*input, **kwargs)
File "/app/CLIP
/clip/model.py", line 196, in forward
x = x + self.attention(self.ln_1(x))
File "/app/CLIP
/clip/model.py", line 193, in attention
attention_probs_backwards_hook=self.set_attn_grad)[0]
File "/home/miniconda/envs/habitat/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in call_impl
result = self.forward(*input, **kwargs)
File "/app/CLIP
/clip/auxilary.py", line 422, in forward
attention_probs_backwards_hook=attention_probs_backwards_hook)
File "/app/CLIP_/clip/auxilary.py", line 250, in multi_head_attention_forward
attn_output_weights.register_hook(attention_probs_backwards_hook)
File "/home/miniconda/envs/habitat/lib/python3.7/site-packages/torch/tensor.py", line 257, in register_hook
raise RuntimeError("cannot register a hook on a tensor that "
RuntimeError: cannot register a hook on a tensor that doesn't require gradient

Am I missing something? Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions