ViPT代码运行记录

本文记录了ViPT代码的运行过程,包括克隆仓库、创建环境、准备数据集、路径设置和训练。在训练过程中遇到数据读取错误和PyTorch关于输出形状的警告,通过修改代码解决了问题,使得模型能够成功运行。
论文原文

1.克隆仓库

git clone https://github.com/jiawen-zhu/ViPT.git

2. 创建环境

创建并激活环境

conda create -n vipt python=3.8


conda activate vipt

安装Pytorch和对应的cuda

conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia

安装需要的包

bash install_vipt.sh

3. 数据集准备

我使用的LasHeR数据集。

--datasets/LasHeR

        -- trainingset        

                        |-- 1boygo        

                        |-- 1handsth

                        |-- ........

        --testingset

                        |--

### 关于VIPT的相关资料 在Linux学习资料中,涵盖了多种类型的资源,包括视频、电子书以及PPT等[^1]。然而,在这些资料的具体分类中并未明确提及关于VIPT(Virtually Indexed Physically Tagged)缓存结构的PPT文档。如果需要深入研究VIPT技术,可以从处理器架构的角度出发。 对于VIPT的应用场景和技术细节,通常会在CPU缓存设计部分涉及。例如某款处理器采用VIPT的方式组织其L1数据缓存,具体参数如下:L1 Dcache容量为64KB,采用4-way组相联形式,并通过ECC进行校验[^3]。这类技术背景可能存在于高级计算机体系结构课程或者特定芯片的技术白皮书中。 以下是获取VIPT相关PPT资料的一些建议方法: #### 方法一:搜索引擎关键词检索 可以通过主流学术搜索引擎输入精确匹配的关键字组合来查找目标文件。“VIPT cache organization ppt” 或者 “virtually indexed physically tagged presentation slideshare”,这样能够定位到公开分享的学习材料。 #### 方法二:查阅官方文档或开源项目说明 某些硬件厂商会发布详细的开发者指南,其中包含了有关内存子系统的实现原理图解。比如ARM Cortex系列手册里就有提到不同版本间TLB与Cache配置差异之处[^4]。另外像Linux kernel源码目录下也可能附带一些解释性备注帮助理解底层机制变化[^2]。 #### 示例代码片段展示如何解析ELF格式程序加载地址映射关系以便更好地掌握虚拟索引物理标记概念: ```c #include <stdio.h> #include <elf.h> void analyze_elf(const char *filename){ FILE* f = fopen(filename, "rb"); Elf64_Ehdr ehdr; fread(&ehdr,sizeof(ehdr),1,f); printf("Entry point address: %lx\n", ehdr.e_entry); fclose(f); } int main(){ const char filename[]="testprogram"; analyze_elf(filename); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值