当前位置: 首页 > article >正文

关于论文复现的环境配置以及其他的坑点

目录

前言:

1.conda配置所需虚拟环境

2.一些常见的问题


前言:

        无论是做大创还是写论文,首先得会学会读论文以及复现论文。

        对于复现一词,我也在网上搜了好多,总的来说归为两种:

        1.从github下载下来并跑通

        2.完全靠自己手搓一个

        作为初学者而言,大多都是找一篇顶会并且配有代码的论文,然后将代码下载下来跑通。

        那么如何进行相应的论文复现呢?

1.conda配置所需虚拟环境

conda create -n env python=3.x

其中env自己命名,最后和相关论文内容有关,python的版本由README决定,如图:

然后我们激活刚才的环境,也就是进入刚刚创建的环境:

conda activate env

接下来该导入相应的包了,首先就是pytorch:

先看看自己cuda的version,用:

nvidia-smi

如图:

安装时选择小于等于该版本也就是12.6的进行配置:

pytorch官网:Start Locally | PyTorch

具体来说:

发现当前没有合适的,于是我们看看过去的pytorch版本:Previous PyTorch Versions | PyTorch

我选择了这一个,大家根据自己操作环境以及cuda版本配:

接下来复制到刚刚创建的虚拟环境中:

conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 pytorch-cuda=12.4 -c pytorch -c nvidia

这个安装过程通常比较旧,大家也可以选择用清华的镜像源下快不少,具体就不展开了,大家嫌慢的可以去看看其他博客。

下载完后,进行验证:

我们执行如下语句:

只要是True就没什么问题。

接下来我们用pycharm打开从github上下载下来的文件夹:

接下来我们用刚刚创建的环境来配置pycharm的解释器:

点击设置一栏点解释器:

我们点Add Interpreter,选Add Local Interpreter:

然后:

这里推荐一篇blog:conda虚拟环境配置和pycharm添加conda解释器_pycharm conda解释器-CSDN博客

把pycharm配置完后,我们就需要找到下载下来的文件夹的requirement部分,他指定想要运行所需要调用的包:

接下来我们进入到它的文件夹的位置,在cmd中输入:

pip install -r requirements.txt

此时就自动的下载了刚刚文档中所需的包。

下载完成后,相应的配置就基本完成了。

2.一些常见的问题

1.通常我们会遇到导入模块时爆出未能找到相应的模块的错,我在跑的时候就遇到了一个:

大致的来说,就是A.py与B.py在同一个目录中,假如A.py要调用B,我们就只需:

import B

运行A.py时也很正常,但是假如一个C.py(把文件结构看成树的话,它不在和A的同一层),而C也是可以顺利的调用A,但是运行时发现说找不到B。但是我明明在A中调B没什么问题啊?

原因:通过调试看打印sys的结果,我们知道调用时我们是去sys.path列表中列出的文件夹下找有没有相应的文件,而我们运行的位置所处的文件夹也就会自动添加到path中,这也就是为什么运行A可以顺利调用B,因为A的所处文件夹会被自动调入,而B恰恰也在其中。但是当运行C时,在导入到A时,A又要导入B,但此时A所处的文件夹没有在path中,于是报错。

解决方法:

import sys
sys.path.append("")

其中填入A的所属文件夹的位置。

这里给大家安利一篇blog:

python脚本中的sys.path.append("..")详解 - 习久性成 - 博客园

2.关于wsl中的空间释放问题:

本来想想试试用linux的环境跑一跑,奈何D盘在安装完一些库时就变红了,嫌着麻烦,于是我就干脆还是用windows,于是我就打算把刚刚ubuntu上的虚拟环境删除,删除完发现???我的D盘怎么还是红的,我看了看镜像文件还是没什么变化。

原因:wsl2其实就是虚拟机,而他创建的磁盘文件可以自动扩容但是不会自动缩容,也就是我们光删除了虚拟环境还不够,我们还要手动去缩容

解决方案:

(1)

ext4.vhdx 文件路径如下:

(2)

关闭wsl上相应的linux发行版:

不关闭可能会导致如下问题(下一步的时候):

DiskPart 遇到错误: 另一个程序正在使用此文件,进程无法访问。有关详细信息,请参阅系统事件日志。

这里的关闭命令就是:

wsl --shutdown

有些情况可能一直关不了,这里我提供一个可能的原因:

我在pycharm中同时打开了这个,然后我一直关闭不了,当我从pycharm退出后就关闭了。

关闭后:

diskpart

在新的命令窗口下:

# 选择虚拟磁盘文件
select vdisk file="xxxx\ext4.vhdx"
# 压缩文件
compact vdisk
# 压缩完毕后卸载磁盘
detach vdisk

具体可以看这个大佬写的:https://zhuanlan.zhihu.com/p/521747491


http://www.kler.cn/a/533198.html

相关文章:

  • 什么是数据库代理
  • 第一个Qt开发实例(一个Push Button按钮和两个Label)【包括如何在QtCreator中创建新工程、代码详解、编译、环境变量配置、测试程序运行等】
  • chrome浏览器chromedriver下载
  • 自研有限元软件与ANSYS精度对比-Bar3D2Node三维杆单元模型-央视大裤衩实例
  • Spring中@Conditional注解详解:条件装配的终极指南
  • 如何不更新application.yml而更新spring的配置
  • 自研有限元软件与ANSYS精度对比-Bar3D2Node三维杆单元模型-央视大裤衩实例
  • Vue3 完整学习笔记 - 第三部分
  • 【Spring】Spring Cloud Alibaba 版本选择及项目搭建笔记
  • 剑指offer 二叉树 持续更新中...
  • FastPlanner论文解读(一)——前端路径搜索
  • 「全网最细 + 实战源码案例」设计模式——模板方法模式
  • JavaScript语言的面向对象编程
  • 代码随想录算法训练营Day36
  • 深入理解 Rust 模块中的路径与公开性:绝对路径、相对路径和 `pub` 的应用
  • mysql 学习8 函数,字符串函数,数值函数,日期函数,流程函数
  • 18.[前端开发]Day18-王者荣耀项目实战(一)
  • Scheme语言的正则表达式
  • 传输层协议——TCP协议
  • LeetCode 0922.按奇偶排序数组 II:O(1)空间复杂度-一次遍历双指针
  • 青少年编程与数学 02-008 Pyhon语言编程基础 19课题、外部模块
  • 【数据采集】基于Selenium采集豆瓣电影Top250的详细数据
  • 【Day29 LeetCode】动态规划DP
  • Rust中变量【引用】与【借用】规则
  • Markdown转换器中间件
  • AI协助探索AI新构型自动化创新的技术实现