gpt4 book ai didi

python - pytorch 如何从张量中删除 cuda()

转载 作者:太空狗 更新时间:2023-10-29 22:20:46 27 4
gpt4 key购买 nike

我得到了 TypeError: expected torch.LongTensor (got torch.cuda.FloatTensor)

如何将 torch.cuda.FloatTensor 转换为 torch.LongTensor

  Traceback (most recent call last):
File "train_v2.py", line 110, in <module>
main()
File "train_v2.py", line 81, in main
model.update(batch)
File "/home/Desktop/squad_vteam/src/model.py", line 131, in update
loss_adv = self.adversarial_loss(batch, loss, self.network.lexicon_encoder.embedding.weight, y)
File "/home/Desktop/squad_vteam/src/model.py", line 94, in adversarial_loss
adv_embedding = torch.LongTensor(adv_embedding)
TypeError: expected torch.LongTensor (got torch.cuda.FloatTensor)

最佳答案

你有一个 float 张量 f 并且想将它转换为 long,你可以 long_tensor = f.long()

您有 cuda 张量,即数据在 gpu 上并且想将其移动到 cpu,您可以执行 cuda_tensor.cpu()

因此,要将 torch.cuda.Float 张量 A 转换为 torch.long,请执行 A.long().cpu()

关于python - pytorch 如何从张量中删除 cuda(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51664192/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com