自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用HOG+SVM输出mAP值

一、前言因为毕业论文要使用传统目标检测方法与深度学习方法进行对比,故接触到HOG+SVM,为了输出mAP,踩了不少坑,记录一下纪念踩过的坑!二、踩坑大盘点感谢这位博主的代码拯救了我https://arleyzhang.github.io/articles/c521a01c/,里面的讲解很清晰,从如何划分数据集,到使用SVM,再到输出mAP结果图。棒呆。先附上我融合之后的代码:# coding=utf-8from sklearn.model_selection import train_test_

2021-04-26 11:57:36 423 2

原创 如何将模型训练中断生成的多个tf.events文件接到一起

最近跑深度学习模型,就很邪门一直中断,跑到一半就停了然后报错 “cuda out of memory”,通过百度综合了很多大神的解决办法。1. 处理 train.py 文件在运行模型的地方,加上 torch.cuda.empty_cache() 删除一些不需要的变量。原代码:# Run modelpred = model(imgs)修改之后:# Run modeltry: pred = model(imgs)except RuntimeError as exception:

2021-03-11 11:41:09 1714

原创 Ubuntu的一点使用小技巧

这段时间写毕业论文,跑深度学习模型租服务器不得已用了Ubuntu系统,想当初我对Ubuntu系统可谓是闻风丧胆,坚决不碰……而现在,真香警告,都不想要windows了~1.Ubuntu系统下将图片名包括路径写入到txt文件中目标是要达到类似于test.txt这种效果因为后面训练要单独测试不同光照强度和遮挡情况下的识别效果,总不能在测试集里把同一种类型的挨个复制粘贴出来吧,几千张图估计要到猴年马月。所以需要把这些图片分好类放入各自的文件夹,然后打开命令终端terminal,输入命令:ls -R /r

2021-03-03 11:57:09 264

原创 pytorch-yolov4训练自己的数据集之环境配置

使用的项目地址:https://github.com/Tianxiaomo/pytorch-YOLOv4一、配置环境1.因为不同的项目所需要的环境也不同,每次都更新太费神,所以直接在anaconda下建一个虚拟环境,给环境起名叫 yolov4:conda create -n yolov4 python=3.7因为我的 anaconda 自带的 python 就是3.7版本,所以这里安装3.7。2.激活虚拟环境上面的命令执行后会出现如下提示:故我们输入conda activate yolov

2021-01-09 20:24:30 1532 9

原创 UnicodeDecodeError&#58 &#39ascii&#39 codec can&#39t decode byte 0xe4 in position 0&#58ordinal not in

在学习【音乐推荐系统】项目,使用协同过滤基于网易云音乐数据构建模型并进行预测时,出现了一系列的报错,头秃,记录一下踩坑历程:首先要构建训练集,如下:import osimport picklefrom surprise import KNNBaseline, Readerfrom surprise import Datasetpath = "D:/LenovoQMdownload/recommendation_system_codes/"# 重建歌单id到歌单名的映射字典id_name_d

2020-08-05 10:39:24 370

原创 运行出错 ImportError&#58cannot import name &#39evaluate&#39 from &#39surprise&#39

在学习音乐推荐系统这个项目时,建模调参部分出现了问题from surprise import SVDfrom surprise import Datasetfrom surprise import evaluate, print_perf# 默认载入movielens数据集data = Dataset.load_builtin('ml-100k')# k折交叉验证(k=3)data.split(n_folds=3)# 试一把SVD矩阵分解algo = SVD()# 在数据集上测试一下效

2020-08-04 19:06:58 1346

原创 运行出错 ImportError&#58cannot import name &#39Imputer&#39 from &#39sklearn&#46preprocessing&#39 解决办法

在学习 《特征工程入门与实践》 第三章,填充缺失值时,出现问题了# 2.填充缺失值from sklearn.preprocessing import Imputerimputer = Imputer(strategy='mean')pima_imputed = imputer.fit_transform(pima)type(pima_imputed) # Imputer的输出值不是pandas的Dataframe,而是Numpy数组报错提示:ImportError: cannot impo

2020-06-27 17:19:38 3910

原创 把数字翻译成字符串 VS 解码方法

1. 题目描述给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例 1:输入: 12258输出: 5解释: 12258有5种不同的翻译,分别是"bccfi", "bwfi", "bczi", "mcfi"和"mzi"提示: 0 <= num < 2^312. 解题思路动态规划还没学明白,先想到的是递

2020-06-09 17:04:58 512

原创 【LeetCode 128】最长连续序列——Python解决

1. 题目描述给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。2. 思路(1)先去重,将数组转变成集合(可以直接使用set(nums),或者遍历数组,将每一个元素添加到集合Set中)(2)遍历整个集合中的数x,若x-1不在集合里,说明x是一个新的序列起点,然后就看y = x+1, x+2, x+3……是否在集合里。当y不

2020-06-06 11:57:27 888

原创 同构字符串和单词规律问题

一、【LeetCode 205】同构字符串1. 题目描述给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = "egg", t = "add"输出: true示例 2:输入: s = "foo", t = "bar"输出: false示例 3:输入: s = "paper", t

2020-05-23 17:15:32 282

原创 Python实现堆排序

1. 堆及其性质:定义: 采用树形结构实现优先队列的一种有效技术称为堆。二叉堆的本质是一种完全二叉树,其存储方式不是链式存储,而是顺序存储(其实一个数组可以转化为一个完全二叉树),节点的下标可通过公式来表示:若下标从0开始,则下标为n的节点,左孩子的下标为2 * n + 1,右孩子的下标为2 * n + 2。二叉堆的根节点称为堆顶。大顶堆的堆顶是整个堆中的最大元素;小顶堆的堆顶是整个堆中的...

2020-04-30 21:45:31 305

原创 堆排序——最小的k个数(python)

一. 题目描述输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]限制:0 <= k <= arr.length &l...

2020-04-30 19:57:18 1196

原创 零钱兑换和完全平方数问题

一、【LeetCode 322】零钱兑换1. 题目描述给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2...

2020-04-13 10:38:45 116

原创 回文子序列和回文子串问题

目录一、【LeetCode 516】最长回文子序列1. 问题描述2. 解题思路3. 代码二、【LeetCode 647】回文子串1. 题目描述2. 第一种方法——动态规划3. 第二种方法——中心扩展法三、【LeetCode 5】最长回文子串1. 题目描述2. 第一种方法——动态规划3. 第二种方法——中心扩展法一、【LeetCode 516】最长回文子序列1. 问题描述给定一个字符串s,找到...

2020-04-12 23:04:14 1533

原创 【LeetCode 1143】最长公共子序列——Python解决

目录1. 题目描述2. 分析3. 动态规划(基础版)4. 动态规划(进阶版)1. 题目描述给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcd...

2020-04-09 21:46:23 879

原创 Python 动态规划解决不同路径问题

目录一、【LeetCode 62】不同路径1. 题目描述2. 解题思路3. 代码二、【LeetCode 63】不同路径II1. 题目描述2. 解题思路3. 代码三、【LeetCode 64】最小路径和1. 题目描述2. 解题思路3. 代码一、【LeetCode 62】不同路径1. 题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能...

2020-04-09 21:28:10 2054

原创 【LeetCode 416】分割等和子集——Python解决

1. 题目描述给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11]. 示例 2:输入: [1, 2, 3, 5]输出: false解释: 数组不...

2020-04-09 10:06:22 1012

原创 0-1背包问题的Python实现及其优化

1. 概述有一个背包,它的容量为C (Capacity)。现在有n种不同的物品,编号为0…n-1,其中每一件物品的重量为w(i),价值为v(i)。 问可以向这个背包中盛放哪些物品,使得在不超过背包容量的基础上,物品的总价值最大。暴力解法: 每一件物品都可以放进背包,也可以不放进背包。时间复杂度为:O((2^n)*n)另辟蹊径: F(n, C)考虑将n个物品放进容量为C的背包,使得价值最大。一...

2020-04-08 10:57:43 968

原创 【LeetCode 198】打家劫舍——Python解决

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

2020-04-06 18:44:58 1085

原创 【LeetCode 343】整数拆分——Python解决

1. 题目描述给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。说明: 你可以假设 n 不小于 2 且不大于 58。2. 分析将正整数...

2020-04-06 11:35:54 2169

原创 【LeetCode 17】电话号码的字母组合

1. 题目描述给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。2. 第一种方法首...

2020-04-04 19:38:22 111

原创 pandas中的数据结构Series和DataFrame

一、Series类1. 创建一个Series对象通过 pandas.Series 来创建Series数据结构pandas.Series(data, index, dtype, name)data可以为列表,array或者dict;index表示索引,必须与数据同长度;name代表对象的名称import numpy as npimport pandas as pdser...

2020-03-30 17:22:07 562

原创 二叉树的修剪问题

一、【LeetCode 814】二叉树剪枝1. 题目描述给定二叉树根结点 root ,此外树的每个结点的值要么是 0,要么是 1。返回移除了所有不包含 1 的子树的原二叉树。( 节点 X 的子树为 X 本身,以及所有 X 的后代。)示例1:输入: [1,null,0,0,1]输出: [1,null,0,null,1]解释:只有红色节点满足条件“所有不包含 1 的子树”。右...

2020-03-23 22:43:21 928

原创 【LeetCode 662】二叉树最大宽度

1. 题目描述给定一个二叉树,编写一个函数来获取这个树的最大宽度。树的宽度是所有层中的最大宽度。这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空。每一层的宽度被定义为两个端点(该层最左和最右的非空节点,两端点间的null节点也计入长度)之间的长度。示例 1:输入: 1 / \ 3 2 / \ \ ...

2020-03-22 23:00:48 117

原创 【LeetCode 1382】将二叉搜索树变平衡

1. 题目描述给你一棵二叉搜索树,请你返回一棵 平衡后 的二叉搜索树,新生成的树应该与原来的树有着相同的节点值。如果一棵二叉搜索树中,每个节点的两棵子树高度差不超过 1 ,我们就称这棵二叉搜索树是 平衡的 。如果有多种构造方法,请你返回任意一种。示例:输入:root = [1,null,2,null,3,null,4,null,null]输出:[2,1,3,null,null,nul...

2020-03-21 21:09:33 557

原创 【二手车交易价格预测】赛题理解

一、赛题背景本次新人赛是Datawhale与天池联合发起的0基础入门系列赛事第一场 —— 零基础入门数据挖掘之二手车交易价格预测大赛。赛题以二手车市场为背景,要求选手预测二手汽车的交易价格,这是一个典型的回归问题。通过这道赛题来引导大家走进AI数据竞赛的世界,主要针对于于竞赛新人进行自我练习、自我提高。应搞清楚三个问题:(1)这个赛题是什么业务问题:本次大赛是Datawhale与天池联...

2020-03-21 16:35:40 1340

原创 【LeetCode 938】二叉搜索树的范围和

1. 题目描述给定二叉搜索树的根结点 root,返回 L 和 R(含)之间的所有结点的值的和。二叉搜索树保证具有唯一的值。示例 1:输入:root = [10,5,15,3,7,null,18], L = 7, R = 15输出:32示例 2:输入:root = [10,5,15,3,7,13,18,1,null,6], L = 6, R = 10输出:23提示:树中的结点...

2020-03-20 21:06:21 119

原创 【LeetCode 543】二叉树的直径

1. 题目描述给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。注意: 两结点之间的路径长度是以它们之间边的数目表...

2020-03-19 15:52:46 73

原创 【LeetCode 538】把二叉搜索树转换为累加树

1. 题目描述给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。例如:输入: 原始二叉搜索树: 5 / \ 2 13输出: 转换为累加树: 18 / \ 20 ...

2020-03-19 15:31:01 79

原创 【LeetCode 572】另一个树的子树

1. 题目描述给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。示例 1:给定的树 s: 3 / \ 4 5 / \ 1 2给定的树 t: 4 / \ 1 2返回 true,因为 t 与 s 的一个子树拥...

2020-03-19 14:52:42 90

原创 【LeetCode 563】二叉树的坡度

1. 题目描述给定一个二叉树,计算整个树的坡度。一个树的节点的坡度定义即为,该节点左子树的结点之和和右子树结点之和的差的绝对值。空结点的的坡度是0。整个树的坡度就是其所有节点的坡度之和。示例:输入: 1 / \ 2 3输出: 1解释: 结点的坡度 2 : 0结点的坡度 3 : 0结点的坡度 1 : |2-3| = 1树...

2020-03-19 12:22:58 131

原创 【LeetCode 530】二叉搜索树的最小绝对差

1. 题目描述给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。示例:输入: 1 \ 3 / 2输出: 1解释:最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)提示:树中至少有 2 个节点。本题与 783 https://leetcode-cn.com/problems/minimu...

2020-03-18 21:44:36 161

原创 【LeetCode 513】找树左下角的值

1. 题目描述给定一个二叉树,在树的最后一行找到最左边的值。示例 1:输入: 2 / \ 1 3输出: 1示例 2:输入: 1 / \ 2 3 / / \4 5 6 / 7输出: 7注意: 您可以假设树(即给定的根节点)不为 NULL。2. 第一种方法(层次遍历)首先想到的就是层次遍历,但是进入了一个误区...

2020-03-18 20:52:47 86

原创 【LeetCode 404】左叶子之和

1. 题目描述计算给定二叉树的所有左叶子之和。示例: 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 242. 解题思路(1)使用递归的话,一下子想不到,先求所有节点的和:def SumOfTree(self, root): if not root: return 0 leave = ...

2020-03-18 20:21:52 119

原创 出现次数最多的数

一、【LeetCode 501】二叉搜索树中的众数1. 题目描述给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。假定 BST 有如下定义:结点左子树中所含结点的值小于等于当前结点的值结点右子树中所含结点的值大于等于当前结点的值左子树和右子树都是二叉搜索树例如:给定 BST [1,null,2,2], 1 \ 2...

2020-03-18 12:54:43 601

原创 二叉树的三种深度优先遍历【递归法】

一、踩坑历程二叉树的三种深度优先遍历(前序 + 中序 + 后序)的递归法相对于迭代法来说要更好理解和记忆一些,迭代法在LeetCode刷题时遇见过,所以想着在Pycharm上实现一下递归,然而事情好像并不像我想象的那么简单:(1)最开始实现时,直接将 root 写成数组输进去了,结果直接报错( list 类型没有 val 属性),后来问了大佬才知道节点要用add一个个添加,其实跟链表的实现一样...

2020-03-17 14:20:43 418

原创 有序数组(或链表)转成二叉搜索树的问题

一、【LeetCode 108】有序数组转成二叉搜索树1.题目描述将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 ...

2020-03-17 10:53:41 123

原创 【LeetCode 230】二叉搜索树中第K小的元素

1.题目描述给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。示例 1:输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 1示例 2:输入: root = [5,3,6,2,4,null,nul...

2020-03-16 21:15:30 82

原创 二叉树的最近公共祖先问题

一、【LeetCode 235】二叉搜索树的最近公共祖先1.题目描述给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,n...

2020-03-15 19:50:08 105

原创 【LeetCode 116、117】填充每个节点的下一个右侧节点指针

一、【LeetCode 116】填充每个节点的下一个右侧节点指针1. 题目描述给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node {int val;Node *left;Node *right;Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 nex...

2020-03-15 17:00:59 119

空空如也

空空如也

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

TA关注的人

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