矩池云jupyter运行opengait代码 未完成版

2024-05-07 03:36

本文主要是介绍矩池云jupyter运行opengait代码 未完成版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言——矩池云的使用技巧
    • 1.切换源
  • 一、下载数据集
  • 二、下载模型
  • 三、环境配置
    • 1.查看python、torch、torchvision版本
    • 2.查看一些包版本是否过高
    • 3.下载包
  • 四、开始训练
    • 1.设置环境变量
    • 2.遇到的问题
      • (1)torch.cuda.is_available()返回false
      • (2)报错:缺少 GLIBCXX_3.4.29 版本的 libstdc++.so.6 库文件
    • 3.训练

前言——矩池云的使用技巧

1.切换源

命令:

bash /public/script/switch_conda_source.sh

一、下载数据集

本次只需要用到CASIA-B数据集
下载地址为:
CASIA-B数据集

下载后,需要用
python datasets/pretreatment.py --input_path CASIA-B --output_path CASIA-B-pkl
对其进行预处理,得到CASIA-B-pkl

这里的–input_path后为存放CASIA-B数据集的路径,–output_path后为要放的预处理后的存放路径

二、下载模型

由于运行官方模型下载命令失败了,所以我直接到release页面下载的模型,然后放到output文件夹下

可以根据源代码看下载好的模型要放在哪里:

在这里插入图片描述可以看到,前三个要放在ouput文件夹下,后面两个要放在output/GREW/GaitGL文件夹下

三、环境配置

考虑到适配问题,在矩池云租用GPU时最好选择pytorch=1.10的环境

1.查看python、torch、torchvision版本

python --version

conda list torch

python和torch版本不能过高,否则有些包不能用

以下为我在矩池云租用的GPU的配置:
python:3.8.12
torch: 1.10.0+cu113
torchvision: 0.11.1+cu113

注意三者的版本应该适配:这里面写了对应版本

2.查看一些包版本是否过高

conda list语句查看当前有哪些包及其对应的版本

如果版本过高,则需要降低版本

首先看一些包的版本是否过高:

(1)setuptools 应该为 58.0.4
如果版本过高,则需要修改:
AttributeError: module ‘distutils‘ has no attribute ‘version‘ 解决方案

在这里插入图片描述(2)Pillow 应该为:10.0以下

10.0之后pillow删除了一些属性,所以需要将其降低版本,可以降低至9.5.0版本:

参考这里

我的版本为8.4.0,因此暂时不做修改

3.下载包

在终端直接运行:

conda install tqdm pyyaml tensorboard opencv kornia einops -c conda-forge

运行完后,用命令conda list查看需要的包是否都安装好了,需要的包如下:

在这里插入图片描述

比如我发现py7zr没有安装,所以我运行了 conda install py7zr命令

四、开始训练

1.设置环境变量

运行下面的语句:
export RANK= 0设置当前进程的排名
export WORLD_SIZE=1设置总的进程数量
export MASTER_ADDR=localhost设置主地址
export MASTER_PORT=12345设置主端口

2.遇到的问题

(1)torch.cuda.is_available()返回false

在这里插入图片描述
在python中打印torch.cuda.is_available(),返回了False
查看torch版本:
conda list torch

结果:

在这里插入图片描述

参考文章:

Why torch cuda_is_available returns False even after installing PyTorch with CUDA

首先查看CUDA版本:nvcc --version

在这里插入图片描述
可以看到我的CUDA版本为11.3,所以安装命令为:

pip install torch torchvision torchaudio -f https://download.pytorch.org/whl/cu113/torch_stable.html

安装成功后再次查看torch版本:

在这里插入图片描述
发现刚刚第一个pytorch没有了

现在再打印torch.version.cuda。结果为:

在这里插入图片描述
在python中打印,结果也为True:

在这里插入图片描述
大功告成!

(2)报错:缺少 GLIBCXX_3.4.29 版本的 libstdc++.so.6 库文件

查看linux版本:lsb_release -a

在这里插入图片描述第一步:更新 libstdc++ 库
由于我的linux版本为Ubuntu,所以更新命令如下:
sudo apt update——更新软件包索引
sudo apt install --only-upgrade libstdc++6——升级 libstdc++ 库

第二步:更新conda库
查看conda版本:conda -V
更新conda:conda update -n base -c defaults conda --repodata-fn=repodata.json

第三步:重新安装protobuf库
conda install protobuf

3.训练

由于torch.distributed.launch过时了,所以要改为torch.distributed.run

CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.run --nproc_per_node=2 opengait/main.py --cfgs ./configs/baseline/baseline.yaml --phase train

这里还没运行成功

这篇关于矩池云jupyter运行opengait代码 未完成版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/966209

相关文章

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma

深入解析 Java Future 类及代码示例

《深入解析JavaFuture类及代码示例》JavaFuture是java.util.concurrent包中用于表示异步计算结果的核心接口,下面给大家介绍JavaFuture类及实例代码,感兴... 目录一、Future 类概述二、核心工作机制代码示例执行流程2. 状态机模型3. 核心方法解析行为总结:三

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

Python使用Code2flow将代码转化为流程图的操作教程

《Python使用Code2flow将代码转化为流程图的操作教程》Code2flow是一款开源工具,能够将代码自动转换为流程图,该工具对于代码审查、调试和理解大型代码库非常有用,在这篇博客中,我们将深... 目录引言1nVflRA、为什么选择 Code2flow?2、安装 Code2flow3、基本功能演示

IIS 7.0 及更高版本中的 FTP 状态代码

《IIS7.0及更高版本中的FTP状态代码》本文介绍IIS7.0中的FTP状态代码,方便大家在使用iis中发现ftp的问题... 简介尝试使用 FTP 访问运行 Internet Information Services (IIS) 7.0 或更高版本的服务器上的内容时,IIS 将返回指示响应状态的数字代