一、前言
上周继续修改论文,并阅读了两篇论文。
本周主要修改论文、完成实验、参加一些组会与论文讨论会,并配置了torch环境。
二、完成情况
2.1 论文符号系统注意事项
- 数学符号应该有唯一性,不能与其他符号造成误解;
- W_{\mathrm{s}}--->可表示专用的符号,不再是s可以取值1,2,3的意思;
- 可以按照what+why+how的格式写,但是不能太啰嗦;
- \newcommand{\etal}{\textit{et al}. }
\newcommand{\ie}{\textit{i}.\textit{e}.}
\newcommand{\eg}{\textit{e}.\textit{g}.}
\newcommand{\etc}{\textit{etc}}
\newcommand{\minew}[1]{{\color{blue}{#1}}}
\newcommand{\miold}[1]{{\textcolor[RGB] - 根据期刊确定:Equation (1) or Eq. (1);
- 行内公式:使用行内公式会让文字和公式处于同一行;
- 行间公式:使用行间公式会对之前的文字换行,然后公式单独成行并居中显示;
2.2 搭建论文框架
这里主要描述自顶向下搭建论文框架的方法。该方法便于读者迅速抓住重点,逻辑结构更加清晰。正文中的其他段落如果句子在5个以上,就需要有主题句。
再次强调:论文必须是高度树型结构!!!
- 摘要、引言、题目的选取、文献综述部分:见之前的周报:2024年7月2日~2024年7月8日周报-CSDN博客
- 方法部分框架:
- 问题描述(包括符号定义)——一般深度学习全波形反演任务中没有写这个;
- 算法描述,含优化目标(或者网络结果描述)
- 算法分析,例如时间、空间复杂度、收敛性等(一般DL-FWI没有这一小点)
- 实验部分框架:描述想通过实验回答哪些问题,也可以在讨论中描述,但是需要形成一一对应的关系;
2.3 环境配置
在新的torch环境中运行代码遇到了下述问题:
otImplementedError: Could not run 'torchvision::deform_conv2d' with arguments from the 'CUDA' backend. This could be because the operator doesn't exist for this backend, or was omitted during the selective/custom build process (if using custom build). If you are a Facebook employee using PyTorch on mobile, please visit https://fburl.com/ptmfixes for possible resolutions. 'torchvision::deform_conv2d' is only available for these backends: [CPU, BackendSelect, Python, Named, Conjugate, Negative, ADInplaceOrView, AutogradOther, AutogradCPU, AutogradCUDA, AutogradXLA, AutogradLazy, AutogradXPU, AutogradMLC, AutogradHPU, AutogradNestedTensor, AutogradPrivateUse1, AutogradPrivateUse2, AutogradPrivateUse3, Tracer, UNKNOWN_TENSOR_TYPE_ID, Autocast, Batched, VmapMode].
这个报错是说:我尝试在Pytorch环境中使用“torchvision::deform_conv2d”操作符,但是当前的 Pytorch 或 Torchvision 版本不支持在 CUDA 后端上运行这个操作符。
一些可尝试的解决方法与步骤:
- 方案一:检查 CUDA 支持,卸载torchvision,安装合适的torchvision:
确认 PyTorch 版本是否支持 CUDA 版本。可以在 PyTorch 官方网站上找到支持的 CUDA 版本列表。
点开相关的包可以发现:torch是cuda版本,但是torchaudio和torchvision都不是cuda版本。
因此,为了解决这个问题,需要查看相应torch版本支持的torchvision版本,重新安装torchvison。
- 方案二:卸载torch与torchvision,安装相同版本的torch和torchvision
- 方案三:卸载torch与cuda,重新安装新的cuda,使版本匹配
- 方案四:使用 CPU 替代
如果我们急需使用这个功能,并且 CUDA 支持不可行,可以尝试在 CPU 上运行代码,看看是否有效。这可以通过设置环境变量或在 PyTorch 中明确指定设备来完成。
对于当前的实验来说,这一方案是不推荐的,因为会花费很多时间。为了保证不破坏已有的torch环境,我准备重新建立环境,在新环境中安装torch等。但是在创建新环境时遇到了下属问题:
Collecting package metadata (current_repodata.json): failed # >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<< Traceback (most recent call last): File "e:\ProgramData\Anaconda3\lib\site-packages\conda\exceptions.py", line 1079,
当时一直不知道如何解决这个问题,因此我将目光放在了方案一上面:重新安装torchvision。
首先,使用下述指令卸载torchvision:
pip uninstall torchvision
conda uninstall torchvision
接着,在下述表格中根据cuda和torch版本寻找相对应的torchvision版本:下表来自pytorch的github官方文档:https://github.com/pytorch/vision#installation。
由前面的截屏可知,cuda为cu111,torch为1.10.1,因此我们需要找到这两个版本下对应的torchvision。
在该网站下可以进行离线下载:download.pytorch.org/whl/torch_stable.html。但是!!!离谱的事情来了,在cu111,torch1.10.1的版本下,没有对应的torchvision win版本,只有linux版本......
总结一下:目前遇到的两个困难——不能新建虚拟环境、目前cuda与torch版本下无torchvision版本。
我思考了一会,准备卸载 torch ,选择合适的 torch 版本保证torchvision可以继续安装。
通过查阅可知:torch、torchvision与torchaudio这三个包在cuda11.1的版本下不能兼得......(因此未来安装环境之前,一定要再三确定版本是否匹配或兼容)
接着,在这个网站下可以查询torch torchvision与torchaudio的安装指令:Previous PyTorch Versions | PyTorch
选取下述指令进行安装:
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
但是又出现了新的错误:
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='download.pytorch.org', port=443): Read timed out.
An unexpected error has occurred. Conda has prepared the above report. If submitted, this report will be used by core maintainers to improve future releases of conda. Would you like conda to send this report to the core maintainers? [y/N]: y Upload did not complete. Thank you for helping to improve conda. Opt-in to always sending reports (and not see this message again) by running $ conda config --set report_errors true
这个错误提示表明在尝试下载文件时出现了连接超时的错误,这可能由于网络问题或远程服务器问题引起的。根据查阅的资料,可以尝试关闭代理服务器,如下所示:
但是下载过程非常缓慢,一些加速方法也起不到任何作用,下载了三分之二后(花费大概四小时,真的很难过,晴天霹雳),报错如下:
我担心再次出现上述问题,于是选择了在浏览器中远程下载与安装:
下载完成后,将文件放在相应的地址下进行安装即可。最后,终于安装好了torch与torchvision,代码运行也没有报错。
但是还是存在一个问题,如果后续要使用torchaudio的包,需要更换cuda版本。因为目前还没有使用到这个包的相关内容,因此这个问题在之后解决。
总结!!!未来我们配置环境的时候,一定要先确定合适的版本,所有的都要兼容,不然再次更换会很麻烦。
三、下周计划
- 阅读论文;
- 继续完成实验;
- 完善论文;
- 计划多跑一些实验之后约老师改论文;