在Ubuntu上创建和启用交换文件的简单步骤
在Linux系统中,交换空间是一种将内存数据临时存储在磁盘上的机制,用于缓解内存不足的情况。本文将介绍如何在Ubuntu系统上创建和启用一个12GB的交换文件。这是一种不需要重新分区的简单方法。 为什么使用交换文件?交换文件与交换分区功能相同,但更加灵活。你可以在不重新分区的情况下轻松调整交换空间的大小。以下是创建和启用交换文件的详细步骤。 步骤 1:创建交换文件首先,我们需要在文件系统上创建一个12GB的交换文件。 1sudo fallocate -l 12G /swapfile 如果 fallocate 命令不可用,可以使用以下命令: 1sudo dd if=/dev/zero of=/swapfile bs=1M count=12288 步骤 2:设置正确的权限为了确保系统安全,我们需要将交换文件的权限设置为只有root用户可以读取和写入。 1sudo chmod 600 /swapfile 步骤 3:将文件格式化为交换空间现在,我们需要将这个文件格式化为交换空间。 1sudo mkswap /swapfile 步骤...
机器学习数据预处理详解:标准化、填充缺失值及编码离散特征
在机器学习建模过程中,数据预处理是至关重要的一步。本文将通过具体示例,详细解释数据预处理的关键步骤,包括标准化数值特征、填充缺失值以及编码离散特征。我们将使用一个简单的训练和测试数据集来说明这些步骤。 示例数据集训练数据 (train_data) Id Feature1 Feature2 Feature3 Label 1 10 5.0 A 100 2 20 6.5 B 200 3 30 NaN A 300 测试数据 (test_data) Id Feature1 Feature2 Feature3 4 25 5.5 B 5 35 7.0 NaN 步骤解析1. 合并所有特征以进行预处理首先,将训练和测试数据集的特征(不包括标签列Label)合并,以便对所有特征进行统一的预处理。 1all_features = pd.concat((train_data.iloc[:, 1:-1], test_data.iloc[:,...
使用 PyTorch 和 Pandas 进行 Kaggle 房价预测
在本篇博文中,我们将探索如何使用 PyTorch 和 Pandas 库,构建一个用于 Kaggle 房价预测的模型。我们将详细讨论数据加载、预处理、模型构建、训练、验证及最终预测的全过程。 1、环境设置我们首先需要导入所需的库,包括用于数据处理的 pandas 和 numpy,以及用于深度学习的 torch。 12345678import hashlibimport osimport requestsimport numpy as npimport pandas as pdimport torchfrom torch import nnfrom d2l import torch as d2l 2、数据下载为了下载数据,我们需要定义一个下载函数,并在其中实现数据缓存机制以避免重复下载。 1234567891011121314151617181920212223242526# 保存DATA_HUB字典以便下载数据DATA_HUB = dict()DATA_URL = 'http://d2l-data.s3-accelerate.amazonaws.com/'#...
如何在不同电脑之间导出和导入 Docker 镜像
如何在不同电脑之间导出和导入 Docker 镜像在开发和部署过程中,你可能会遇到需要将 Docker 镜像从一台电脑导出并导入到另一台电脑的情况。无论是为了分享镜像,还是为了在不同环境中进行测试,Docker 都提供了方便的工具来实现这一需求。本文将详细介绍如何使用 docker save 和 docker load 命令将 Docker 镜像从一台电脑传输到另一台电脑。 步骤 1:导出镜像首先,在源电脑上使用 docker save 命令将 Docker 镜像保存为一个 tar 文件。假设你要导出的镜像名为 foxy_noetic_ubuntu20.04:v1,你可以运行以下命令: 1docker save -o foxy_noetic_ubuntu20.04_v1.tar foxy_noetic_ubuntu20.04:v1 这条命令会创建一个名为 foxy_noetic_ubuntu20.04_v1.tar 的文件,该文件包含了 foxy_noetic_ubuntu20.04:v1 镜像的所有内容。 步骤 2:传输镜像文件接下来,需要将生成的 tar...
Ubuntu 20.04 安装 ROS Noetic
一、安装 ROS Noetic 步骤 说明:ROS Noetic 是 ROS 1 的最后一个发行版,目标平台是 Ubuntu 20.04(Focal)。Noetic 已在 2025-05 结束官方维护,存量项目可以继续使用;新项目建议优先评估 ROS 2。 第一步:换源(在软件和更新里面)这一步非常重要,会影响后面安装 ROS 能否成功。国内网络环境可以选择中科大、清华、阿里云等 Ubuntu 镜像源。这里以中科大镜像源为例:https://mirrors.ustc.edu.cn/ubuntu/。 第二步:添加 ROS 软件源apt-key 已不再推荐使用,新的做法是安装 ROS 官方提供的 ros-apt-source 包,由它管理 APT 源和签名密钥。 123456sudo apt updatesudo apt install -y curlexport ROS_APT_SOURCE_VERSION=$(curl -s...
ROS简单节点demo(Python)
下面是将 talker_listener_demo 改写为 Python 版本的步骤和代码示例。本文默认使用 ROS Noetic / Python 3;如果你使用的是 ROS Melodic 或更早版本,Python 解释器和生成路径可能不同。 步骤 1:创建 ROS 包在终端中执行以下命令: 1catkin_create_pkg talker_listener_demo rospy std_msgs 这将在 Catkin 工作空间中创建一个名为 talker_listener_demo 的 ROS 包,并将 rospy 和 std_msgs 添加为依赖项。 步骤 2:创建 Python 脚本Python 可执行节点通常放在包内的 scripts 目录下: 12345cd ~/catkin_ws/src/talker_listener_demomkdir -p scriptscd scriptstouch talker.pytouch listener.py 步骤 3:编写 Python 节点代码编辑 talker.py 和 listener.py...
ROS简单节点demo(C++)
下面是一个简单的 ROS 1 demo,包括创建一个 Catkin 工作空间、创建一个 ROS 节点以发布一个字符串消息到一个话题上,并创建一个订阅器来接收并打印这个消息。这个 demo 包含两个文件:CMakeLists.txt 和 talker_listener_demo.cpp。 首先,创建一个 Catkin 工作空间: 打开终端。 运行以下命令,创建一个名为 catkin_ws 的 Catkin 工作空间: 123mkdir -p ~/catkin_ws/srccd ~/catkin_ws/srccatkin_init_workspace 接下来,创建 ROS 节点和订阅器的源文件: 在 ~/catkin_ws/src 目录下创建一个名为 talker_listener_demo 的包,并进入该目录: 123cd ~/catkin_ws/srccatkin_create_pkg talker_listener_demo roscpp std_msgscd talker_listener_demo 在 talker_listener_demo 包中创建一个名为...
MySQL binlog 日志保留策略:保存时间与文件大小限制
一、设置 binlog 日志保存时间和文件大小限制在 MySQL 中,常见日志包括二进制日志(binlog)、错误日志和查询日志等。这些日志对数据库管理、复制和故障恢复都很重要。本文重点记录 binlog 日志的保留策略。 不同 MySQL 版本的默认保留策略并不完全相同。以 MySQL 8.0 为例,binlog_expire_logs_seconds 默认值为 2592000,也就是 30 天。为了避免版本差异带来的误解,生产环境建议显式配置保留时间和单个 binlog 文件大小。 MySQL 8.0 及以上版本建议使用 binlog_expire_logs_seconds,不要再使用已经弃用的 expire_logs_days。例如保留 7 天: 123456[mysqld]# 设置日志保留时间:7 天 = 7 * 24 * 60 * 60 秒binlog_expire_logs_seconds=604800# 设置单个 binlog 文件最大大小max_binlog_size=100M 以上配置会让 MySQL 自动清理超过 7 天的 binlog,并把单个...
使用符号链接迁移 Docker 数据存储目录
前言Docker 镜像、容器和卷越来越多时,如果 /var/lib/docker 所在分区规划不足,就容易出现磁盘空间不足。更标准的方式是通过 /etc/docker/daemon.json 配置 data-root,本文记录另一种使用符号链接迁移数据目录的方案。 为什么使用符号链接?创建符号链接的好处在于,可以不修改 Docker 配置文件 /etc/docker/daemon.json。符号链接能够将 Docker 默认查找的数据目录路径 /var/lib/docker 指向新的位置,从而让 Docker 找到迁移后的数据目录。 需要注意的是,迁移前必须停止 Docker 服务,并保留原目录备份。迁移后确认容器、镜像和卷都正常后,再清理旧目录。 迁移步骤按照以下步骤操作,即可成功迁移 Docker 数据目录: 停止 Docker 服务 首先,确保停止 Docker 服务,以避免在复制数据时出现文件被占用的情况。 1sudo systemctl stop docker 复制 Docker 数据目录 使用 cp 命令复制 /var/lib/docker 目录到新的位置...
编写与测试简单的Service和Client(Python)
01 导读C++ 代码必须通过编译生成可执行文件; Python 代码本身不需要编译成二进制,但自定义 srv/msg 仍需要通过 catkin 生成语言绑定; 开发的功能包都放在 catkin_ws 这样一个工作空间里; 新建的功能包取名为 service_example,实现两个整数求和为例,client 端节点向 server 端节点发送 a、b 的请求,server 端节点返回响应 sum=a+b 给 client 端节点; 服务编程流程 创建服务器 创建客户端 添加编译选项 运行可执行程序 02 功能包的创建在 catkin_ws/src/ 目录下新建功能包 service_example,并在创建时显式指明 rospy 和 message_generation 依赖。message_runtime 作为运行依赖在 package.xml 中声明。打开命令行终端,输入命令: 12345$ cd ~/catkin_ws/src# 创建功能包 service_example 时,显式地指明依赖 rospy 和消息生成相关包。#...




