pytorch常见问题整理与解决方法

RuntimeError: scatter(): Expected dtype int64 for index

scatter要求数据是int64类型,在定义tensor时写的是torch.Tensor(x),应该写成torch.LongTensor(x),指定为int64类型。其他数据类型的定义方法可参考:

解决方案:

创建的过程中变量直接设置为LongTensor()或者在创建后用下列方法转换成LongTensor类型

data = data.long()  #得到的是longtensor值

AttributeError: module ‘torchtext.data’ has no attribute

'Field’官方在0.9.0版本中将Field 等函数放进了legacy中,在最新版的0.12.0中移除了这个文件夹。
具体网站-> https://github.com/pytorch/text/releases

解决方法

如果你的torchtext版本在(0.9.0-0.12.0)之间可以用这个方法直接解决

from torchtext.legacy import data

或者考虑将torchtext适当降级

pip install torchtext==(适配的版本)

torch和torchtext版本对应关系:
在这里插入图片描述

当然也可以考虑使用新的方法

在新版本中的操作可以看官方给出的示例:https://github.com/pytorch/text

相对路径出错

如果觉得是路径问题,可以先使用os进行路径检查,如果返回True,证明路径存在;我这边是返回False

import os
os.path.exists(test_file.txt)

解决方法:

使用os.chdir(sys.path[0])把当前py文件所在路径设置为当前运行路径.

import os
import sys
print(f"vscode current run path is {os.getcwd()}")
os.chdir(sys.path[0])
print(f"set  py path as current path ")
print(f"vscode current run path is {os.getcwd()}")

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
根据您提供的引用内容,您遇到的问题是关于模块'pytorch_toolbelt.losses'没有属性'JointLoss'的错误。 要解决这个问题,可以尝试以下方法: 1. 确保您正在使用正确的版本和安装了相应的软件包。检查您的pytorch_toolbelt版本是否支持'JointLoss'属性。您可以使用pip命令卸载并重新安装pytorch_toolbelt以确保您使用的是最新版本。 2. 检查您的代码是否正确导入了所需的模块和属性。请确保在代码中正确导入'JointLoss'属性。您可以使用"import pytorch_toolbelt.losses"来导入整个模块,然后使用"pytorch_toolbelt.losses.JointLoss"来访问'JointLoss'属性。 3. 检查您的环境设置是否正确。请确保您的环境中存在正确版本的PyTorch和相关的软件包。您可以使用conda或pip来安装和管理这些软件包。 如果您尝试了上述方法仍然无法解决问题,您可以参考引用中提到的解决办法,即降级您的torch版本到一个低版本,或者参考引用和中提到的方法,手动从低版本的torch中导入所需的'_six.py'文件并将其移植到高版本的torch中,同时还需要进行相应的初始化配置。 希望这些方法能够帮助您解决问题。如果您有任何进一步的问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Pytorch出现错误Attribute Error: moduletorch‘ has no attribute ‘_six](https://blog.csdn.net/qq_44727287/article/details/129903108)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [moduletorch‘ has no attribute ‘_six](https://blog.csdn.net/xiaohukkkl/article/details/130665584)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZATuTu丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值