Say I have something like:

```
import torch
from torch import Tensor
from torch import nn
import torch.nn.functional as F
class MyModule(nn.Module):
def __init__(self, scale_factor: float):
super().__init__()
self.scale_factor = scale_factor
def forward(self, x: Tensor) -> Tensor:
x = F.interpolate(x, scale_factor=self.scale_factor)
return x
model = MyModule(5)
model(torch.zeros(16,1,20,20))
torch.jit.script(model)
```

This raises an error:

Expected a value of type ‘Optional[float]’ for argument ‘scale_factor’ but instead found type ‘int’.

Actually, for some reason this toy model wasn’t able to reproduce the error I get on my real model which is:

Module ‘MyModule’ has no attribute ‘final_scale_factor’ (This attribute exists on the Python module, but we failed to convert Python type: ‘numpy.int64’ to a TorchScript type. Only tensors and (possibly nested) tuples of tensors, lists, or dictsare supported as inputs or outputs of traced functions, but instead got value of type int64… Its type was inferred; try adding a type annotation for the attribute.):

In both cases it seems to be an issue of annotation. How would I annotate an instance property? I tried annotating in the `__init__`

method like `self.scale_factor = torch.jit.annotate(float, scale_factor)`

and that doesn’t help either.

**EDIT** - I was able to sort my issue with `self.scale_factor = torch.tensor(scale_factor)`

then using `Tensor.item()`

on the other end. But I’d still like to know the answer!