Thanks, I did get it to work by creating a new array:
new_array=torch.Tensor.float(torch.from_numpy(numpy_float_array))
which I think is doing the same thing as you are suggesting.  My concern was that whilst I can get it to work others are likely to find the same since most numpy float arrays seem to be 64 bit and hence convert to Double in Pytorch.  I would therefore think that it is worthwhile flagging this as a potential issue in the documentation? It took me quite a while to track down the problem and I would like to avoid others wasting their time.
Many thanks
Jonh