矩池云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

这里还没运行成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/596235.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python绘图(pandas)

matplotlib绘图 import pandas as pd abs_path rF:\Python\learn\python附件\pythonCsv\data.csv df pd.read_csv(abs_path, encodinggbk) # apply根据多列生成新的一个列的操作,用apply df[new_score] df.apply(lambda x : x.数学 x.语文, axis1)# 最后几行 …

接口自动化测试拓展:接口Mock的理念与实战场景!

接口自动化测试是软件开发过程中不可或缺的一环。在实际开发中,我们常常会遇到需要依赖其他模块的接口或者服务来完成测试的情况。而在开发初期或者接口尚未完成的情况下,就需要使用接口Mock来模拟未实现的接口功能。接口Mock是一种模拟接口行为的技术&a…

基于树的时间序列预测(LGBM)

在大多数时间序列预测中,尽管有Prophet和NeuralProphet等方便的工具,但是了解基于树的模型仍然具有很高的价值。尤其是在监督学习模型中,仅仅使用单变量时间序列似乎信息有限,预测也比较困难。因此,为了生成足够的特征…

每日两题 / 24. 两两交换链表中的节点 25. K 个一组翻转链表(LeetCode热题100)

24. 两两交换链表中的节点 - 力扣(LeetCode) 定义三个指针,交换前先保存ntnt指针为next->next,cur和next两个节点,然后将pre->next指向next 若pre为空,说明当前交换的节点为头两个节点,…

《Python编程从入门到实践》day20

#尝试在python3.11文件夹和pycharm中site-packages文件夹中安装,最终在scripts文件夹中新建py文件成功导入pygame运行程序 #今日知识点学习 import sysimport pygameclass AlienInvasion:"""管理游戏资源和行为的类"""def __init__(…

动态规划——背包问题(01,完全,多重)

一、01背包问题 1.题目描述 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。 01背包问题特点&…

数据分析之Tebleau可视化:树状图、日历图、气泡图

树状图(适合子分类比较多的) 1.基本树状图的绘制 同时选择产品子分类和销售金额----选择智能推荐----选择树状图 2.双层树状图的绘制 将第二个维度地区拖到产品分类的下面---大的划分区域是上面的维度(产品分类),看着…

cmake进阶:文件操作

一. 简介 前面几篇文章学习了 cmake的文件操作,写文件,读文件。文章如下: cmake进阶:文件操作之写文件-CSDN博客 cmake进阶:文件操作之读文件-CSDN博客 本文继续学习文件操作。主要学习 文件重命名,删…

C++引用2

什么是引用变量? 引用实际上是已定义变量的别名,使一个变量拥有多个名字 c给&符号赋予了另一个意义,将其用来声明引用 int a9;int&ba; 此时b成为a的一个别名,a就是b,b就是a.它们均指向同一片内存 int a99; in…

虚拟键代码

虚拟键代码 虚拟键码 (Winuser.h) - Win32 apps | Microsoft Learn 在Windows操作系统中,虚拟键代码(Virtual-Key Codes)是一组用来表示键盘上按键的数值。这些代码通常用于Windows API函数,以便程序能够识别和处理键盘输入。 虚拟…

OSEK任务管理

1 前言 RTOS通过任务(task)来组织应用层程序框架(framework),支持任务的并发和同步执行(concurrent and asynchronous execution of tasks),并通过调度器(scheduler&…

[方法] Unity 实现仿《原神》第三人称跟随相机 v1.1

参考网址:【Unity中文课堂】RPG战斗系统Plus 在Unity游戏引擎中,实现类似《原神》的第三人称跟随相机并非易事,但幸运的是,Unity为我们提供了强大的工具集,其中Cinemachine插件便是实现这一目标的重要工具。Cinemachi…

超分辨率重建——BSRN网络训练自己数据集并推理测试(详细图文教程)

目录 一、BSRN网络总结二、源码包准备三、环境准备3.1 报错KeyError: "No object named BSRN found in arch registry!"3.2 安装basicsr源码包3.3 参考环境 四、数据集准备五、训练5.1 配置文件参数修改5.2 启动训练5.2.1 命令方式训练5.2.2 配置Configuration方式训…

vivado UltraScale 比特流设置

下表所示 UltraScale ™ 器件的器件配置设置可搭配 set_property <Setting> <Value> [current_design] Vivado 工具 Tcl 命令一起使用。

翻译《The Old New Thing》 - What’s the point of DeferWindowPos?

Whats the point of DeferWindowPos? - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20050706-26/?p35023 Raymond Chen 在 2005年7月6日 DeferWindowPos 的作用是什么&#xff1f; 简要 文章讨论了 DeferWindowPos 函数的用途&#xff…

LangChain框架学习总结

目录 一、简介 二、概念 三、组件具体介绍 3.1 Models 3.1.1 LLMs 3.1.2 Chat Models 3.1.3 Text Embedding Modesl 3.1.4 总结 3.2 Prompts 3.2.1 LLM Prompt Template 3.2.1.1 自定义PromptTemplate 3.2.1.2 partial PromptTemplate 3.2.1.3 序列化PromptTemplat…

IMEI引起的无法驻网问题

这篇内容没什么意思&#xff0c;仅仅是做个简单记录。 问题不复杂&#xff0c;场景很简单&#xff0c;如上图&#xff0c;UE在进行LTE attach过程时&#xff0c;在送完NAS security mode complete后&#xff0c;就立刻收到了网络attach reject 带cause 6 Illegal ME&#xff0c…

Chrome浏览器安装React工具

一、如果网络能访问Google商店&#xff0c;直接安装官方插件即可 二、网络不能访问Google商店&#xff0c;使用安装包进行安装 1、下载react工具包 链接&#xff1a;https://pan.baidu.com/s/1qAeqxSafOiNV4CG3FVVtTQ 提取码&#xff1a;vgwj 2、chrome浏览器安装react工具…

设置定位坐标+请按任意键继续

设置定位坐标 目的 在编程和游戏开发中&#xff0c;设置定位坐标的目的是为了确定对象在屏幕或游戏世界中的具体位置。坐标通常由一对数值表示&#xff0c;例如 (x, y)&#xff0c;其中 x 表示水平位置&#xff0c;y 表示垂直位置。设置定位坐标的目的包括&#xff1a; 1. **精…

【云原生】Pod 的生命周期(二)

【云原生】Pod 的生命周期&#xff08;一&#xff09;【云原生】Pod 的生命周期&#xff08;二&#xff09; Pod 的生命周期&#xff08;二&#xff09; 6.容器探针6.1 检查机制6.2 探测结果6.3 探测类型 7.Pod 的终止7.1 强制终止 Pod7.2 Pod 的垃圾收集 6.容器探针 probe 是…