Linux深度学习问题汇总

2023-09-13 00:21:03

解决Ubuntu中root账户下tab失效的问题

在 Ubuntu 中,出于安全考虑,默认情况下root用户是被禁用的。当你使用 sudo 或 sudo su 成为 root 用户时,有时可能会发现某些方便的功能,例如 tab 键自动补全,不工作。这可能是由于几个原因:

缺少bash-completion包:
bash-completion 是一个用于辅助 Bash 的交互式命令行操作的实用程序包。确保你安装了它:

sudo apt-get install bash-completion

.bashrc 文件:
默认情况下,/root/.bashrc 可能没有启用自动补全。要检查并启用它,首先编辑 /root/.bashrc:

sudo vim /root/.bashrc

查找以下行:

#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
#fi

去掉前面的 # 注释符号,然后保存文件并退出。

然后,重新加载 .bashrc:

source /root/.bashrc

安全设置:
如果上述建议仍然无效,可能是因为某些安全设置或策略阻止了 root 用户的某些功能。

建议始终小心谨慎地使用 root 用户,因为任何误操作都可能对系统造成不可逆的损害。最佳实践是尽量使用普通用户账户,并仅在真正需要时使用 sudo 命令。

解决终端断开导致任务中断的问题

Linux默认的多任务机制决定了进程是以会话的形式存在的,当终端断开时任务就会终端

而对于远程ssh而言,在网络断开的情况下是会默认断开终端的,因此导致会话结束

然而,在进行较大的模型训练时,往往需要耗费长达数小时的时间,而又不能保证网络在数小时内一直保持稳定状态,因此需要引入后台运行的机制

tmux提供了一个保持会话的功能,能够让任务一直在后台运行,以确保在 SSH 连接中启动的长时间运行的任务(如模型训练)在 SSH 会话断开后继续运行

以下是使用和tmux的简单指南:

首先需要在安装tmux:

sudo apt-get install tmux

启动一个新的 tmux 会话:

tmux new -s your_session_name

在此会话中开始你的模型训练。

退出 tmux 会话并保持它在后台运行,按下 Ctrl + B 然后按 D

要重新连接到此 tmux 会话,使用:

tmux attach -t your_session_name

通过上述方式,即使你的 SSH 会话断开或你的终端关闭,你在 tmux中启动的模型训练也会继续运行。当你再次连接到服务器时,可以重新连接到这些会话,查看训练进度。

ubuntu系统如何使用命令行查看gpu使用率

在 Ubuntu 系统中,可以使用多种方法和工具来查看 GPU 的使用情况。对于 NVIDIA 显卡,最常用的工具是 nvidia-smi。以下是一些方法:

使用 nvidia-smi:

如果你尚未安装 NVIDIA 驱动,请首先安装它。

使用 nvidia-smi 命令可以查看 GPU 的状态和使用情况:

nvidia-smi

这个命令将显示 GPU 的型号、总内存、已用内存、GPU 使用率、温度等信息。

使用 nvtop:

nvtop 是一个基于命令行的界面,用于监视 NVIDIA GPUs 的使用情况。它类似于 htop,但专门用于 NVIDIA GPU。

安装 nvtop:

sudo apt install nvtop

运行 nvtop:

nvtop

这将打开一个命令行界面,显示 GPU 使用情况、内存使用情况等信息。

将终端信息输出到文件中

在执行训练任务或者测试任务是,终端输出的信息是帮我我们判断模型好坏的重要依据,但是终端输出的信息在ssh断开后就会消失,因此需要将其存入文件中方便查看

可以使用重定向操作符 > 或 >> 来把输出保存到文件中

使用 > 重定向到一个新文件:
如果文件不存在,这将创建一个新文件。如果文件已经存在,这将覆盖该文件。

python your_program.py > output.txt

使用 >> 附加到一个文件:
如果文件不存在,这将创建一个新文件。如果文件已经存在,这将在文件的末尾追加输出。

python your_program.py >> output.txt

如果你的程序有标准错误输出(例如错误消息)并且你也想捕获这些,你可以这样做:

同时重定向标准输出和标准错误:

python your_program.py > output.txt 2>&1

这样,标准输出(stdout)和标准错误输出(stderr)都会被重定向到 output.txt 文件中。

更多推荐

【Linux调试器gdb的使用】gdb的常用命令

目录一.前言二.debug和release三.常用命令1.查看代码2.更改显示的代码行数3.开始调试4.设置断点5.代码执行6.查看变量7.更改变量的值一.前言LInux系统下调试代码用到的工具是gdb,命令行的形式,肯定没有VS的调试器好用,毕竟人家是图形化界面非常灵活,而gdb还要输入命令。但gdb也算是Linux

(二十八)大数据实战——Flume数据采集之kafka数据生产与消费集成案例

前言本节内容我们主要介绍一下flume数据采集和kafka消息中间键的整合。通过flume监听nc端口的数据,将数据发送到kafka消息的first主题中,然后在通过flume消费kafka中的主题消息,将消费到的消息打印到控制台上。集成使用flume作为kafka的生产者和消费者。关于nc工具、flume以及kafk

transformer系列2---transformer架构详细解析

transformer详细解析Encoder1输入1.1Embedding词嵌入1.1.1Embedding定义1.1.2几种编码方式对比1.1.3实现代码1.2位置编码1.2.1使用位置编码原因1.2.2位置编码方式1.2.3位置编码代码2注意力Attention2.1自注意力self-attention2.1.1Q

Android11 适配

一、修改targetSdkVersion为30将build.gradle的目标版本targetSdkVersion修改为30(Android11)targetSdkVersion30Android11的改变改变主要影响以Adnroid11为目标版本的应用(targetSdkVersion>=30才有影响),和所有应用在

《向量数据库指南》——Milvus Cloud当初为什么选择向量数据库这个赛道呢?

我们公司专注于向量数据库大约可以追溯到2018年左右。当时,向量数据库的概念并不广泛。我们的CEO力排众议,认为这个领域有巨大潜力,因为这与我们的愿景高度契合。我们的公司定位是构建一个能够在云上处理非结构化数据的基础设施产品。经过大量调研,我们意识到向量检索可能是未来处理非结构化数据语义和信息的关键。另外一个重要的因素

关于阻抗不连续的原因

1、连线中的分支结构信号传输到分支结构处,表现出的是两条电路并联的效果,会导致阻抗的不连续问题。典型的就是菊花链结构。2、参考平面的宽度一般情况下参考平面都是很宽且连续的,但有的时候,参考平面会被反焊盘给掏空,这时就有可能会出现参考平面的宽度变化的情况。(a是参考平面左右两侧都被掏空,b是左侧被掏空)。需要注意,参考平

可视化工具Datart踩(避)坑指南(3)——筛选框的疑惑

作为目前国内开源版本最好用的可视化工具,Datart无疑是低成本高效率可供二开的可视化神兵利器。当然,免费的必然要付出一些踩坑的代价。本篇我们来讲一讲可视化工具Datart踩(避)坑指南(3)之筛选框的疑惑版本:1.0.0-rc.2Release筛选框,作为BI可视化工具中的重要交互组件,是可视化工具的手。本篇踩到了关

什么是模型混合模式?

上一篇文章介绍了GLTF编辑器支持一些常见材质纹理的修改以及模型混合模式的概念,本文将具体讲解下模型的混合模式以及各种混合模式之间的不同和使用场景。1、什么是模型的混合模式。"模型混合"是指将不同的模型或元素组合在一起,形成一个整体或复合物的过程。模型混合可以用于各种应用,包括计算机图形学、动画制作、虚拟现实和特效制作

计算机未来-发展趋势和未来方向

计算机未来-发展趋势和未来方向1.人工智能与机器学习近年来,人工智能和机器学习成为了科技领域的热门话题。在CSDN上,与人工智能和机器学习相关的文章和讨论也是不胜枚举。从深度学习到自然语言处理,从计算机视觉到强化学习,这些技术正在不断地改变我们的生活和工作方式。机器学习作为人工智能的一个重要分支,其核心技术包括监督学习

Android使用Jetpack WindowManager来开发可折叠设备的探索

一、背景我们在Google开发者大会上,看到JetpackWindowManager和WindowSizeClass这些技术,如下图。那这里不得不说折叠屏手机了在其中一个显示区域中运行一个应用。同时运行两个应用,各位于一个显示区域中(在multi-window模式下)。可折叠设备还支持不同的折叠状态。折叠状态可用来以不

特殊时间(蓝桥杯)

特殊时间问题描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。2022年2月22日22:20是一个很有意义的时间,年份为2022,由3个2和1个0组成,如果将月和日写成4位,为0222,也是由3个2和1个0组成,如果将时间中的时和分写成4位,还是由3个2和1个0组成。小蓝对这样的时间很感兴趣,

热文推荐