【分布式训练】Accelerate 多卡训练,单卡评测,进程卡住的解决办法
最近想把之前的一个模型的改成多卡训练的。我并不懂DDP,DP。一开始打算使用Transformers的Trainer,但是配置的过程踩了很多坑也没有弄成功。【我是自己写的评测方法,但是我找不到能让触发Trainer去用我的方法评测的路劲】,后来偶然的机会知道了accelerate库,这个库没有Trainer那么高级抽象,正适合我。
按照官方的教程随便更改就可以了。但是因为我这个项目的特殊性,我决定不多卡评测,也没必要,因为之前单卡评测就两分钟就出结果了。于是我决定使用多卡训练+单卡评测。
但是单卡评测的时候又踩坑了,就是评测结束后,就卡住了,卡住了……不往下接着训练了。
于是我开始写print 观察这几个进程在哪里停住了,删掉评测部分看能不能正常运行(结果正常运行了),后来最终定位出了原因:只要在评测部分使用模型,例如 model(**input)就会在评测结束后卡住,评测的过程倒很正常。
网上查找到了解决办法:在评测过程中,一直使用
model.module(**inputs)
就解决了。
其他的一些注意事项:
因为是单卡评测,所以不用将dev_dataloader交给 accelerate。
相关文章:
【分布式训练】Accelerate 多卡训练,单卡评测,进程卡住的解决办法
最近想把之前的一个模型的改成多卡训练的。我并不懂DDP,DP。一开始打算使用Transformers的Trainer,但是配置的过程踩了很多坑也没有弄成功。【我是自己写的评测方法,但是我找不到能让触发Trainer去用我的方法评测的路劲】,后来偶然…...
时间复杂度为O(nlogn)的两种排序算法
1.归并排序 归并排序的核心思想:如果要排序一个数组,我们先把数组从中间分成前后两部分,然后对前后两部分分别排序,再将排好序的两部分合并在一起,这样整个数组就都有序了。 归并排序使用的就是分治思想。分治&#x…...
java调用onnx模型,支持yolov5和yolov7
不点star不给解答问题 可直接运行主文件:ObjectDetection_1_25200_n.java 或者 ObjectDetection_n_7.java 都可以直接运行两个可以运行的主文件是为了支持不用网络结构的模型,即使是onnx模型,输出的结果参数也不一样,支持以下两种…...
DP-GAN损失
在前面我们看了生成器和判别器的组成。 生成器损失公式: 首先将fake image 和真实的 image输入到判别器中: 接着看第一个损失:参数分别为fake image经过判别器的输出mask,和真实的label进行损失计算。对应于: 其中l…...
自监督去噪:Noise2Void原理和调用(Tensorflow)
文章原文: https://arxiv.org/abs/1811.10980 N2V源代码: https://github.com/juglab/n2v 参考博客: https://zhuanlan.zhihu.com/p/445840211https://zhuanlan.zhihu.com/p/133961768https://zhuanlan.zhihu.com/p/563746026 文章目录 1. 方法原理1.1 Noise2Noise回…...
Mac 安装配置adb命令环境(详细步骤)
一、注意:前提要安装java环境。 因为android sdk里边开发的一些包都是依赖java语言的,所以,首先要确保已经配置了java环境。 二、在Mac下配置android adb命令环境,配置方式如下: 1、下载并安装IDE (andr…...
GDAL C++ API 学习之路 (2) GDALRasterBand篇 代码示例 翻译 自学
GDALRasterBand Class <gdal_priv.h> GDALRasterBand是GDAL中用于表示栅格数据集中一个波段的类。栅格数据集通常由多个波段组成,每个波段包含了特定的数据信息,例如高程、红、绿、蓝色等, 用于表示影像的不同特征。提供了许…...
springboot对静态资源的支持
1、spring boot默认静态路径支持 Spring Boot 默认将 / 所有访问映射到以下目录:** classpath:/static classpath:/public classpath:/resources classpath:/META-INF/resources也就是说什么也不用配置,通过浏览器可以直接访问这几个目录下的文件。 1…...
WPF实战学习笔记27-全局通知
新建消息事件 添加文件:Mytodo.Common.Events.MessageModel.cs using Prism.Events; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Diagnostics;namespace Mytod…...
openSUSE安装虚拟化 qemu kvm
1) 第一种:图形界面yast安装虚拟化 左下角开始菜单搜索yast 点一下就能安装,是不是很简单呢 2)第二种: 命令行安装 网上关于openSUSE安装qemu kvm的教程比较少,可以搜索centos7 安装qemu kvm的教程,然后…...
基于linux下的高并发服务器开发(第四章)- 多进程实现并发服务器(回射服务器)
1. socket // 套接字通信分两部分: - 服务器端:被动接受连接,一般不会主动发起连接 - 客户端:主动向服务器发起连接 2.字节序转换函数 当格式化的数据在两台使用不同字节序的主机之间直接传递时,接收端必然错误…...
【程序分析】符号执行
符号执行入门 参考:https://zhuanlan.zhihu.com/p/26927127 给定一个结果,求解对应的程序输入。 经典符号执行与动态符号执行 参考:https://p1kk.github.io/2021/04/04/others/%E7%AC%A6%E5%8F%B7%E6%89%A7%E8%A1%8C&%E6%B1%A1%E7%82…...
实验笔记之——Windows下的Android环境开发搭建
好久一段时间没有进行Android开发了,最新在用的电脑也没有了Android studio了。为此,本博文记录一下最近重新搭建Android开发的过程。本博文仅为本人学习记录用(**别看) 之前博客也对配置Android做过记录 Android学习笔记之——A…...
#rust taur运行报错#
场景:在window11系统上运行 tauri桌面莹应用,提示错误。 Visual Studio 2022 生成工具 安装的sdk11 , rust运行模式是stable-x86_64-pc-window-gnu, 运行npm run tauir dev 一致失败,失败信息如下 原因:1:在window11系…...
学习购药系统源码:从前端到后端的技术探索
本文将带领读者探索购药系统源码,从前端到后端逐步深入,了解其核心功能和实现方式。我们将使用常见的Web技术,包括HTML、CSS、JavaScript、以及Python的Django框架,展示购药系统的技术奥秘。 前端技术探索 HTML结构搭建 购药系…...
第九次CCF计算机软件认证
第一题:中间数 在一个整数序列 a1,a2,…,an 中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。 在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。 给定一个…...
【计算机网络】传输层协议 -- TCP协议
文章目录 1. TCP协议的引入2. TCP协议的特点3. TCP协议格式3.1 序号与确认序号3.2 发送缓冲区与接收缓冲区3.3 窗口大小3.4 六个标志位 4. 确认应答机制5. 超时重传机制6. 连接管理机制6.1 三次握手6.2 四次挥手 7. 流量控制8. 滑动窗口9. 拥塞控制10. 延迟应答11. 捎带应答12.…...
Mac上命令
1. block端口: sudo cp /etc/pf.conf /etc/pf443.conf 编辑pf443.conf,vim /etc/pf443.conf,如 block on en0 proto udp from any to any port 9000 # block UDP port 9000 block on en0 proto tcp from any to any port 5004 # bloc…...
软件安全测试和渗透测试的区别在哪?安全测试报告有什么作用?
软件安全测试和渗透测试在软件开发过程中扮演着不同的角色,同时也有不同的特点和目标。了解这些区别对于软件开发和测试人员来说非常重要。本文将介绍软件安全测试和渗透测试的区别,以及安全测试报告在软件开发和测试过程中的作用。 一、 软件安全测试和…...
Android 从LibVLC-android到自编译ijkplayer播放H265 RTSP
概述 ijkplayer: Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support. 官方的描述就这么简单的一句话,但丝毫都不影响它的强大。 从LibVLC 到 ijkplayer 截止到2023.7.20 LibVLC-Android 最大的问题在与OOM,测试了…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
