自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 10.10算法题整理

主要是建立一个graph(unordered map)用来存放依赖关系(注意,是存放每个点作为前置点连接的后续任务),然后建立入度数组ingree,存放每个点的入度。如果一个点没有前置,说明它的入度为0。然后先把所有入度为0的数组入队列,也就是bfs。取出每个队首,找到它后续任务,让所有后续任务的入度--,如果该任务入度为0,就入队列。

2024-10-10 14:24:18 265

原创 代码模板记录

1. kruskal算法 求解 最小生成树。2. 最短路问题 djistra。

2024-10-08 23:56:55 205

原创 推荐、nlp、算法题等相关复习(0922-0929)

如果是回归任务,就可以借鉴决策树回归的原理(CART树,可以做分类和回归),它是根据分割把数据分成不同的子区域,(分裂条件是MSE最小),然后每个子区域(代表这个节点)计算子区域所有训练样本的平均值,作为这个叶子节点的输出。而模型预估出一个值z(z不是01之间的,是随便一个数),然后算出一个概率p,p=exp(z)/(1+exp(z)),用p拟合y,这样p越接近y,exp(z)就越接近播放时长。即首先我们先训练多个不同的模型,然后再以之前训练的各个模型的输出为输入来训练一个模型,以得到一个最终的输出。

2024-09-27 09:44:41 844

原创 算法题目复习(0909-0917)

思路就是dp[i] 是以i结尾的,前面任意选的子序列,dp[j]是以j结尾的子序列,要从j转移到i,就意味着nums[i]肯定大于nums[j], 那就找比i小的所有j里,dp[j]最大的进行转移,+1。每次选距离生成树最近的节点,将该点加入生成树,更新非生成树节点到生成树的距离。对所有边按权值从大到小排列,判断选中的边的两个端点是否在一个并查集内,如果不在,就加入到一个。初始化为每个点到第一个点的最小距离,然后迭代,它的重点在于选点,比较适合稠密图,复杂度是on平方。跟我想的差不多,用一个列表保存。

2024-09-17 14:00:27 461

原创 面试题复习(0902-0909)

如果排完序后的长度比k大,说明k在左边,就往左边回溯,如果比k小,就回溯右边,注意回溯右边的时候就不是找第k大了,而是k减去左边区间的长度。抑制复杂度的方法有:(1)树的最大深度(2)限制叶子结点的最少样本数量,有的特征缺失太多了就不放了(3)限制节点分裂时的最少样本数量(4)对训练样本采样,单个决策树学习时只使用。为啥要这两个结合呢,是因为决策树是if,else的,速度快,适合非线性关系,不需要对输入数据做标准化,特征工程少,,这是bagging的思想(5)随机森林的思想,学习单颗决策树时只使用。

2024-09-09 09:36:44 893

原创 0826-0901 各种面试笔试题算法题整理

classmethod 定义类方法,这样的方法可以在不创建类的实例的情况下直接调用。

2024-09-02 10:52:37 1110 2

原创 0818-0824面试题目和复习整理

根据面试问的问题整理一下。

2024-08-25 23:51:41 683

原创 最近算法岗笔试题整理

这个GIL锁相当于是线程运行的资格证,某个线程想要运行,首先要获得GIL锁,然后遇到IO或者超时的时候释放GIL锁,给其余的线程去竞争,竞争成功的线程获得GIL锁得到下一次运行的机会。我觉得应该是带attention的RNN,因为attention会通过输入的词语判断,而且根据图,一个词大多只与它周围窗口内几个词有关,说明是一个局部的特征(?迭代,第一次把数据分成n/2组,每组两个数,排序,第二次把数据分成四组,再排序,直到每个组只有一个数的时候。节点越不纯,基尼指数越大,熵越大,效果越差。

2024-08-22 13:42:42 1286

原创 AI/机器学习(计算机视觉/NLP)方向面试复习5

输入的是x的n-gram形式,输出的是类别。3、n-gram可以让模型学习到局部单词顺序的部分信息, 如果不考虑n-gram则便是取每个单词,这样无法考虑到词序所包含的信息,即也可理解为上下文信息,因此通过n-gram的方式关联相邻的几个词,这样会。:根据上面的字符级别的n-gram来说,即是这个单词出现的次数很少,但是组成单词的字符和其他单词有共享的部分,因此这一点可以优化生成的单词向量。dp的维度,长为n,包含0到n-1个物品,宽为weight+1,包含0到weight个重量选择。这里要构造二维数组。

2024-08-15 21:46:30 965

原创 AI/机器学习(计算机视觉/NLP)方向面试复习4

是结构化的语义知识库,用于迅速描述物理世界中的概念及其相互关系。它的基本单位是(实体-关系-实体)就是点-线-点。存储类型有结构化和非结构化的数据。结构化数据就是关系数据库,一张表格,关系很清楚,非结构化就是图片、音频、文本等。存储非结构化数据的方式:一个是通过RDF(资源描述框架)这样的规范存储格式来进行存储,还有一种方法,就是使用图数据库来进行存储,常用的有Neo4j等。RDF应该有点像我写过的xml文件,用来放网站数据库的知识图谱的技术框架如下。信息抽取知识融合知识加工。

2024-08-06 15:07:29 584

原创 AI/机器学习(计算机视觉/NLP)方向面试复习3

这种方法能够显著减少模型的参数数量。

2024-07-26 11:28:25 1101 1

原创 各类型算法题整理(python、c++版)hot100

双指针问题,我想了好久,这题边界好容易出错。双指针要注意的是,左右指针相等的时候应该意味着当前子数组的长度为1.所以初始化最好置左指针为0,右指针为-1,每次先尝试右指针+1.(2)python不能直接results.append(path),因为path在回溯过程中一直在变化!剪枝优化方式:因为path小于k的根本就不会当成结果,所以n-begin

2024-07-24 20:29:14 406

原创 AI/机器学习(计算机视觉/NLP)方向面试复习2

c++注意:可以直接用str.find(ch)找到string里对应char的索引。另外,substr的参数为:(起始位置,长度)1. 构造函数是__init__(), 继承类是写在了class后面的括号里。6. x输入的维度是:batch_size, seq_length, embed_size 批次大小,序列长度,单词长度。2. __init__和forward都要写self,在__init__里面定义公式。3. QKV都是输入的x根据线性模型得到的。3. 根据二叉树的后序和中序,写前序排列。

2024-07-21 11:05:42 355

原创 基于深度学习的图像检索

分成三个部分:特征提取、索引、评估。主要基于两个部分:图片特征的表达能力 近似最近邻的查找图像检索pipeline:1. 提取query图像特征2. 提取gallery图像特征3. 特征相似度匹配4. 输出k张最相似的gallery图像数据集分析:每个类别的文件分布,分辨率分布。分辨率杂乱:照片的像素都不同分成三个部分:train 训练图片gallery 目标图片query 查找的图片...

2024-07-19 14:03:35 246 2

原创 DP题型复习总结:状态压缩DP

1.

2024-07-19 14:03:05 204

原创 其他图论算法和模板

acwing3220 求强连通分量给一个有向图,求其中两个点是不是强连通的。使用tarjan算法模板来求。#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 10010, M = 100010;int n, m;int h[N], e[M], ne[M], idx;int dfn[N], low[N];int s

2024-07-19 14:02:25 234

原创 vtk+qt配置2 无法解析的外部符号 __declspec(

发现是头文件写多了,把不用的头文件删掉就好了哈哈哈。

2024-07-19 14:02:02 162

原创 acwing3300食材运输

首先是30分的做法:对一个树,找遍历其中几个点的最短路:回到起点的做法:dfs遍历一遍,就是把每个边走了两倍。不回到起点的做法:会停在某个点上。ans = 总长度 - 根到最后一个点的长度(停在距离根节点最远的点上,ans最小)这是一种贪心的思想,预处理出所有的起点进行遍历得到的最短路。接着就是从k个食材中选m个这个是非常经典的重复覆盖问题。...

2024-07-19 14:01:38 240 1

原创 AI/机器学习(计算机视觉/NLP)方向面试复习1

所有节点的度要么为0,要么为2,且所有的叶子节点都在最后一层。重点在于创建一个TreeNode类,并且写出构造函数,调用构造函数创建节点。二分法求解。递归。图像生成模型。图像生成模型比较了解的两种是GAN和diffusion。GAN的基本流程:生成器可以用任何输出二维图片的网络,例如DNN或者CNN。Discriminator一般输入为图片,输出为real或者fake。

2024-07-17 15:40:15 922

原创 用tensorRT加速pytorch推理

使用的模型是比较简单的Unet,没有用pytorch那些复杂的函数。

2024-05-17 16:34:35 165 1

原创 Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found version “1.2.11“) windows解决方法

下载后,先用cmake编译,生成到build里。应该是openexr需要这个库。

2024-02-21 16:38:08 903 1

原创 c++读取EXR数据

在配置完OpenEXR库后,就能读取、写入EXR数据。

2024-02-20 09:16:02 570 2

原创 c++安装OpenEXR库(windows下)

注意windows要装git,不然configure会失败,git直接装官网的安装包就行了。然后发现Imf那个命名空间报错,发现是没有lib文件,再把所有lib文件也加到附加依赖项里。再发现运行过程中报错,说没有dll,再添加dll到project/x64/Debug/里。解压openexr后,创建build文件夹并将cmake里设置一下并生成。然后打开visual studio,用openexr官网的例子进行编译。编译的时候先发现include头文件报错,把头文件添加到附加包含目录里面。

2023-09-26 18:25:14 651 1

原创 OpenGL1. 配置环境与窗口创建

OpenGL1. 配置环境与窗口创建

2023-03-10 22:47:20 286

原创 vtk+itk+qt的配置

vtk+itk+qt配置和bug解决

2022-12-10 20:26:54 466

原创 影像计算课上对于一些深度学习的思考

调了很多模型,包括目标检测的yolo,分类的cnn,efficientnet,这次做分割的unet和resunet。但是在调模型的时候,我发现很难真正学到什么经验,我只是在改输入输出路径,调bug,对输出的东西处理。最难的应该是调unet,花了很多时间在统一数据集的格式和输出的东西上,因为我不太理解gif,png,jpg存储的区别,cv2和Image读取图片的区别,位深1,8(灰度图和彩色图的区别),二值图(true,false)和普通灰度图(0-255)的区别,导致总是报错。

2022-12-03 15:07:46 797

原创 python实现随机梯度下降

梯度下降和随机梯度下降的区别是,梯度下降在每次更新时,使用所有样本来计算,这样的实现在大型数据集上运行会非常慢,会被认为是浪费资源。SGD是训练深度神经网络时最重要的算法。mini-batch随机梯度下降是采样小批量数据来更新。虽然不是每次迭代得到的损失函数都向着全局最优方向,但是大的整体的方向是向全局最优解的。python实现随机梯度下降如下,使用常规的线性模型来测试效果。随机梯度下降指的是用样本中的一个例子来代替所有的样本,...

2022-07-23 17:38:47 3271

原创 Deep learning for Computer Vision with Python笔记(5)构建线性分类器并优化参数

整个线性分类器的过程可以用下图来表示。图像矩阵×权重矩阵+b,得到最终的y是一个n维向量,n是标签的个数。w的大小是由图像大小决定的。线性分类器的好处有1.一旦数据和标签定下来,我们只需要考虑w和b对于模型的影响。2.预测的效率非常高。............

2022-07-18 10:49:01 743

原创 Deep learning for Computer Vision with Python笔记(4)构建KNN图像分类器

由于每个环境的版本都在更新,所以他们的兼容性非常复杂,尽管它们的更新会带来新的优化和训练神经网络的能力。用到的库介绍1.同时支持TensorFlow和Theano2.分布式多机器学习的深度学习库,在海量数据集上训练深度神经网络架构时,跨多个GPU、多设备并行训练的能力是非常重要的。3.主要目的是实时图像处理,将图像表示为Numpy数组。它使用c++写的,但是支持python的接口。4.和用于图像处理的算法,实现创建训练测试和验证的功能。...............

2022-07-15 17:57:23 767

原创 Deep learning for Computer Vision with Python笔记(3)图像数据集介绍

在开始训练之前,我们要知道如何去创建一个数据集,并且构建图像分类器。我们首先将介绍书中将会用到的数据集。这是一个手写数据集,目的是为了识别手写的0~9。它通常用来作为基准数据库,用来对机器学习算法的表现进行排序。 它包含60000个训练数据和10000个测试数据,特征维度是784维,包含28✖️28像素的图片。这些像素是0~255范围内的整数(只有单通道的像素)。 这是一个包含猫,狗和熊猫的三类动物数据集,分别每个类包含1000张图片。这个数据集将在第十章使用卷积神经网络时进行使用。它常用于作为Kaggle

2022-07-12 09:28:52 1544

原创 Deep learning for Computer Vision with Python 笔记(2)图像基础

像素是图像的构成元素,每个图片都是由一系列像素组成。一个图片的像素数量=长像素数*宽像素数。大多数像素可以分成两类:灰通道的像素是一个标量,它的取值在0~255之间,其中0表示黑色,255表示白色。彩色通道的像素是一个三元组,三元组中的值表示红、绿、蓝颜色的数量,它们的范围都在0~255之间。我们通常用8位int表示0~255之间的数。但是,通常情况下,我们并不会将图片的像素数据直接放入神经网络中进行训练,其中都要进行一个数据转化的过程,即使用一些加载方式(例如OpenCV)将像素int数据转成float类

2022-07-08 16:25:57 1598

原创 Deep learning for Computer Vision with Python(1)从零开始入门计算机视觉

计算机视觉与深度学习阅读笔记

2022-07-07 14:56:05 1171

原创 如何配置一个极简舒适的终端环境:oh-my-zsh 和iterms配置

研究了几天对于终端的配置,使得编写代码更方便并且美观极简。为了使用方便,可以一边看视频一边写代码,我使用iterms代替ac terminal作为工具。这些配置同样可以在ac terminal上使用。

2022-01-26 23:27:43 819

原创 BFS题型总结

1. 走迷宫:给01矩阵,求从左上角走到右下角至少要多少步。“至少”:最短路问题,用BFS每次遍历一个层,当走到的时候输出就行。这里需要设置st数组来标志每个位子是否被走过?不需要,用一个dist数组来保存走的每一层就行啦。注意:这一段不能直接令dist[x][y] = min(dist[x][y], dist[t.first][t.second]+1), 否则会陷入死循环,只有更新后的点才能加入队列。 if(dist[x][y] > dist[t.first.

2021-09-05 15:33:24 225

原创 DFS题目总结(基础题)

1. DFS输出1-n的全排列(acwing 842)思路:输出排列方法,用DFS递归每一个搜索过程,用st记录每个数字有没有被访问。注意1.path不能用vector表示dfs函数中,参数x表示选中的第几个数,不用return来回溯,如果用return回溯,就相当于图的遍历。如果选中大于n个数,函数会直接结束。还要用一个path数组,记录路径。这里路径是选中的数,必须选到结尾后再一起输出。​# include<bits/stdc++.h>using namespac.

2021-09-05 11:03:01 324

原创 信息安全期末复习

信息安全1. 信息安全的基本概念是什么?保护计算机系统的正常运行,具体表现为三个基本属性:保密性、完整性、可用性。2. 信息安全的基本服务有哪些?物理安全、网络安全、操作系统安全、软件安全、数据安全3. 密码体制模型的概念是什么?由明文空间、密文空间、密钥空间、加密算法和解密算法构成的密码体制。(五大要素)4. 密码体制原则是?1. 扩散和混淆 是设计密码体制的两种基本方法。5. 密码体制的分类是?1. 可分成对称密码体制和非对称密码体制。6. 密码体制的安全性分类及典型攻击有?(简答

2020-11-29 21:17:06 672

原创 多媒体技术复习整理

多媒体技术复习常见文件:wav文件是波形文件,MPEG文件是视频文件,MIDI是电子音乐文件,记录控制命令信息媒体的类型:感知媒体,显示媒体,表示媒体,传输媒体,存储媒体多媒体的特征有很多(多维化、实时性、交互性、数字化、集成性),本质特征:交互性。多媒体的技术很多(数据压缩技术、基于内容的多媒体处理技术、专用芯片技数据存储与传输技术),关键技术:压缩编码技术声卡:单声道,采样频率,量化位数,采样时间,算采集到的数据(计算)(PCM的频率是8000)奈奎斯特抽样定理:要想

2020-11-29 21:14:51 356

原创 实训day5 yolov3的完成

yolov3的完成我使用了这个博客的教程:https://blog.paperspace.com/how-to-implement-a-yolo-v3-object-detector-from-scratch-in-pytorch-part-5/ 进行了yolov3的框架的搭建,以下是几个要点:detect.py中,的重要标志是images(用于指定输入图像或图像目录),det(将检测结果保存到的目录),reso(输入图像的分辨率,可用于速度-精度的折衷),cfg(替代配置文件)和weightfile

2020-07-06 19:29:49 233 2

原创 实训day4 yolo1代码运行

yolo1代码运行今天主要是在pycharm上运行pytorch的yolo1训练和测试代码。主要遇到的问题:1.训练 文件路径的修改,开始没有找到tmp_file文件,就在该文件夹下创建了这个txt文件,但是发现: if isinstance(list_file, list): # Cat multiple list files together. # This is especially useful for voc07/voc12 combinat

2020-07-05 19:55:55 1168 5

原创 实训day3 环境配置

1. 对卷积神经网络的学习CNN中的层:convolution层,relu层,pooling层。各层传递的数据是有形状的数据。不同于全连接层,卷积层可以保持数据的形状不变。其中CNN的输入输出数据为特征图。卷积运算会对输入数据应用滤波器。滤波器相当于权重。**填充:**向输入数据的周围填入固定的数据。“幅度为1的填充”指的是用幅度为1的像素0填充周围。填充是为了调整输出的大小。**步幅:**应用滤波器的位置间隔。yolov4:cutmix和mosaic...

2020-07-04 22:07:19 176

空空如也

空空如也

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

TA关注的人

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