深度学习小工具:Linux 环境下的用户命令和脚本顺序执行器
前言
深度学习跑代码的时候,需要跑很多个对比实验,要么开多个窗口并行执行代码,要么就写在一个 .sh 文件里面顺序执行,前面一种并行执行多个任务出结果很慢,而后一种如果想添加任务或者删除某个任务就得全部停止,查了一圈发现市面上似乎没有队列执行代码的工具。
LucQ
用一晚上和一早上折腾写出了这个软件 github,Linux User Command Queue.
Linux user command queueUsage: lucq [OPTIONS]Options:-m, --mode <MODE> Run mode (cli or exec) [default: cli]-a, --add <ADD> Add one command [default: null]-r, --remove <REMOVE> Remove one command [default: null]-l, --list List all commands-c, --clean Clean database-h, --help Print help-V, --version Print version
准备
需要两个窗口,可以是独立的两个 terminal,也可以是两个 tmux。
第一个窗口
在第一个窗口执行命令
lucq --mode exec
这就会启动一个程序等待用户提交任务并执行
第二个窗口
和前面一样,我们的所有操作都是基于 lucq 这个程序的,这里我们做测试提交一个 ls 命令
lucq --add ls
或者长一点的 python 文件命令用双引号扩起来
lucq --add "test.py -a 1"
如果需要使用特定的 python 虚拟环境或者其他任何环境,可以使用 --executor 选项
lucq --add test.py --executor /home/test/venv/bin/python
查看进度
命令提交完成后,第一个窗口中的程序自动会按照我们提交的顺序开始执行命令,并记录运行时间,我们可以通过 --list 命令查看
lucq --list
S | Jobs
o | id[1], user[test], add_time[2023-10-14 15:41:21], used_time[00:00:10], command[test.py]
o | id[2], user[test], add_time[2023-10-14 15:41:22], used_time[00:00:10], command[test.py]
o | id[3], user[test], add_time[2023-10-14 15:41:22], used_time[00:00:10], command[test.py]
o | id[4], user[test], add_time[2023-10-14 15:46:45], used_time[00:00:10], command[test.py -a 1]
o | id[5], user[test], add_time[2023-10-14 15:47:29], used_time[00:00:10], command[test.py -a 1]
o | id[6], user[test], add_time[2023-10-14 15:47:35], used_time[00:00:10], command[test.py -a 1]
r | id[7], user[test], add_time[2023-10-14 15:47:36], used_time[00:00:00], command[test.py -a 1]
x | id[8], user[test], add_time[2023-10-14 15:48:48], used_time[00:00:00], command[test.py -a 1]
x | id[9], user[test], add_time[2023-10-14 15:49:01], used_time[00:00:00], command[test.py -a 1]
其中 o 代表执行完毕,r 代表正在执行,x 代表未执行,e 代表执行错误。
删除任务
如果我们发现某个代码有错误,需要从队列中删除,可以使用命令
lucq --remove 9
这个 9 通过 --list 命令查询获得 id 写入即可
清除数据库
lucq 使用了 sqlite 作为数据库后台,有时候历史命令太长,可以使用命令重置数据库
lucq --clean
相关文章:
深度学习小工具:Linux 环境下的用户命令和脚本顺序执行器
前言 深度学习跑代码的时候,需要跑很多个对比实验,要么开多个窗口并行执行代码,要么就写在一个 .sh 文件里面顺序执行,前面一种并行执行多个任务出结果很慢,而后一种如果想添加任务或者删除某个任务就得全部停止&…...
c# WPF 应用程序在屏幕上居中显示
xaml<Window ... WindowStartupLocation"CenterScreen">...
JVM之class文件结构剖析
文章目录 0.前言1. 引言1.1 Java编译原理基础1.2 Class文件在Java编译过程中的角色 2. Class文件的整体结构2.1 Class 文件组成 3. Class文件的详细解析3.1 魔数与版本号的作用和意义3.2 常量池的结构和作用3.3 访问标志的含义和可能的值3.4 类索引、父类索引和接口索引集合的作…...
TDengine 签约中石化,支撑八大油田 PCS 系统
近日,TDengine 成功签约中国石化 PCS 一级部署时序数据库项目。未来,TDengine 将作为中国石化 PCS 系统的时序数据库,为石化总部、胜利油田、西北油田、中原油田、河南油田、华北油田、江苏油田、华东油田、江汉油田等油田 PCS 系统提供高效、…...
win11 定时计划任务
控制面板 任务计划 添加任务计划 ,选按步骤添加。...
C++入门之引用与内联函数
一、引用 1、初步理解 引用在语法上的理解就是起别名,用法就是在类型后面加&,例子:int a 1; int& b a; 上例所示,执行后,b就是a的别名,它们代表同一块空间,a的改变会影响b࿰…...
浅谈智能照明控制系统应用在城市轨道交通
叶根胜 江苏安科瑞电器制造有限公司 江苏江阴 214405 摘要:在传统的城市轨道交通设计方面,照明设计方案具有一定的弊端。随着计算机技术的发展,智能化技术渐渐步入人们的生活并成为主流,故在城市轨道交通中应用新型的照明控制设…...
macos 中ios系统升级,但是macos还是老系统,在手机上无法安装ios软件
https://github.com/filsv/iOSDeviceSupport 构建项目出现 解决的方法: 就可以了,...
Pytest+Allure生成可添加附件的测试报告
#测试套件层级 allure.feature("测试PecExplorer") #重试次数,粒度为用例,建议用例设计可重复性高 pytest.mark.flaky(reruns3) class TestPecExplorer:#功能模块层级allure.story("登录界面")#测试用例层级allure.title("Test…...
Spacedrive:开源跨平台文件管理 | 开源日报 No.57
denoland/deno Stars: 91.2k License: MIT Deno 是一个简单、现代和安全的 JavaScript 和 TypeScript 运行时,使用 V8 引擎并用 Rust 构建。其主要功能包括: 默认情况下具有高度安全性,除非显式启用,否则无法访问文件、网络或环…...
c# 同步异步锁
在 C# 中,synchronization(同步)和asynchronization(异步)锁都是用来保护共享资源的。在单线程环境中,这些锁不是必要的,但在多线程环境中,由于多个线程可以访问和修改同一资源&…...
【Spring AOP】统⼀数据返回格式
为什么需要统一数据返回格式? ⽅便前端程序员更好的接收和解析后端数据接⼝返回的数据。降低前端程序员和后端程序员的沟通成本,按照某个格式实现就⾏了,因为所有接⼝都是这样返回的。有利于项⽬统⼀数据的维护和修改。有利于后端技术部⻔的…...
python+django高校体育乒乓球场地预约管理系统_s2409
本系统提供给管理员对首页,个人中心,用户管理,乒乓球场管理,场地类型管理,场地预约管理,暂离申请管理,离开申请管理,管理员管理,留言反馈,系统管理等诸多功能进行管理。本系统对于用户输入的任何信息都进行了一定的验证,为管理员操…...
Python Selenium设计模式-POM
前言本文就python selenium自动化测试实践中所需要的POM设计模式进行分享,以便大家在实践中对POM的特点、应用场景和核心思想有一定的理解和掌握。 为什么要用POM 基于python selenium2开始UI级自动化测试并不是多么艰巨的任务。**只需要定位到元素,执…...
【计算机毕设选题推荐】网络在线考试系统SpringBoot+SSM+Vue
前言:我是IT源码社,从事计算机开发行业数年,专注Java领域,专业提供程序设计开发、源码分享、技术指导讲解、定制和毕业设计服务 项目名 网络在线考试系统 技术栈 SpringBootSSMVueMySQLMaven 文章目录 一、网络在线考试系统-环境…...
AUTOSAR汽车电子嵌入式编程精讲300篇-基于FPGA的LIN总线控制器设计与验证(续)
目录 3.2.3波特率发生模块 3.2.4数据采样模块 3.2.5校验和产生模块 3.2.6奇偶校验模块 3.2.7接收模块<...
Qt ModelView显示数据库数据
利用qt的model view来显示数据表userudps里的数据 用了一个label 两个combox和一个tableview,实现如下效果: 我这里用到是mysql数据库,一般配置mysql数据库就两种有驱动或者没驱动,有的话把mysql的bin目录的libmysql.dll复制到q…...
Vue-3.1缓存组件keep-alive
问题:从首页卡片点到详情页,又点返回,数据重新加载了->希望回到原来的位置 原因:路由跳转后,组件被销毁了,返回回来组件又被重建了,所以数据重新被加载了 解决:利用keep-alive将…...
14.8 Socket 一收一发通信
通常情况下我们在编写套接字通信程序时都会实现一收一发的通信模式,当客户端发送数据到服务端后,我们希望服务端处理请求后同样返回给我们一个状态值,并以此判断我们的请求是否被执行成功了,另外增加收发同步有助于避免数据包粘包…...
7天狂揽 1.3w star 的 MetaGPT,他们的目标让软件公司为之一惊
在 AI 产品爆炸的今天,拥有各种本领的 AI 产品层出不穷,但 MetaGPT 的出现仍然显的格外耀眼,其可以实现只输入单一 prompt,就可以输出需求分析、需求文档、技术架构、最终代码等等产物,这相当于一个开发团队的输出成果…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...
【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
