自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【论文笔记】DG-net

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-11-30 19:54:49 1967

原创 _pickle.UnpicklingError: A load persistent id instruction was encountered,but no persistent_load fu

错误如图所示

2021-06-15 16:06:05 4073 8

原创 Can‘t pickle local object‘get_linear_schedule_with_warmup’\<locals\> lr_lamda‘

问题描述在win下保存模型报错,Can‘t pickle local object‘get_linear_schedule_with_warmup’<locals> lr_lamda’问题分析保存模型源码如下:def save(obj, f, pickle_module=pickle, pickle_protocol=DEFAULT_PROTOCOL): return _with_file_like(f, "wb", lambda f: _save(obj, f, pickl

2021-06-08 14:12:46 1415

原创 1720. Decode XORed Array

1720. 解码异或后的数组题目描述未知 整数数组 arr 由 n 个非负整数组成。经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encoded[i] = arr[i] XOR arr[i + 1] 。例如,arr = [1,0,2,1] 经编码后得到 encoded = [1,2,3] 。给你编码后的数组 encoded 和原数组 arr 的第一个元素 first(arr[0])。请解码返回原数组 arr 。可以证明答案存在并且是唯一的。示例 1:输入:enco

2021-05-06 09:25:46 235

原创 136.Single Number

136.只出现一次的数字题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4题解对于问题中出现重复字眼的问题,我们都可以优先考虑使用hash方法进行求解,这不一定是最优的方法,但一般都可以得到正确的解。输出只出现一次的元素,不需要存储位置、次数之类的信息

2021-05-06 09:14:58 138 2

原创 740. Delete and Earn

740. 删除并获得点数昨天才把打家劫舍问题整理完,没想到今天的每日一题仍然是这类问题。为什么这么说呢,认分析问题就可以发现,只需要一个简单的转换,这个问题就可以转换成 打家劫舍问题。题目描述给你一个整数数组 nums ,你可以对它进行一些操作。每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除每个等于 nums[i] - 1 或 nums[i] + 1 的元素。开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。示例 1:输入:num

2021-05-05 09:41:14 121

原创 413. Arithmetic Slices

413. 等差数列划分这个题目就相当于动态规划的一个变式了,只有深入理解了动态规划,才能容易想到。题目描述数组 A 包含 N 个数,且索引从0开始。数组 A 的一个子数组划分为数组 (P, Q),P 与 Q 是整数且满足 0<=P<Q<N 。如果满足以下条件,则称子数组(P, Q)为等差数组:元素 A[P], A[p + 1], …, A[Q - 1], A[Q] 是等差的。并且 P + 1 < Q 。函数要返回数组 A 中所有为等差数组的子数组个数。示例:A =

2021-05-03 14:46:49 80

原创 198. House Robber

小偷问题-打家劫舍这个问题同学面试的时候问到过,作为一道动态规划问题,就整理一下吧。题目描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (

2021-05-03 10:22:48 86

原创 70. Climbing Stairs

70. 爬楼梯那么首先使用动态规划的典型题目来演示一下动态规划的操作。题目描述假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶题解分析一下问题,

2021-05-03 09:42:11 96

原创 27. Remove Element

27.移除元素题目描述给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:输入:nums = [3,2,2,3], val = 3输出:2, nums = [2,2]解释:函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。例

2021-04-19 09:21:18 120

原创 55. Jump Game

跳跃问题这是一道典型的贪心问题,在最近的华为笔试中遇到了这个问题,现在来整理一下。跳跃问题1题目描述给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。示例 1:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。示例 2:输入:nums = [3,2,1,0,4]输出:false解

2021-04-14 20:44:02 101

原创 04_机器学习_分类算法

分类问题算法单一的分类方法主要包括:LR 逻辑回归SVM 支持向量机DT 决策树K-近邻NB 朴素贝叶斯NN 人工神经网络集成学习算法:基于Bagging和Boosting算法思想RF随机森林GBDTAdaboostXGBoost

2021-04-12 19:33:30 308

原创 03_机器学习流程_特征工程

二、特征工程(特征处理)特征工程是将原始数据转换为更好的代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的预测的准确性。1.环境配置安装scikit-learn步骤:(前提需要Numpy,Pandas库)sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose测试是否安装成功~from

2021-04-12 19:26:10 173

原创 02_机器学习流程_数据获取

机器学习流程_数据的获取这一节回顾机器学习的数据获取流程。1.数据集的构成机器学习的数据通常不是数据库,而是文件csv,由于mysql存在性能瓶颈,读取速度不能满足要求,且格式不符合机器学习数据格式要求。1.1可用数据集数据集网址:kaggle网址:(还有比赛)美国大学协会uci网址:scikit_learn网址:1.2 常用数据集结构1.3 数据集的划分机器学习一般的数据集会划分为两个部分:训练数据(用于训练,构建模型)、测试数据(在模型检验中使用,用于评估模型是否有效)# s

2021-04-12 08:52:39 540

原创 01_机器学习概述

机器学习概述机器学习的核心是“使用算法解析数据,从中学习,然后对世界上的某件事情做出决定或预测”。这意味着,与其显式地编写程序来执行某些任务,不如教计算机如何开发一个算法来完成任务。有三种主要类型的机器学习:监督学习、非监督学习和强化学习,所有这些都有其特定的优点和缺点。当训练样本带有标签时是有监督学习;训练样本部分有标签,部分无标签时是半监督学习;训练样本全部无标签时是无监督学习。迁移学习就是就是把已经训练好的模型参数迁移到新的模型上以帮助新模型训练。强化学习是一个学习最优策略(polic

2021-04-12 08:39:27 434

原创 406. Queue Reconstruction by Height

406. Queue Reconstruction by Height -排列插入问题题目描述假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。请你重新构造并返回输入数组 people 所表示的队列。返回的队列应该格式化为数组 queue ,其中 queue[j] = [hj, kj] 是队列中第 j 个人的属性(queue

2021-04-01 10:46:27 177

原创 665. Non-decreasing Array

665. Non-decreasing Array -数组问题题目描述给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中任意的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。示例 1:输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。示例 2:输入: nums =

2021-03-31 21:48:41 173

原创 使用github仓库

使用github仓库一 创建仓库1.注册github账户,登录后,点击"New respository "2.在新页面中,输入项目的名称,勾选’readme.md’,点击’create repository’3.添加成功后,转到文件列表页面.二 添加ssh账户1.点击账户头像后的下拉三角,选择’settings’如果某台机器需要与github上的仓库交互,那么就要把这台机器的ssh公钥添加到这个github账户上点击’SSH and GPG keys’,添加ssh公钥。2.在ubuntu

2021-03-31 11:24:41 4637

原创 [报错]Github提交

fatal: unable to auto-detect email address (got ‘user@Ubuntu1604.(none)’)错误提示*** Please tell me who you are.Rungit config --global user.email “[email protected]”git config --global user.name “Your Name”to set your account’s default identity.Omit --glo

2021-03-31 09:31:07 96

原创 股票问题

股票问题①严格来说,股票问题并不都属于贪心问题,但却属于算法题目里边比较经典的一个题型,这里就整理一下吧。121.买卖股票的最佳时机1题目描述[easy]给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例 1:输入:[7,1,5,3,6,4]

2021-03-29 10:33:43 254 2

原创 Video_based_ReID_02

基于视频的行人重识别-021.前言这一节主要解释下数据的导入,模型的训练需要数据的支持,那么我们就需要对数据进行预处理以及数据的输入。对于数据量比较少的时候,我们可以采用手动输入的形式,但当数据量较大时,这种方式就效率太低了。我们需要使用 shuffle, 分割成mini-batch 等操作的时候,我们可以使用PyTorch的API快速地完成这些操作(Dataloader)。DataLoader 是 torch 提供用来包装数据的工具,我们需要将自己的 (numpy array 或其他) 数据形

2021-03-28 09:31:57 471

原创 Video_based_ReID_01

基于视频的行人重识别-011.认识mars数据集研究视频行人重识别基本上都绕不过mars数据集,作为视频行人重识别比较认可的数据集,各个顶刊的优秀论文都是在提高mars数据集的rank。那么首先,让我们来认识一下这个数据集:数据集地址info文件我们把上面链接中的内容下载下来,然后解压后按照下列这种方式保存:那么接下来,解释一下这些文件夹中的内容:1.1 bbox_trainbbox_train文件夹中,有625个子文件夹(代表着625个行人id),共包含了8298个小段轨迹(trackl

2021-03-27 14:38:09 1164 1

原创 [论文笔记]ACTION-Net

ACTION-Net: Multipath Excitation for Action Recognition摘要时空、信道、运动模式为视频动作识别的互补关键信息2D不能捕捉时间信息,3D计算量大ACTION嵌入模块 包括三部分时空激励STE路径 单通道三维卷积 表征时空特征通道激励CE 自适应校准通道特征响应 显示建模通道之间的时间依赖运动激励ME 计算特征级别的时间差异 激发运动敏感通道ACTION优于(resnet50、MobileNet v2、BNInception)1.Int

2021-03-24 10:00:37 3072

原创 452. Minimum Number of Arrows to Burst Balloons[medium]

452. Minimum Number of Arrows to Burst Balloons-区间问题问题描述在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend,则该气球会被引

2021-03-23 17:01:01 127

原创 605. Can Place Flowers[easy]

605. Can Place Flowers题目描述假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花?能则返回 true ,不能则返回 false。示例 1:输入:flowerbed = [1,0,0,0,1], n = 1输出:true示例 2

2021-03-23 11:17:10 199

原创 Comparator比较器

Comparator比较器引入我们先研究这个方法public static void sort(List list):将集合中元素按照默认规则排序。这里面存储的是字符串类型。public class CollectionsDemo2 { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); list.add("

2021-03-22 22:23:19 1900

原创 435. Non-overlapping Intervals[medium]

435. Non-overlapping Intervals -区间问题题目描述给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。示例 1:输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。示例 2:输入: [ [1,2], [1,2], [1,2] ]输出: 2解

2021-03-22 20:15:05 136

原创 135. Candy[hard]

135. Candy-分配问题问题描述老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。评分更高的孩子必须比他两侧的邻位孩子获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例 1:输入:[1,0,2]输出:5解释:你可以分别给这三个孩子分发 2、1、2 颗糖果。示例 2:输入:[1,2,2]输出:4解释:你可以分别给这三个孩子分发 1、2

2021-03-22 16:42:05 95

原创 455. Assign Cookies[easy]

455. Assign Cookies -分配问题问题描述假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例 1:输入: g = [1,2,3], s = [1,1]输出: 1

2021-03-21 15:18:25 90

原创 感受算法与程序之美

前言写在最开始,之所以整理这个专栏的目的,一方面是为了接下来的实习、秋招、春招做准备,另一方面也为了能够帮自己梳理算法的思路。因为断断续续的也刷了不少的题目,但是却都是硬解,没有一个明确地解题技巧,遇到困难题直接CV,这明显不行。这篇博客呢就作为一个总章,来整理各类型题目吧~与君共勉,希望看到博客的人都能拿到sp。贪心算法贪心算法说白了就是每次寻找局部最优解的过程,已达到最终结果是全局最优的目的。贪心算法一般按如下步骤进行:①建立数学模型来描述问题②把求解的问题分成若干个子问题③对每个子问题

2021-03-21 15:09:56 247

原创 [论文笔记]MGH

Learning Multi-Granular Hypergraphs for Video-Based Person Re-Identification论文链接代码链接Abstract新的基于图的框架 Multi-Granular Hypergraph (MGH)通过在多个粒度方面对时空依赖性进行建模来追求更好的表示能力使用各种级别的part-based特征来构建不同粒度的Hypergraph...

2021-03-20 15:36:31 607

原创 Video_based_ReID_RNN

前言接下来,我们就来看看视频行人重识别训练模型的其中一种temporal aggregation method:RNN。这是在序列模型训练中常用的一种模型,RNN可以提取到连续图像蕴含的信息,这里使用的是最简单的RNN结构。目前这种方式的试验结果不如其他几种,如B部分:模型输入输入和之前的相同 差别只在经过的网络:imgsimgs.size() = [b,s,c,h,w]在训练级中 b为batch通常设置为32,seq_len设置为4,c为通道数为3,h图片高,w图片宽模型初始

2021-03-13 15:19:53 276

原创 Video_based_ReID_TA

前言接下来,我们就来看看视频行人重识别训练模型的其中一种temporal aggregation method:temporal attention。在这个模型中对sequence of image feature使用attention weighted average,给每一个切片c一个attention系数。论文中叙述这是效果最好的一种方式,如C部分:模型输入imgsimgs.size() = [b,s,c,h,w]在训练级中 b为batch通常设置为32,seq_len设置为4,c

2021-03-13 14:38:58 239

原创 Video-based-ReID_TP

前言接下来,我们就来看看视频行人重识别训练模型的其中一种temporal aggregation method:temporal pooling。这是比较简单的一种方式,效果也不错,是将通过CNN网络提取到的每一帧T图像特征根据seq_len,使用average pooling融合成每一个clips的特征。模型输入imgsimgs.size() = [b,s,c,h,w]在训练级中 b为batch通常设置为32,seq_len设置为4,c为通道数为3,h图片高,w图片宽模型初始化参数

2021-03-13 09:53:23 416

原创 【论文笔记】Revisting Temporal Modeling for Video-based Person ReID

前言

2021-03-11 14:40:15 486 1

原创 反射

前言反射可以说是框架的灵魂,日常开发中是涉及不到的。但是如果想自主开发一个框架,反射是必不可少的。1.反射概念反射: 将类的各个组成部分封装为其他对象,这就是反射机制(可以通过三个阶段理解)1.1java代码在计算机中的三个阶段1.2 反射机制的好处可以在程序运行过程中,操作这些对象。可以解耦,提高程序的可扩展性。2.获取字节码class对象反射将类中的各个组成部分封装成了其他的对象,我们在使用的时候就要对字节码class对象进行获取,以下介绍了获取class类对象的三种方式。(并且

2021-03-08 19:07:36 92 1

原创 Junit单元测试

前言本篇简要介绍白盒测试工具juint。1测试分类1.1黑盒测试不需要写代码,给输入值,看程序是否能够输出期望的值。1.2白盒测试需要写代码的,关注程序具体的执行流程。而juint就是白盒测试中的一种。2.juint操作步骤2.1. 定义一个测试类(测试用例 * 建议: * 测试类名:被测试的类名Test CalculatorTest * 包名:xxx.xxx.xx.test cn.itcast.test2.2. 定义测试方法:可以独立运行 * 建议:

2021-03-07 20:54:58 418

原创 从零开始AlignedReID_04

模型评价指标前言在介绍行人重识别的时候就提到过,常用的评价指标有mAP、cmc、rerank等,那么这篇博客,主要是对这一部分的复现。

2021-01-18 18:45:26 595

原创 从零开始AlignedReID_05

损失计算前言深度学习需要根据损失来调整网络参数,本篇主要对于AlignedReID中的losses以及计算losses所需要的distance进行整理。

2021-01-18 11:22:51 659

原创 从零开始AlignedReID_03

loss模块实现前言前面两篇博客我们已经把数据的导入以及网络的主体实现了,那么这篇博客主要是为了实现网络的损失。还是上面这张图,我们可以看到,网络主要使用了两个损失函数,即softmax loss以及triplet loss。那么这篇博客主要包括以下几个部分:softmax cross entropy losslocal distanceTriplet lossdeepsupervision1.global feature的softmax loss这里的softmax loss其实是指

2021-01-13 14:30:23 639

空空如也

空空如也

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

TA关注的人

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