自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cxy666

不失情怀,不忘初心!

  • 博客(168)
  • 收藏
  • 关注

转载 RNN及LSTM理解

RNN及LSTM理解-> RNN梯度消失问题-> 为什么LSTM可以缓解梯度消失?

2021-08-14 11:06:04 236 1

原创 整数划分专题总结

1. 给定一个正整数 n ,将 n 划分成若干正整数之和的划分数。dp[0] = 1;for(i = 1;i <= n; ++i) { for(j = i;j <= n; ++j) { dp[j] = dp[j] + dp[j-i]; }}2. 给定一个正整数 n 和 k,将 n 划分为 k 个正整数之和的划分数。// 递归int f(int n,int k) { if(n==k||k=1) return 1; if(n<k)

2021-08-03 21:00:33 288

原创 拼多多2021笔试真题集——多多的求和计算(前缀和+转化)

[题目链接:多多的求和计算]\qquad多多路上从左到右有N棵树(编号1~N),其中第i个颗树有和谐值Ai。\qquad多多鸡认为,如果一段连续的树,它们的和谐值之和可以被M整除,那么这个区间整体看起来就是和谐的。\qquad现在多多鸡想请你帮忙计算一下,满足和谐条件的区间的数量。思路:\qquad分析题目,如果一段连续区间上的数的和 S 可以被 M 整除,那么等价于:S mod M = 0。我们可以通过枚举区间的右边界,统计所有的区间数。问题转换为对于每个数a[i],找出其左边所有满足条件的j,

2021-07-01 00:40:09 1672

原创 Multi-Head Attention

.>删除线格式

2021-06-27 11:02:14 445

原创 C++使用unique函数对数组去重

\qquad对于随机给定的一个数组,去除其中所包含的重复元素可以通过调用C++的库函数unique来实现。\qquad但有一点需要注意的是,unique仅是对相邻的重复元素进行去重,若要对随机给定的数组进行去重则需要先对数组进行排序,使得重复元素相邻,因此总的复杂度为O(N)O(N)O(N)。\qquad下面是一个例子:#include<iostream>#include<algorithm>using namespace std;int main(){ int n

2021-06-23 14:10:03 1780

原创 算法复习——模型评估与选择

1. 误差与过拟合错误率:假定mmm个样本中有aaa个样本分类错误,则错误率定义为E=a/mE=a/mE=a/m。精度:精度 =1−E=1−a/m=1-E=1-a/m=1−E=1−a/m。误差:– 训练误差(经验误差):在训练集上的误差。– 泛化误差:在新样本上的误差。过拟合:指学习器把训练样本本身的一些特点作为潜在样本都会具有的一般性质学习。欠拟合:指对训练样本的一般性质尚未学好。有多种因素可能会导致过拟合,最常见的情况是学习能力过于强大,学到了训练样本所包含的不太一般的特性。过拟合

2021-06-18 00:23:47 118

原创 剑指 Offer 60. n个骰子的点数(动态规划)

[剑指 Offer 60. n个骰子的点数]思路:\qquad题目其实不难,写这篇博客主要是记录下C++使用vector开多维数组。\qquad思路类似于走台阶,每次可以走1,2,3阶,问到每一级台阶有多少种走法。这道题目是丢n次骰子,问每种骰子点数和有多少种组合。求出每种点数和的所有组合数,然后除一下总数就是概率了。状态转移方程如下:dp[i][j]=∑k=16dp[i−1][j−k]dp[i][j]=\sum_{k=1}^6dp[i-1][j-k]dp[i][j]=k=1∑6​dp[i−1][j

2021-06-16 17:03:10 154

转载 Conditional Variational Autoencoders——条件式变换自编码机

找到了一篇将CVAE讲的很明白的文章,mark一下~转载自:[原文连接]英文原文:[原文连接]Goal of a Variational Autoencoder:\qquad一个 VAE(variational autoencoder)是一个产生式模型,意味着我们可以产生看起来像我们的训练数据的 samples。以 mnist 数据集为例,这些伪造的样本可以看做是手写字体的合成图像。我们的 VAE 将会提供我们一个空间,我们称之为 latent space (潜在空间),我们可以从这里采样出 p.

2021-06-11 15:19:59 1680 2

原创 Three.js 模型绕任意轴旋转

Three.js 中 Object3D 提供的成员函数只能让模型绕起点为(0,0,0)的轴旋转,但在实际应用过程中有时会需要模型绕任意轴做旋转。笔者查找了很多博客没有找到比较好的解决方案,最后通过直接对模型应用4x4旋转矩阵实现了这个需求(也是在这个过程中发现,Three.js 中在对三维对象应用矩阵变换时是右乘)。根据任意轴求解旋转矩阵可以参考这篇文章。 function rotateObjModel (rotateMatrix, rotate_obj) { // conso

2021-05-11 10:42:38 2635

原创 Three.js 单独读取指定mtl材质

Three.js无法通过js脚本单独读入某个材质,但是可以通过将其赋给一个简单的模型,读入模型后再从模型对象中取出材质,即可作为其他用途使用。function material_read(mtl_path, material_name) { var mtlLoader = new THREE.MTLLoader(); // 加载mtl文件 // Three.js不支持单独导入mtl生成材质,这里通过假装导入一个模型“tmp_obj_str”虚晃一枪, // 此时会读入你指定

2021-05-11 10:29:13 435

原创 Three.js在导入obj模型时自动赋予名字

在Three.js实现的Web项目中自动导入模型时需要根据文件名给导入的模型赋予名字,但由于THREE.OBJLoader().load()和你写的读入模型的for循环是异步进行的,因此难以实现,这里使用了一个讨巧的方式实现了这个需求。笔者使用的方法是从OBJLoader读取过程中的xml文件里找到文件导入的url,然后从url中分离出文件的名字,xml文件的具体内容可以打印xhr查看。这里需要注意的是不同浏览器的xml格式可能不太相同,需要做一定的修改,下面的代码里只考虑了火狐和谷歌的浏览器。fu.

2021-05-11 10:12:10 1125

原创 根据任意运动轴(给定起点、方向)和旋转角度求解旋转矩阵

最近做的一个小项目需要根据给定的一个任意运动轴(起点(x,y,z),方向(u,v,w))以及旋转角度theta,求解绕该轴的旋转矩阵。查了很多资料但是基本都没有给实现,所以这里总结一下推导以及实现。推导这部分内容有很多大佬已经进行过相关的推导,这里不做赘述。如果感兴趣,笔者推荐两个不错的博客:Glenn Murray’s Hom绕任意轴旋转代码实现代码主要参考以上两篇博客的推导以及大佬的Java实现。因为项目需求,只做了Javascript的实现,其他语言稍微改下语法也很好实现。1..

2021-05-11 09:58:23 1830

原创 obj文件读写以及模型缩放

# -*- coding:UTF-8 -*-# Used for processing and modifing obj files.# This code only processes geometry information and ignores materials.import osimport datetimeimport numpy as np class OBJ: def __init__(self, file_dir, file_name, material):

2021-04-29 10:38:08 1001

原创 POJ—Feel Good(前缀和+单调栈)

题目链接:Feel GoodDescriptionBill is developing a new mathematical theory for human emotions. His recent investigations are dedicated to studying how good or bad days influent people’s memories about some period of life.A new idea Bill has recently develope

2021-03-25 15:20:47 168

原创 美团 2021 届秋季校园招聘—偏爱字母(转化+动态规划)

题目链接:偏爱字母\qquad小美喜欢字母 E ,讨厌字母 F 。在小美生日时,小团送了小美一个仅包含字母 E 和 F 的字符串,小美想从中选出一个包含字母 E 数量与字母 F 数量之差最大的子串。\qquad子串:从字符串前面连续删去若干个字符,从后面连续删去若干个字符剩下的字符串(也可以一个都不删),例如 abcab 是 fabcab 的子串,而不是 abcad 的子串。我们将空串看作所有字符串的子串。思路:\qquad根据题意可以推出字母 E 对答案的贡献是正向的,多一个答案就加1;字母 F

2021-03-22 11:36:18 735

原创 美团 2021 届秋季校园招聘—小团的 AB 队(排序)

题目链接:小团的 AB 队小团要组织一只队伍参加 MT 杯竞赛,某媒体赛前要对各参赛队伍实力进行评估,已知这个比赛要求每一个参赛方组织一支由 x 个人组成的 A 队,和 y 个人组成的 B 队,这个媒体在评估时会把 A 队的人员的平均实力值和 B 队人员的平均实力值相加,从而得到一个参赛方的综合实力评估。小团可选的人手有限,只有 x+y 个人可以供他选择,但是显然不同的人员安排会有不同的综合实力评估,他希望他的综合实力评估尽可能高,请你帮助他完成分队思路:\qquad首先考虑最终的势力值是两队平均值

2021-03-22 11:23:50 341

原创 贝壳找房2021届校招算法卷3—世界杯(动态规划+概率)

[题目链接:世界杯]\qquad牛牛要参加一场程序猿世界杯,一共有2n2^n2n名选手参加比赛,选手们依次编号从111到2n2^n2n,比赛采用单淘汰制,即第一轮1,2),(3,4),⋯ ,(2n−1,2n)(1,2),(3,4),⋯ ,(2^n−1,2^n)(1,2),(3,4),⋯ ,(2n−1,2n)(进行比赛,第一轮的决胜者再与相连的选手进行比赛,每轮都会淘汰一半的选手,进行n之后能决出冠军。牛牛的编号为m,但是牛牛知道了各个选手与其他选手比赛时的胜率。牛牛想知道他能夺冠的概率是多少呢,牛牛给你各

2021-02-04 00:26:39 452 4

原创 贝壳找房2021届校招算法卷3—牛牛打气球(二分查找)

[题目链接:牛牛打气球 ]\qquad有n个气球,每个气球都有一个坚韧度,牛牛有一把全屏武器,可以使每一个气球的坚韧度都下降b(坚韧度不会为负数),特别的:每次释放武器的时候,牛牛可以选择一个气球,使得这个气球多承受a点伤害。牛牛想知道,最少释放几次武器,可以使得所有气球的坚韧度都变成0呢?思路:\qquad首先观察问题可以发现,只要武器释放次数足够多,可以很容易的达到目的。但从无穷大逐步减少,在小于某个值以后,有的气球的坚韧度不能够减到零。因此这个问题的解具有单调性,可以使用二分答案的方式来“猜”正

2021-02-03 22:53:44 542

原创 Unity3D 2020 鼠标控制相机视角 + 键盘控制相机位移

直接挂载在Camera对象上即可。using System.Collections;using System.Collections.Generic;using UnityEngine;public class CameraControl : MonoBehaviour{ public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 } pu.

2020-12-31 17:24:28 752

原创 Leetcode 685. 冗余连接 II(拓扑排序+并查集)

[题目链接]思路:\qquad根据题意,题目中的有向图为一棵树加上一条冗余边。一棵树的所有子节点入度均为1,根节点入度为0,因此可以分为以下两种情况:\qquad (1)图中存在入度为2的节点。因为根节点的入度为0,添加一条边,入度最多加1,因此入度为2的点一定是子节点,要删除的边一定是连向这个节点的边之一,根是入度为0的节点。此时考虑删掉每条连向该节点的边,对剩下的图从根节点拓扑排序,若没有环且能遍历到所有点,则枚举的边就是答案;\qquad(2)图中点的入度均为1,即从子节点向根节点连一条边。此

2020-09-19 13:23:16 142

原创 Python——自定义排序 sort() / list.sort()

Python 自带的 sort() 函数默认是从小到大进行排序的,与C++的排序函数类似,也可以通过自定义排序函数来指定排序的规则。下面以牛客的一道例题来讲解:这道题主要是对字符串数组进行排序,其中优先级:(1)字典序逆序;(2)空字符串排在最前;(3)若一个短字符串是另一个长字符串的前缀则短字符串排在前面。import functoolsdef mysort(x, y): if y.startswith(x): return -1 elif x.start.

2020-08-30 00:13:11 1850

原创 Python——字符串处理(持续更新)

1. 判断x是否为y的子串x = 'cde'y = 'abcdefg'if x in y: print('x is a substring of y.')else: print('x is not a substring of y.')# Result:# x is a substring of y.

2020-08-29 23:17:45 136

原创 Just Go with the Flow: Self-Supervised Scene Flow Estimation[CVPR2020 Oral]

[论文链接]\qquad现有的估计场景流的方法都需要有标注的场景流数据去使用监督的方法训练网络。本文作者提出了使用两个自监督损失函数训练(场景流估计)网络的方法,这两个损失函数分别基于最近邻和cycle consistency(不知道该怎么翻译。。。)。自监督的训练方法使得大量没有标注信息的自动驾驶数据集可以用于训练网络。使用本篇文章自监督方法训练的网络,表现与目前最好的使用监督方法学习的网络效果相当。如果使用自监督训练并在小规模标注数据上监督学习,可以得到超越当前最好方法的表现。\qquad假定估计.

2020-06-22 16:24:43 1134

原创 FlowNet3D - Learning Scene Flow in 3D Point Clouds[CVPR2019]

[论文链接] | [代码链接]\qquad本文作者提出了一个端到端估计场景流的网络结构——FLowNet3D。在FLowNet3D中引入了两个新的点云学习层:(1)学习联系两帧点云的flow embedding层;(2)学习将特征从一个点集传播到另一个点集的set upconv层。\qquadFlowNet3D主要包含以上三个模块:(1)set conv层学习点云中点的特征,并对点云进行下采样;(2)flow embedding层学习两帧点云的几何联系以预测流;(3)set upcon.

2020-06-21 20:02:09 874

原创 An Efficient PointLSTM for Point Clouds Based Gesture Recognition[CVPR2020]

论文链接\qquad本文提出了一种在保留空间结构的前提下实现信息从过去帧传播到未来帧的PointLSTM方法来对序列点云数据做手势识别和动作识别。PointLSTM通过权值共享的LSTM层,将过去帧邻近点的状态信息与当前特征相结合,更新当前状态。这种方法可以集成到许多其他的序列学习方法中。\qquad近年来RNN和LSTM在序列建模上取得了成功,利用LSTM可以从时空的一致性捕捉到运动和外观随时间的变化。论文中所使用的长短期记忆网络为一般的LSTM:h(t),c(t)=LSTM(y(t),h(t−1)

2020-06-16 12:04:23 1228

原创 NYOJ 44 子串和

时间限制:5000 ms | 内存限制:65535 KB难度:3描述 给定一整型数列{a1,a2...,an},找出连续非空子串{ax,ax+1,...,ay},使得该子序列的和最大,其中,1&lt;=x&lt;=y&lt;=n。输入第一行是一个整数N(N&lt;=10)表示测试数据的组数)每组测试数据的第一行是一个整数n表示序列中共有n个整数,随后的一行里有n个整数I(-100=&lt;I&...

2020-06-09 20:47:22 175

原创 MeteorNet: Deep Learning on Dynamic 3D Point Cloud Sequences[ICCV2019 Oral]

论文链接 Code\qquad作者提出了一种新的方法学习表示动态三维点云序列。方法的关键是一个称为MeteorNet的神经网络模块。该模块以点云序列为对象,在时空邻域中聚合信息,学习每个点的特征。模块可以堆叠在一起,将上一个模块的每个点特性输入到下一个模块。层次化的模块从较大的邻居处获取信息。特征的聚合过程是通过对邻域中的每个点使用相同的多层感知器(MLPs),然后使用最大池来实现的。\qquad文章提出的模型直接使用原始点云的动态序列,并学习全局和局部点特征,可应用于分类、语义分割和场景流估.

2020-06-08 20:09:39 1328

原创 3D Recurrent Neural Networks with Context Fusion for Point Cloud Semantic Segmentation[ECCV2018]

\qquad本文主要有两个创新点,首先利用逐点金字塔池化来捕获不同尺度的局部上下文信息,然后利用两个方向上的层级顺序循环神经网络来融合更大范围的上下文信息。算法在室内室外3D点云数据集上均取得了较好的效果。\qquad网络首先学习逐点的特征,然后使用逐点的金字塔池化获取不同尺度的上下文信息,将不同尺度的局部信息与点的特征拼接。\qquad关于金字塔池化,首先将3D空间按照地平面分为1.5m×1.5m1.5m \times 1.5m1.5m×1.5m的块,每个块包含整个房间的高度。进行Pointwis.

2020-06-06 19:11:14 826

原创 Linux下Tensorflow与Python、cuDNN、CUDA版本的对应关系(持续更新)

每次配环境老是忘掉。。。这次mark一下,有变化这里也会更新,大佬们也可以直接去Tensorflow官网查看。

2020-06-06 17:06:15 405

原创 DAR-Net: Dynamic Aggregation Network for Semantic Scene Segmentation[Arxiv]

论文链接​ 这篇文章中作者提出了一个支持动态特征聚合的网络DAR-Net。DAR-Net的核心思想是生成一个自适应的pooling skeleton,这个结构既考虑了场景的复杂结构也结合了局部几何特征。skeleton提供可变的半局部感受野和权重,成为了连接局部卷积特征提取器和全局循环特征聚合器的桥梁。​ skeleton如上图所示,我的理解所谓skeleton就是一些能够反映点云集合特征的keypoint。​ 网络的pipeline如上图所示,首先根据点

2020-06-06 16:55:28 449

原创 Recurrent Slice Networks for 3D Segmentation of Point Clouds[CVPR2018]

论文链接 作者提出了一种轻量级的局部依赖建模模块,利用slice pooling layer将无序的点特征集转换为有序的特征向量序列。​ 首先按照各个坐标轴将点云且为等距的块,把每个块内点的特征聚合为一个块的特征,用这个特征向量表示该块的全局信息。​ 不同块的特征按照按照坐标组成了一个有序的特征向量序列,通过RNN来建模序列中的依赖,这使得序列中的上下文相互影响。​ 最后将更新后的点的全局特征复制回每个点,在输出特征提取层使用三个1×11\ti

2020-06-06 16:43:33 232

原创 Exploring Spatial Context for 3D Semantic Segmentation of Point Clouds[ICCV2017]

PointNet将输入的点细分为一个个块(个人理解为训练模型时的一个个Batch)并且独立的处理这些Block。在本文中,作者在PointNet的基础上提出了两种扩展模型,增大了模型在3D场景中的感受野,从而使模型可以处理更大尺度的空间场景。​ 将点块转换为multi-scale blocks和grid blocks,以获得input-level的上下文。然后,将PointNet提取的块级特征依次输入到合并单元(CU)或周期性合并单元(RCU)中,获得输出级上下文。​ .

2020-06-06 15:59:21 673

原创 Codeforces Round #575 (Div. 3) D1&D2(DP)

RGB Substringtime limit per test: 2 seconds memory limit per test: 256 megabytesinput: standard input output: standard outputThe only difference between easy and hard versions is the size o...

2019-08-10 20:57:48 148

原创 Codeforces Round #570 (Div. 3) D (贪心)

Candy Box (easy version)time limit per test: 3 secondsmemory limit per test: 256 megabytesinput: standard inputoutput: standard outputThis problem is actually a subproblem of problem G from ...

2019-07-23 15:20:09 135

原创 Codeforces Round #574 (Div. 2) D1&D2(数论 + 组合数学)

time limit per test: 2 secondsmemory limit per test: 256 megabytesinput: standard inputoutput: standard outputThis problem differs from the previous one only in the absence of the constraint o...

2019-07-19 10:08:56 238

原创 Ubuntu 18.04 LTS 显卡驱动(418.67 )及CUDA(10.1)安装

写在前面为成功安装CUDA笔者也是尝试了若干的方法,踩了很多的雷。痛定思痛,决定写篇博客总结一下,希望后面少走点弯路,能够给大家一些参考。1 驱动安装显卡驱动的安装有三种方式,总结如下:1.1 使用Ubuntu自带的软件安装Ubuntu自带的系统中有一个叫“软件和更新”的应用可以很方便地进行显卡驱动的安装。1.1.1 打开应用并选择“附加驱动” 项1.1.2 勾选第一项,点击...

2019-07-05 17:27:20 3198

原创 Ubuntu 18.04 配置 OpenCV 3.4.5 并编写测试代码

1.什么是OpenCV?OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV用C++语言编写,它的主要接口也是C++语言,...

2019-03-17 16:41:03 1845

原创 Ubuntu 18.04.2 LTS 安装Matlab R2017b(Linux版)

安装的时候参考了网上很多的教程,其实大同小异,这里记录一下自己的安装过程。主要参考:Matlab R2017b 安装1.安装包下载网上有很多的现成的安装包文件,直接下载即可,这里不再赘述。我的安装包是从这位大佬的博客里下载的:Matlab R2017b。2.文件解压下载后安装包的内容大致如下:然后将 MATLABR2017b_Linux_Crack.rar 和 R2017b_g...

2019-03-17 11:27:39 2394

原创 Codeforces Round #506 (Div. 3) D(数论 + 哈希)

Concatenated Multiplestime limit per test 2 secondsmemory limit per test 256 megabytesinput standard inputoutput standard outputYou are given an array a, consisting of n positive integers....

2018-12-24 22:30:08 188

转载 Python——代码规范2

文件名全小写,可使用下划线 包应该是简短的、小写的名字。如果下划线可以改善可读性可以加入。如mypackage。 模块与包的规范同。如mymodule。 类总是使用首字母大写单词串。如MyClass。内部类可以使用额外的前导下划线。函数&amp;方法函数名应该为小写,可以用下划线风格单词以增加可读性。如:myfunction,my_example_function。...

2018-11-10 21:16:51 144

空空如也

空空如也

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

TA关注的人

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