自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我有两颗糖

一只编程小白的小窝

  • 博客(177)
  • 资源 (2)
  • 收藏
  • 关注

原创 Pytorch 读取目录中的数据

Pytorch 读取目录中的数据

2022-11-14 10:24:33 514 1

原创 sublime 配置 C++ 环境

sublime 配置 C++

2022-09-29 22:24:58 1901

原创 Pathlib 的使用的简单介绍

Pathlib

2022-09-28 14:33:26 420

原创 使用 PyTorch 读取自己的数据集

使用 Pytorch 读取自己的数据集

2022-09-28 11:07:37 3727 2

原创 PyTorch 学习笔记 5 —— 实现手写数字识别 LeNet-5

使用 PyTorch 构建 LetNet,训练模型并预测自己的图片

2022-08-20 00:11:12 5289 11

原创 VS Code 基础配置与美化

VS Code 美化

2022-07-25 11:50:42 428

原创 论文神器 VS Code + LaTex + LaTex Workshop

用 VS Code 写 LaTex

2022-07-25 11:49:57 3625

原创 PyTorch 学习笔记 4 —— 自动计算梯度下降 AUTOGRAD

PyTorch 学习记录,有关 tensors 的梯度

2022-07-11 18:01:29 588

原创 PyTorch 学习笔记 3 —— DATASETS & DATALOADERS & TRANSFORMS

Pytorch 入门学习,有关数据集

2022-07-11 12:06:38 275

原创 测量电脑电池容量

win11 查看电脑电池寿命

2022-07-04 13:36:06 372

原创 PyTorch 学习笔记 2 —— About Tensor

PyTorch 学习记录 —— Tensors

2022-06-28 09:38:08 216

原创 PyTorch 学习笔记

PyTorch 学习笔记

2022-06-27 17:45:16 427

原创 PyTorch 学习笔记 1 —— Quick Start

PyTorch 深度学习框架的学习笔记

2022-06-27 17:43:10 666

原创 基于 YOLOV5 的 SAR 图像舰船检测

基于 YOLOv5 实现的 SAR 图像舰船检测(全流程)

2022-06-22 14:50:10 5664 10

原创 【YOLOv5】环境搭建:Win11 + mx450

win11系统下,最新版 yolov5 的环境配置(详细)

2022-06-22 13:41:54 2665

原创 C++ sort排序

C++ sort 函数

2022-06-11 15:59:12 129

原创 雷达成像 Matlab 仿真 4 —— 距离分辨率分析

为了观察 带宽、加窗 对距离分辨率的影响,下面使用可视化的方式对比在不同带宽、距离、加窗与不加窗条件下,两个不同距离的两个点目标的可分辨程度。设置参数范围带宽 [30e6, 40e6, 60e6, 80e6]距离 [0 3 4 5 6 7 8 9]clear; clc;set(0,'defaultfigurecolor', 'w');%% default parametersT = 10e-6; % pulse durationRmin = 10000;

2022-05-23 00:22:21 1625

原创 雷达成像 Matlab 仿真 3 —— 多目标检测

文章目录1. 多目标信号的回波1.1 参数设置1.2 生成回波信号2. 脉冲压缩2.1 未加窗2.2 加 hann 窗3. 绘制图像脉冲压缩能够将信号压缩变窄,使得在时域上有重叠的两个信号能够分离,使用脉冲压缩和加窗抑制旁瓣,能够实现多目标的检测。1. 多目标信号的回波使用 matlab 时,能用矩阵运算就尽量不用 for 循环,因为矩阵运算能够加速运算。当雷达探测范围内在某方向上有多个目标时,看可以用矩阵的每一行存储每一个目标的回波信号,所有行的回波信号叠加得到实际接收到的回波。接下来写一个检

2022-05-22 23:58:50 4473 3

原创 雷达成像 Matlab 仿真 2 —— 脉冲压缩与加窗

1. 脉冲压缩1.1 原理脉冲压缩的实质是匹配滤波,匹配滤波器的系统函数 H(jω)H(j\omega)H(jω) 与输入信号的频谱特性 $S_{i}(j\omega) $ 的关系为:H(jω)=k×Si∗(jω)e−jωt0H(j\omega) = k\times S_{i}^{*}(j \omega) e^{-j \omega t_0}H(jω)=k×Si∗​(jω)e−jωt0​幅频特性与输入信号一致∣H(jω)∣=∣Si∗(jω)∣|H(j\omega)| = |S_{i}^{*}(

2022-05-22 17:08:40 7833 3

原创 雷达成像 Matlab 仿真 1 —— LFM信号及其频谱

LFM 信号的仿真及其频谱

2022-05-01 00:03:31 6506 9

原创 Matlab 信号处理

最近需要用到 Matlab 仿真雷达成像 😀对于一些函数的细节还是有挺多地方需要注意的 ☁️首先,有问题可以之间参考 官方文档1. FFT需要理解以下几个问题:Q:为什么需要使用 fftshiftQ:fft 返回的序列的每个分量分别代表什么频率(数字频率和物理频率的联系)笔记贴图(不想打字) ▪️ ▫️问题答案(个人理解)A:卷积具有周期性,平移后能够更直观的显示频谱A:序列长度为 NNN,fft 输出序列长度也是 NNN,则 fft 的第 k 个分量对应的数字频率为 2π

2022-04-30 23:43:12 1331 2

原创 Python 异常处理

1. try-except-finallyPython 常用 try ... except...finally 处理异常:try: funct()except Exception as e: handle_error()finally: continue_process()把可能出错的代码放入 try,一旦出现异常就停止执行,转到 except ,异常处理的步骤放在 except 内,finally 中的代码在处理完异常后会继续执行⛅举个例子:try: a = 1 b

2022-04-10 23:13:37 580 1

原创 在 Linux 配置 Python3 的环境

1. 安装 sublime直接参考官网用命令安装 https://www.sublimetext.com/2. 安装 Python 和 pip2.1 安装 Python进入到当前用户的 Downloads 目录:su yin # 切换用户cdcd Downloads下载一个版本的源文件,注意根据需求修改版本号:wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz解压并移动到 /usr/local 目录下,命名为

2021-12-04 12:23:33 657

原创 Python 制作动态图

1. pyplot 动态效果如果想得到动态绘制效果,可以使用 plt.pause(k) 每绘制一次就暂停 kms 实现动态效果:plt.figure()for i in range(N): # 放绘图代码 draw plt.pause(0.2) # delayplt.show()比如下面的感知机:2. 将绘图结果导出为 GIF有时候我们并不满足于此,我们可能想得到 gif 动态图,一种办法是:先把每一次绘制结果保存再把所有结果连起来得到 gif2.1 保存每一步的结果首

2021-10-24 19:25:44 8241 2

原创 自动生成 nemo 鱼的 mask

1. 问题前段时间正在写一个课程作业,当时遇到一个问题,如何将下面这张图里的鱼抠出来:如果要求不能使用PS软件抠图,有其它办法吗?于是脑子里出现了一些奇奇怪怪的想法:2. 方案方案一:用 canny 边缘检测一下,在通过得到的边缘图像做膨胀腐蚀,最后选择区域,再膨胀腐蚀得到鱼的 shapeemmm 理论上可以,但效果可能不太行方案二:查看图片的 RGB 颜色空间分布,选择合适的颜色区域作为 mask:要不先看看 RGB 空间中的颜色分布吧:import cv2 as cvimpo

2021-10-24 18:46:06 186

原创 机器学习笔记 5 —— Logistic Regression

1. Logistic Regression由于买的 iPad 到了,于是开始用 good notes 写笔记了:Logistic Regression & PerceptronLogistic 回归模型的定义最大似然估计估计模型参数总结2. Logistic 回归的 Python 实现下面使用梯度迭代求模型的参数,原理如下:...

2021-08-07 19:34:32 1142

原创 机器学习笔记 4 —— Decision Trees

文章目录1. 理论基础1.1 决策树1.2 特征选择1.3 决策树的生成1.4 剪枝2.1. 理论基础1.1 决策树分类决策树模型是表示基于特征对实例进行分类的树形结构。决策树可以转换成一个if-then规则的集合,也可以看作是定义在特征空间划分上的类的条件概率分布。决策树学习旨在构建一个与训练数据拟合很好,并且复杂度小的决策树。因为从可能的决策树中直接选取最优决策树是NP完全问题。现实中采用启发式方法学习次优的决策树。决策树学习算法包括3部分:特征选择、树的生成和树的剪枝。常用的算法有ID3、C

2021-07-21 23:29:13 381 2

原创 Python 获取二维数组的某一列

由于习惯了 C++/Matlab 使用连续的 2 个[] 获取元素当需要选择矩阵的一列时,容易写作:a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]print(a[:][-1]) # [7, 8, 9]结果不对,因为上面的写法等价于:b = a[:]c = b[-1]a[:][-1] = a[-1] 方括号的运算顺序先计算最近的,再计算远的,因此得不到一列,而只能得到最后一行numpy为了获取一列,可以使用 numpy:import numpy as np

2021-07-21 19:54:59 26809 5

原创 机器学习笔记 3 ——Naive Bayes

1. naive Bayes概率估计朴素贝叶斯法是典型的生成学习方法,生成方法由训练数据学习联合概率分布 P(X,Y)P(X,Y)P(X,Y),然后求得后验概率分布 P(Y∣X)P(Y|X)P(Y∣X)。具体来说,利用训练数据学习条件概率 P(X∣Y)P(X|Y)P(X∣Y) 和 先验概率 P(Y)P(Y)P(Y),得到联合概率分布:P(X,Y)=P(Y)P(X∣Y)P(X,Y)=P(Y)P(X|Y)P(X,Y)=P(Y)P(X∣Y)概率估计方法可以是极大似然估计或贝叶斯估计,贝叶斯估计 是在 极大

2021-07-13 21:54:51 306 3

原创 机器学习笔记 2 —— K 近邻法与 kd 树

文章目录1. 理论部分1.1 K近邻法1.2 距离度量2. k 近邻法的 Python 实现2.1 数据集的预处理2.2 模型构建2.3 测试模型2.4 scikit-learn3. kd 树3.1 构造平衡kd树算法3.2 kd 树的 Python 实现1. 理论部分1.1 K近邻法1.kkk 近邻法是基本且简单的分类与回归方法。kkk 近邻法的基本做法是:对给定的训练实例点和输入实例点,首先确定输入实例点的 kkk 个最近邻训练实例点,然后利用这 kkk 个训练实例点的类的多数来预测输入实例点的

2021-07-10 12:14:50 286

原创 机器学习笔记 1 —— Perceptron

1. 感知机模型感知机是根据输入实例的特征向量xxx对其进行二类分类的线性分类模型:f(x)=sign⁡(w⋅x+b)f(x)=\operatorname{sign}(w \cdot x+b)f(x)=sign(w⋅x+b)感知机模型对应于输入空间(特征空间)中的分离超平面w⋅x+b=0w \cdot x+b=0w⋅x+b=0策略感知机学习的策略是极小化损失函数:min⁡w,bL(w,b)=−∑xi∈Myi(w⋅xi+b)\min _{w, b} L(w, b)=-\sum_{x_{i

2021-07-08 00:23:38 397 2

原创 Python Pandas & sklearn 库的使用

1. 创建数据表pandas 定义了DataFrame 数据表对象,初始化 DataFram 的方法为:pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)其中,data 为数据表对数据,index 为行标,columns 为列名,都为 list 类型。如创建一个学生成绩表:import pandas as pdimport numpy as npscores = np.random.ra

2021-07-07 18:36:45 738

原创 图的遍历算法 —— BFS 和 DFS 的 Python 实现

BFS 和 DFS 是遍历图节点常用的算法考虑下面的图,不考虑边的权重:可以用 字典 来存储,key 为顶点,value 为相邻顶点的列表(如果考虑边的权值,则 value 为包含了边权重的字典):G = { 'A': ['B', 'C', 'G'], 'B': ['A', 'D', 'G', 'E'], 'C': ['A'], 'D': ['B', 'C', 'E'], 'E': ['B', 'D', 'F'], 'F': ['E'], 'G': ['A', 'B']}1.

2021-07-06 22:26:55 1818 4

原创 Python 数据结构 —— 图

1. 图的存储方式1.1 图的存储数据结构图可以用 邻接矩阵 和 邻接表 (Adjacency List)来表示,当边数不多的时候,使用邻接表存储效率更高如存储下面的图:对应的邻接表为:1.2 字典实现邻接表采用字典实现邻接表很方便:2 顶点 Vertex每一个顶点中存储了 顶点信息 + 相邻顶点信息,具有 addNeighbor(), getId(), getWeright() 等方法:class Vertex: def __init__(self, id): self.i

2021-07-06 21:43:02 3080 2

原创 Python数据结构 —— 二叉树

1. Node二叉树是由若干节点构成的树,首先定义节点类在 DataStrctures/BinNode.py 下定义 BinNode(注意 DataStructures 中要有 __init__.py)class BinNode: def __init__(self, data, leftChild=None, rightChild=None): self.data = data self.leftChild = leftChild self.rightChild = rightChi

2021-07-06 13:57:19 1183

原创 排序算法:冒泡排序、选择排序和快速排序 —— Python 实现

1. 冒泡排序Python 实现:import timeimport randomdef bubbleSort(alist): for i in range(len(alist)): for j in range(len(alist)-1, i, -1): if alist[j] < alist[j-1]: temp = alist[j] alist[j] = alist[j-1] alist[j-1] = tempa = [random.rando

2021-07-05 17:46:38 359 1

原创 递归与动态规划 —— Python 实现

1. 递归1.1 递归三要素递归 (recursion) 通过自身调用来降低问题的复杂性,利用递归解决问题首先需要确定 3 个子问题:基本问题:最简单的子问题,或称为初始状态状态转移方程:如何从复杂问题向更简单的问题过渡目标问题:需要利用状态转移方程从基本问题到复杂问题1.2 最小钱币数问题最小钱币数是一个找零问题,比如目前有若干 [1, 5, 10] 三种硬币,需要找零 37,则在使用最少钱币的情况下需要 10, 10, 10, 5, 1, 1 共 6 枚硬币使用递归解决该问题:

2021-07-05 13:05:21 416 2

原创 Python 数据结构 —— 链表 LinkList 的实现

1. Node 节点链表的每一个节点都是一个对象,存储了当前节点的数据和下一节点的位置信息(data, next),具有以下方法:Node(), setData, getData, setNext, getNextclass Node: def __init__(self, val): self.data = val self.next = None def getData(self): return self.data def getNext(self): return

2021-07-05 01:35:57 681

原创 Pythpn 数据结构 —— queue 和 deque

1. queue队列是一个先进先出 FIFO 的数据结构,有以下方法:q.enque() # 入队列q.deque() # 出队列q.size()q.isEmpty()在 DataStructures 目录下创建 Queue.py 文件,使用 list 构建 queue:class Queue: def __init__(self): self.items = [] def enqueue(self, item): self.items.insert(0, item) d

2021-07-05 00:39:23 495

原创 Python 数据结构 —— Stack

1. listPython 内置的 list 类对象的使用很灵活,可以方便地访问修改列表元素:methoddescriptionL.append(x)在 L 尾部添加元素 xL.pop(i)删除位置 i 处的元素并返回,相当于 del L[i],i 默认为 i=len(L)-1L.insert(i, x)在位置 i 处插入元素 xL.remove(x)删除第一个值为 x 的元素,不存在则报错L.count(x)返回元素 x 出现的次数L.sor

2021-07-04 15:17:26 2830 3

SublimeREPL.zip

sublime repl

2021-03-20

JavaScript 学习笔记

JavaScript 学习笔记

2021-01-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除