【复现代码——环境配置】

本文详细描述了如何在Python环境中设置PyTorch及其依赖,包括创建conda环境、安装PyTorch、CUDA配置,以及处理不同PyTorch版本下的常见问题,如loss.backward()错误、one-hot编码问题和THC/THC.h编译问题的解决方法。
摘要由CSDN通过智能技术生成

一、复现代码举例

我们在复现其他baseline的时候,要看代码的环境要求,例如:

# Environment Setup
Python 3.7.13
CUDA 11.1
Pytorch 1.10.1
torchvision 0.11.2

注: 以上的环境是必须要按照作者要求的安装,如果换其他的版本,就可能会出错。而其他依赖可以直接pip安装,无版本要求。

二、创建环境——选择一个Python版本

为了方便环境管理,我们是基于工程来创建这个工程的环境。

2.1 创建基本环境

2.1.1 基于AutoDL

  • 先建一个基本环境:
    在这里插入图片描述
  • 进入终端、创建python:
    在这里插入图片描述
conda create -n hra37 python=3.7.13

2.1.2 基于PyCharm

  • 打开一个工程;
  • 创建基本环境:File -> Settings -> Project -> Python Intepreter -> Conda Environment -> 点 **+ ** ->New environment -> 指定Python版本和修改环境名字
    在这里插入图片描述
    安装时出现错误:
    在这里插入图片描述

排查错误:

  • 查看镜像源是清华还是中科大:
conda config --show channels

显示如下:(显示为中科大)
在这里插入图片描述

  • 用终端创建环境,需要cd到anaconda3/bin下在安装:
    在这里插入图片描述
conda create -p /home/wanghui/anaconda3/envs/HRA-UNET -y python=3.7.13

依然出现问题。发现是本身服务器的问题。然后,将服务器放在AutoDL的私有云上,重新配环境,成功。

2.2 终端激活环境

conda activate hra37

2.3 退出环境

conda deactivate

2.4 删除环境

conda remove -n hra37 --all  # hra37是我想删除的环境名

三、PyTorch安装

3.1 查看cuda

  • 安装PyTorch必须找到对应的cuda,所以先查看自己的服务器CUDA。
    1. 终端输入命令:nvidia-smi
      在这里插入图片描述

    2. 终端输入命令:nvcc --version
      在这里插入图片描述

补充:

  • nvidia-smi全程是NVIDIA System Management Interface ,它是一个基于前面介绍过的NVIDIA Management Library(NVML)构建的命令行实用工具,旨在帮助管理和监控NVIDIA GPU设备。
  • nvcc和nvidia-smi显示的CUDA版本不同。CUDA有两个主要的API:runtime(运行时) API和driver API。这两个API都有对应的CUDA版本(如9.2和10.0等)。如果driver API和runtime API的CUDA版本不一致可能是因为你使用的是单独的GPU driver installer,而不是CUDA Toolkit installer里的GPU driver installer。 参考:显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn详解

结论: 这个服务器的cuda 11.7,可向下兼容。
在这里插入图片描述

3.2 查看linux系统的版本号

uname -a

3.3 GPU配置解释

此时显卡状态为正在双卡运行程序。

  • NVIDIA-SMI:显卡(硬件)。
  • Driver Version:显卡驱动。
  • CUDA Version: CUDA版本。这里是11.7。
  • Name:这表示GPU的型号,这里是NVIDIA GeForce RTX 2080Ti。
  • Fan:风扇的状态,通常表示风扇的速度或转动百分比。此时,两张卡分别显示为“95%”、“76%”,表示风扇正在以95%和76%的速度运行。
  • Temp:这是GPU的温度,通常以摄氏度(C)为单位。例如,“84C”表示GPU的当前温度是84摄氏度。
  • Perf:代表性能状态,通常指示GPU当前的性能状态等级。P0~P12,P0最大,P12最小。
  • Pwr:Usage/Cap:这表示GPU的功率使用情况。例如,“20W /350W”表示GPU当前正在使用20瓦的功率,而其最大功率限制为350瓦。
  • Bus-Id:这是GPU在系统总线上的标识符,用于唯一地识别该GPU。
  • Memory-Usage: 表示GPU显存的使用情况。例如,“4222MiB /11264MiB”表示当前使用了4222MiB的显存,而总共可用显存为11264MiB。
  • GPU-Util: 表示GPU的利用率,即GPU被工作负载使用的百分比。如果这个参数是在反复跳动,是因为没有设置好CPU的线程数。具体解决方法参考:关于GPU显存占满(即memory usage 很大),但GPU-util很小,导致模型训练很慢
  • Compute M. & MIG M.:这些可能与GPU的计算模式和多实例GPU(MIG)相关。
  • Default:这可能表示GPU的某些参数或设置处于默认状态。
  • N/A:这表示“不适用”或“不可用”,可能因为某些信息在当前状态下不可用。

3.4 安装PyTorch

官网以前的版本,复制、终端运行

  • Linux:torch==1.10.1
pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html
  • Linux:torch==1.9.1
pip install torch==1.9.1+cu111 
GitHub代码复现是指在GitHub上找到一个感兴趣或有用的开源代码项目,并通过阅读代码、运行代码并进行修改来重新实现或再次创建整个项目。 首先,需要在GitHub上搜索并找到目标项目。可以通过GitHub的搜索功能,输入关键词、项目名称、描述等来筛选出符合条件的项目。选择一个代码质量好、维护活跃的项目会更有保障。 一旦找到了目标项目,就可以clone(克隆)该项目到本地。可以使用git命令行或者通过GitHub Desktop等工具进行操作。克隆项目后,就可以在本地对代码进行修改、调试、定制等。 接下来,对项目进行配置和安装依赖。一般来说,项目中会有一个readme文件或者其他文档来指导配置环境和安装所需的依赖包。根据项目要求进行配置和安装。 然后,就可以运行项目了。根据项目的要求,可能需要提供一些参数或者数据集。根据项目的文档,在终端或者IDE中运行相应的命令或者程序。 当项目运行成功后,就可以根据自己的需求对代码进行修改和优化。可以根据项目的架构和实现逻辑进行更改,添加新的功能,或者提升代码的性能等。 最后,如果对项目的改进比较显著,可以考虑提交自己的贡献给项目的维护者。可以通过Fork项目、修改代码、提交Pull Request等方式向项目提交自己的改动。项目维护者会进行代码审查,并决定是否接受你的改动。 总之,GitHub代码复现是一个学习和交流的过程。通过复现别人的代码,可以提升自己的编程能力,了解项目的实现细节,还可以与其他开发者交流、合作,共同提高。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值