矩池云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跨文件实例化、跨文件调用及导入库示例代码

《Python跨文件实例化、跨文件调用及导入库示例代码》在Python开发过程中,经常会遇到需要在一个工程中调用另一个工程的Python文件的情况,:本文主要介绍Python跨文件实例化、跨文件调... 目录1. 核心对比表格(完整汇总)1.1 自定义模块跨文件调用汇总表1.2 第三方库使用汇总表1.3 导

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Python实现MQTT通信的示例代码

《Python实现MQTT通信的示例代码》本文主要介绍了Python实现MQTT通信的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 安装paho-mqtt库‌2. 搭建MQTT代理服务器(Broker)‌‌3. pytho

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示