Hello SQL
Hello SQL本博客主要参考自廖雪峰的官方网站,非常感谢廖老师的分享! 一、前言1. 数据与数据库简介一个程序总是由数据和逻辑组成的。如何和数据交互,高效可靠的交互,是一门非常重要的学问。其衍生出了数据库系统这一重要的计算机分支。 数据库软件的历史其实非常悠久,早在上世纪60年代就已经出现了。随着计算机技术的发展,数据库系统也经历了多次变革,从最初的层次模型和网状模型,到最常用的关系模型,再到新兴的面向对象模型和NoSQL数据库。 发展至今,用的最广泛的数据库系统仍是关系型数据库。其把数据看作是一个二维表格,任何数据都可以通过行号+列号来唯一确定。相比于另外两个模型,关系模型更符合人类的思维习惯,更容易理解和使用。 2. 关系型数据库关系型数据库由多张“表(Table)”组成。每张表: 像 Excel 表格一样 行(Row) 表示一条记录 列(Column) 表示属性 表与表之间通过 关系(外键) 连接 下面我们通过一个具体的例子(学生选课系统)来说明关系型数据库的结构和概念。 1️⃣ 学生表(Student) student_id name ...
ROS多车协同
本文介绍的系统是ROS1架构下的多无人车协同。和ROS2相比,会有大量的不同。 我们要实现的任务很简单,多辆无人车同时运行时变直线运动。 系统架构采取单主控节点的分布式架构,指定其中一台小车作为“主”(Master),运行核心的roscore程序。其他所有小车(“从”)都连接到这个主节点,从而形成一个统一的ROS网络。这样,网络中的任何一个节点都可以与其他节点进行通信。 实现步骤1. 网络配置首先,确保所有小车都连接到同一个局域网(LAN),小车之间能够互相ping通。 12ifconfig # 查看当前IP地址ping <other_car_ip> # 测试与其他小车的连通性 2. 设置主从机主控机上打开 ~/.bashrc 文件,在文件末尾添加以下两行: 12export ROS_MASTER_URI=http://<master_ip>:11311export ROS_IP=X.X.X.X 将 <master_ip> 替换为主控机的实际IP地址,X.X.X.X 替换为当前小车的IP地址。保存并关闭文件,然后运行: 1source...
萌新初探VPS-IP质量
本文主要记录基础的VPS知识,其中非常多内容参考(抄袭)自猫猫的博客,非常感谢猫猫的分享。 IP质量什么是IP质量?“ip质量其实就是指用户使用这个ip在访问网站时受到风控的强度。”具体表现就是,我们在一些特殊活动的时候网站会根据IP质量对我们做出不同的处理。因为网站方为了防止恶意注册、刷票、刷单等行为,会对访问网站的IP进行评估。好的用户那就更少的限制,差的用户就会被频繁要求验证,甚至直接封禁。 识别一个用户正常与否,网站方重要的依旧就是IP地址。通过这串IP地址,网站能够知道地理位置/ISP(因特网服务提供商,例如中国电信、中国联通、AT&T、HKT)和网络类型/IP类型和质量/行为模式等信息。 例如,国外的大模型网页会对中国IP进行限制。而你如果使用差的梯子,可能会出现模型降智。再比如,谷歌最近对账号注册登录要求缩紧,差IP的梯子会要求认证手机号。 那么网站方是怎么评估IP质量的呢?除了能够直接知道的地理位置/ISP等信息之外,网站方还会通过IP数据库的方式来评估IP质量。 行业黑话原生/广播ip原生ip就是指其...
深度学习环境安装
本文主要记录一下深度学习环境的安装过程。包括CUDA、cuDNN、PyTorch等内容。 0. 前置准备检查显卡型号,确认支持CUDA。可以使用以下命令查看显卡型号: 1nvida-smi 该指令会显示显卡驱动支持的最大CUDA版本。 0.1 深度学习环境架构深度学习环境的架构大致如下所示: 123456789PyTorch ↑cuDNN / cuBLAS / NCCL (CUDA加速库) ↑CUDA Runtime / Driver API ↑NVIDIA Driver ↑GPU 硬件 1. CUDACUDA 是 NVIDIA 提供的 GPU 并行计算平台。它包括: 1234- CUDA Driver(随 NVIDIA 驱动)- CUDA Runtime(libcudart)- CUDA 编译器(nvcc)- 基础数学库(cuBLAS、cuFFT 等) 在使用过程中,PyTorch的调用过程是这样的: 12345PyTorch 调用 CUDA RuntimeCUDA Runtime 调用 GPU DriverDriver 把任务发给 GPU 执行 2. cuDN...
linux指令集
Linux 常用指令小本本简要总结一下linux下常用的指令以及参数的具体含义。 1. 压缩文件相关在 Linux 下下载软件或源码时,经常能看到各种各样的文件后缀,比如 .tar.gz、.zip、.xz 等。这些后缀分别代表什么?又该如何解压呢? 常见压缩文件后缀与解压方式 后缀名 说明 解压命令 .tar 仅打包,不压缩 tar -xvf file.tar .tar.gz / .tgz 打包并使用 gzip 压缩 tar -xzvf file.tar.gz .tar.bz2 打包并使用 bzip2 压缩 tar -xjvf file.tar.bz2 .tar.xz 打包并使用 xz 压缩 tar -xJvf file.tar.xz .zip 使用 zip 打包并压缩 unzip file.zip .rar 使用 WinRAR 打包并压缩 unrar x file.rar .7z 使用 7-Zip 打包并压缩 7z x file.7z 注: .rar 和 .7z 格式通常需要额外安装工具(如 unrar、p7zip)。 ...
Linux 服务笔记
本篇博客主要用来记录 Linux 下常用的一些服务的使用方法和配置技巧。包括OpenSSH的简单原理和使用、启动脚本编写等内容。 OpenSSH1. 基础使用123# 创建密钥ssh-keygen -t rsa -b 4096 -C "comment"ssh-keygen -t ed25519 -C "comment" -t 参数指定密钥类型,-b 参数指定密钥长度,-C 参数添加注释。其中 rsa 是一种传统的加密算法,ed25519 是一种较新的椭圆曲线加密算法,通常被认为更安全且性能更好。 12# 基础登录ssh user@hostname 2. configconfig 文件位于 ~/.ssh/config,可以简化 SSH 连接命令。可以将你简单的SSH翻译成一套带参数的命令。 1234Host github.com HostName github.com User git IdentityFile ~/.ssh/id_ed25519 行 含义 Host github.com 匹配条件(你 ss...
重装系统
记录一下重装系统的过程。实验室配备了一台新电脑,准备安装Ubuntu 24.04系统。 1. 安装系统1.1 准备工作系统镜像U盘制作。常用方法比如Rufus等工具制作启动U盘。多系统启动U盘也可以使用Ventoy等工具制作。 1.2 BIOS设置F2 F12等按键进入BIOS设置,设置U盘启动优先。关闭安全启动(Secure Boot)。我的主板是华硕的,进入BIOS后,安全启动的选项不是开关设置。而是应该把OS Type选项改为Other OS,Secure Boot Mode 修改为Custom,然后就可以关闭安全启动了。 1.3 安装Ubuntu 24.04保存并退出BIOS,之后就会进入U判U盘的启动流程,选择你要安装的系统,例如Ubuntu 24.04,之后按照提示进行安装即可。一般来说,我们当前安装最简单最基础的系统内容即可。 2. 基础软件准备2.0 换源如果后面出现网络问题,可以先把软件源换成国内源。具体内容可以见后文 3.0 换源 一节。 2.1 更新源以及基础软件12sudo apt update && sudo apt upgrade -y...
onnx
本文主要记录onnx的相关知识 onnx介绍开放神经网络交换 ONNX(Open Neural Network Exchange)是一套表示深度神经网络模型的开放格式,由微软和 Facebook 于 2017 推出。 通俗的说,onnx就是不同模型的中间桥梁。pytorch、tensorflow、mxnet等模型都可以转换为onnx模型,然后onnx模型可以转换为其他模型,例如TensorRT等。 从部署流程上认识onnx下面是一个常规的神经网络部署流程: 前期准备根据任务问题,我们选择解决的方案,分类、检测、分割等。然后选择合适的模型,例如yolov3、faster rcnn。 模型训练使用pytorch、tensorflow等框架训练模型,训练完成后,保存模型。例如训练YOLO模型,我们得到的结果是一个.pt文件 转换模型将训练好的模型转换为onnx模型,方便后续部署。onnx可以理解为封装成了一个包,输入输出都是tensor。 具体部署将onnx模型部署到具体的硬件上,例如NVIDIA的tensorrt、高通的SNPE等。 onnx具体部署下面我们以pytorch...
mmlab学习笔记
本文大致介绍mmlab的基本框架。 基本知识 config 文件(1)命名规则 1{algorithm name}_{model component names [component1]_[component2]_[...]}_{training settings}_{training dataset information}_{testing dataset information}.py algorithm name: 算法名称。例如:faster_rcnn model component names: 模型组件名称,包括backbone和neck等。例如 r50-caffe_fpn_gn-head 表示在算法中使用 caffe 版本的 ResNet50、FPN 和 使用了 Group Norm 的检测头。 training settings: 训练设置, batch 大小、数据增强、损失、参数调度方式和训练最大轮次/迭代。例如4xb4-mixup-giou...
一些学习思路
写在前面,该文目的性很强,主要针对毕业任务,而非钻研科研,不过融汇百家思想的精华总是好多。非常感谢B站上的资料,让自己收益匪浅。之前总觉得一片茫然,听了之后还算是有了一定的目标和方向。科研思路 我要做什么?这个问题一直困扰着我很久,总觉得这种方法会被淘汰,那种方法又有缺陷。自己的工作就缓慢推动。那么不妨从另一个角度思考。首先,我们是要做AI相关,甚至可以说就是MOT方面的。人工智能方法最最重要的东西就是数据,因此问题来了,你有什么数据?回答:没有自己的数据,只能用公开数据集。目前来说就是KITTI用的比较多了,Nusences还需要进一步学习,Waymo更是遥不可及。 公开数据集要做公开数据集,有利有弊。难度大,出文章难,但是一旦出文章大概率是好文章。 自己的数据集如果组内已经有数据集了,那么毕业论文就问题不大了。 搜集数据集,自己标注如果此时没有明确的研究方向,而且只想水毕业。可以这样做,找越偏越好的方向(检测,分割最水),圆一个好一点的理由。但是对于这一方向,我还有自己的一些看法。自己其实可以录一个数据集,而且有一定的价值:基于BEV的无人机追踪数据集。总结:当下自己要做...
