提问人:Kilaru Vasudeva 提问时间:9/26/2023 最后编辑:Kilaru Vasudeva 更新时间:9/27/2023 访问量:201
在 Pytorch 中将 FloatTensor 转换为 HalfTensor?
Convert FloatTensor to HalfTensor in Pytorch?
问:
我正在使用来自转换器的预训练模型,该模型期望输入类型为 .但是,我有类型的输入。如何转换?torch.HalfTensor
torch.FloatTensor
答:
1赞
Learning is a mess
9/26/2023
#1
炬。Tensor.half()
应该做:
torch.rand(3,3).half()
# tensor([[0.1456, 0.0580, 0.9277],
# [0.3318, 0.1979, 0.6670],
# [0.5391, 0.2012, 0.2445]], # dtype=torch.float16)
1赞
rosa b.
9/26/2023
#2
补充一下“学习是一团糟”的答案:有几种方法可以将张量从浮点数转换为一半
import torch
t_f = torch.FloatTensor(3, 2)
print(t_f.dtype) # torch.float32
# all t_hx are of type torch.float16
t_h1 = t_f.half() # works for cpu and gpu tensors
t_h2 = t_f.type(torch.HalfTensor) # only for cpu tensors, use torch.cuda.HalfTensor for gpu tensor
t_h3 = t_f.to(torch.half) # .to() works also on models
有关火炬张量数据类型的更多信息,请参阅文档。
评论
1赞
rosa b.
9/26/2023
感谢您的点赞...也接受答案。不过,我实际上更喜欢 Learning-is-a-mess 的建议,而不是使用 .请参阅我编辑的答案。tensor.half()
tensor.type(new_type)
评论