服务器量化训练操作说明

news2024/11/24 5:49:58

Freespace服务器预训练主要步骤:

  1. 首先登录堡垒机,命令如下:

ssh xxx@relay.baidu-int.com  (xxx为个人邮箱前缀)

密码为个人邮箱密码

  1. 登录工作机,命令如下:

ssh l3@yq01-gpu-255-122-22-00.epc.baidu.com

密码为:l3

  1. 在工作机上找到freespace网络的训练源码及脚本(该版本为验证成功版本),原始路径为/home/l3/chenghongkuan/freespace/perception-tnt8.2, 在根目录下新建一个自己的目录,如,并将原始路径下的内容拷贝到个人目录下。
  2. 集群环境配置
    1. slurm客户端工具拷贝:工作机slurm客户端工具已安装,位置为,可以直接将该部分内容copy到自己的目录下:
    2. Token申请:在自己的客户端目录下,执行以下命令完成个人token的申请,会收到邮件,注意查收:
    3. Token配置:执行以下命令完成个人token的配置,其中ak以及sk可以在申请时收到的邮件中查到,配置成功会收到邮件,

  1. 训练任务提交:该部分暂时先按最简单的方式来操作,操作如下
    1. 在自己的训练路径下,找到submit.sh, 修改submit.sh中的HGclient的地址,改为自己目录:

    1. 在自己的训练路径下,找到train.sh,可以将job_name改为自己定义的名字;
    2. 在自己的训练路径下,找到freespace.yaml,检查DATASET:TRAINING:DATA_MODULE是否为apps.freespace.src.data.sfs_v3.SFSDataset,检查MODEL:BACKBONE:CONV_BODY是否为SfsVps;
    3. 在自己的训练路径下,找到train.sh,并执行sh train.sh,将训练任务提交到远程集群进行训练,如果训练任务提交成功则会有如下打印信息:

阡陌控制台也会查到当前提的任务,界面如下:

  1. 训练模型获取:在阡陌服务器页面中“我的作业”中找到本次训练的任务,然后点击“查看overview”

,进入Log Agent界面,点击“output”,选中模型,点击“download”进行模型下载,

 

Freespace量化参数提取主要步骤:

  1. 将预训练出的模型如model_0530000.pth拷贝到目录perception-tnt/tnt/entries/output/下。
  2. 修改perception-tnt目录下的freespace.yaml,修改如下:

将注释打开,并且,修改WEIGHT文件为新生成的模型文件,如/tnt/entries/output/model_0530000.pth;

  1. 修改perception-tnt/tnt/entries/目录下的train_net.py,修改如下:

将此段do_train代码注释掉;

  1. 在perception-tnt/tnt/entries/目录下执行python train_net.py --config-file ../../freespace.yaml --compress-file ../../ apps/freespace/config/compressor_config.yaml --skip-test 0 ,执行完后会在perception-tnt/tnt/entries/output/目录下生成quantization_stats.yaml。

Freespace服务器重训练主要步骤:

  1. 下载最新的perception-tnt源码到工作机,分支切换为dev_fpga_v3
  2. 修改freespace.yaml中的内容如下所示:

将中的sfs_swapchannel 改成 sfs_v3中的SfsVps改为SfsVpsV3;

  1. 将模型文件以及量化参数文件quantization_stats.yaml拷贝到/tnt/entries/output/目录下。
  2. 将BASE_LR设置为原来训练好网络最后的LR,如果之前的记录丢失,可以将该值设置的小一点;
  3. 按照预训练步骤5,6进行训练以及模型获取。

相关资料及重要信息:

  1. 服务器训练总体参考,可以看http://icode.baidu.com/repos/baidu/adu-lab/perception-tnt/blob/master:README.md 中的下图部分:

  1. SLURM客户端的安装与配置,可以参考wiki:

http://wiki.baidu.com/pages/viewpage.action?pageId=365141511

当前客户端工具已经在工作机安装完成,剩下的主要工作是token的申请与配置部分

  1. 训练所需要的GPU集群可以在http://newqianmo.baidu.com/index.jsp#/user/gpu?status=RUNNING&_k=j0cckg 查找到,相关同学应该有相关权限,如下图所示

  1. 查看提交的训练任务详情:

  1. 撤回提交的训练任务:    

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis源码篇 - inset数据结构

inset是Redis中set类型的一种底层存储结构(编码),它是基于整数数组来实现的,用于存储数值类型set集合数据,并具备长度可变、有序等特征。 有序性 为了方便查找,Redis会将intset中整数数据按照从小到大的顺…

017-从零搭建微服务-系统服务(四)

写在最前 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):https://gitee.com/csps/mingyue 源码地址(前端):https://gitee.com/csps…

【服务器】零成本搭建网站并内网穿透实现公网访问

零成本搭建网站并内网穿透实现公网访问 在普通电脑用户看来,建立自己的网站总是一件高大上的事情,这个网站不仅可以成为展示自己的平台,还能成为商业的载体。在以往,建立一个像样的网站,不仅需要过硬的编程知识做基础…

在外远程桌面控制家里的电脑

在外远程桌面控制家里的电脑 电脑作为现代家庭不可或缺的电子设备之一,早已在广大家庭中普及。不仅年轻人需要在工作、生活中使用电脑,在老家的父母也在熟悉和使用电脑。但身在外乡打工的我们,总会碰到家中父母抱怨电脑卡、慢、不好用的情况…

微信小程序学习笔记(四)——自定义组件

自定义组件 组件的创建与引用 创建组件 在根目录下创建 components 文件夹右键点击 components 文件夹,选择新建 Component,就会自动生成.wxml、.wxss、.js、.json文件 引用组件 组件的引用方式分为“局部引用”和“全局引用”,故名思义…

【指针的进阶(3)】回调函数和qsort排序各种类型的数据

文章目录 前言一、回调函数是什么?如何实现回调函数 二、回调函数的应用——qsortqsort排序各种类型的数据 总结 前言 前两章讲了指针的类型,数组传参和指针传参,还有函数指针和函数指针数组,接下来第三章讲回调函数 指针函数非常…

MySQL-运维

1、日志 1.1 错误日志 错误日志是MysQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。 该日志是默认开启的&#…

高阶C语言|结构体,枚举,联合--自定义类型的使用计算

自定义类型--结构体,枚举,联合 一、结构体1.1结构体类型的声明1.1.1结构的基础知识1.1.2结构的声明1.1.3特殊的声明 1.2结构体的引用1.3结构体变量的定义和初始化1.4结构体内存对齐1.4.1修改默认对齐数 1.5结构体传参1.6结构体实现位段(位段的…

数据结构与算法基础-学习-26-图之MST(最小代价生成树)之Kluskal(克鲁斯卡尔)算法

最小生成树的概念、源码实现和Prim(普利姆)算法的概念和源码实现请参考之前的博客:《数据结构与算法基础-学习-25-图之MST(最小代价生成树)之Prim(普利姆)算法》 一、算法思路 Kluskal算法相较…

11.键盘事件

键盘事件 html部分 <div class"insert"><div class"key">请按下你的键盘</div> </div>css部分 * {margin: 0;padding: 0; }body {display: flex;justify-content: center;align-items: center;height: 100vh;overflow: hidden; }…

Pytorch手动实现softmax回归

参考代码&#xff1a;https://blog.csdn.net/ccyyll1/article/details/126020585 softmax回归梯度计算方式&#xff0c;特别是ij和i! j时的计算问题&#xff0c;请看如下帖子中的描述&#xff0c;这个问题是反向传播梯度计算中的一个核心问题&#xff1a;反向传播梯度计算中的…

哈工大计算机网络课程局域网详解之:MAC地址与ARP协议

哈工大计算机网络课程局域网详解之&#xff1a;MAC地址与ARP协议 文章目录 哈工大计算机网络课程局域网详解之&#xff1a;MAC地址与ARP协议MAC地址ARP&#xff1a;地址解析协议寻址&#xff1a;从一个LAN路由至另一个LAN MAC地址 在介绍MAC地址前&#xff0c;首先回顾一下之前…

SAP ABAP 实现数据库表行项目和程序加解锁功能

1.SAP ABAP 实现数据库表行项目加解锁功能 实现效果&#xff1a; 当一个数据库表以某字段为关键字段的数据被锁定时&#xff0c;同一时间其他程序无法修改改表内被锁定的数据&#xff0c;除非被解锁或退出程序。 1.事务代码&#xff1a;SE11 创建锁对象。PS&#xff1a;命名…

【计组】不同进制数之间的相互转换

前言 1、推荐在线进制转换器&#xff1a;&#xff08;都还不错&#xff09; 在线进制转换 | 进制转换器 — 在线工具 (sojson.com) 在线进制转换器 | 菜鸟工具 (runoob.com) 在线进制转换 - 码工具 (matools.com) 2、进位计数法 &#xff08;1&#xff09;二进制&#xf…

JavaScript字符串和模板字面量

● 上节课我们说明&#xff0c;号可以当作字符串连接符号使用&#xff0c;例如 const firstName "Sun"; const job "技术分享博主"; const birthYear 1991; const year 2023;const sun "我叫" firstName ",是一个" (year - bi…

线性结构:队列

文章目录 队列定义队列应用热土豆问题打印任务 队列定义 队尾进&#xff0c;队头出 队列是一种有次序的数据集合&#xff0c;其特征是新数据项的添加总发生在一端(通常称为“尾rear”端&#xff09;而现存数据项的移除总发生在另一端&#xff08;通常称为“首front”端&#x…

刷题记录-2最短路径

考点&#xff1a; 图论-最短路-Dijkstra 解题&#xff1a; c #include <iostream> #include <vector> #include <queue> using namespace std; const long long inf 0x3f3f3f3f3f3f3f3fLL; const int num 3e52; struct edge {int from,to;long long w;e…

算法竞赛入门【码蹄集新手村600题】(MT1001-1020)

算法竞赛入门【码蹄集新手村600题】(MT1001-1020&#xff09; 目录MT1001 程序设计入门MT1002 输入和输出整型数据MT1003 整数运算MT1004 求余MT1005 输入和输出实型数据MT1006 实型数运算MT1007 平均分MT1008 圆球等的相关运算MT1009 公式计算MT1010 输入和输出字符型数据MT10…

【Visual Studio】Qt 在其他 cpp 文件中调用操作 ui 界面控件

知识不是单独的&#xff0c;一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏&#xff1a;Visual Studio。 还整了一个如何相互之间调用函数的文章&#xff0c;感兴趣可以看&#xff1a;【Visual Studio】Qt 在其他 cpp 文件中调用主工程下文件中的函数。 文章目录 …

第四章:包围体

第四章&#xff1a;包围体 引言-包围体&#xff08;1&#xff09;包围体测试和几何体测试&#xff08;2&#xff09;包围体测试的代价和作用&#xff08;3&#xff09;相交测试的优化&#xff08;4&#xff09;包围体相关章节和主旨 一、BV 期望特征1.1 有效的包围体1.2 包围体…