自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 windows terminal使用git bash

1.打开 Windows Terminnal 的设置界面,点击添加新配置文件添加配置如下。1.在微软应用商店下载 windows terminal。

2023-07-18 23:16:38 809

转载 Windows下修改Git Bash 默认路径

https://baijiahao.baidu.com/s?id=1552327395620319&wfr=spider&for=pc

2023-07-16 19:27:37 620

原创 mmdetection 训练时报错: Permission denied: ‘C:\\Users\\Admin\\AppData\\Local\\Temp\\tmp06sdogpt.py‘

在 mmdet 训练时使用 resume_from 参数时 , 会报错: File "D:\Anaconda3\envs\hzmd\lib\site-packages\mmcv\utils\config.py", line 251, in fromfile cfg_dict, cfg_text = Config._file2dict(filename, File "D:\Anaconda3\envs\hzmd\lib\site-packages\mmcv\utils\config.py",

2022-05-27 12:58:09 1516 1

原创 深度学习及mmdetection学习理解笔记

关于mmdet源码mmdetection 的网络配置中, type参数都是实例化的类名, 后面的都是对于的类初始化参数参考: MMCV 核心组件分析(五): Registry详解 MMDetection 使用技巧和源码实现。关于卷积1x1 的layer用来减少或增加输入的特征的channel, 比如resnet 中残差结构中的第一层需要减少channel, 第三层增加channel, 有几个卷积核输出就有几个channel3*3卷积 主要作用是减少网络参数, 增大有效感受野, 增加了局部上下

2022-05-27 12:56:34 2219 2

转载 Python图片裁剪实例代码

使用的是Image中的crop(box)功能,它需要一个参数box,元组 类型,元组包括4个元素,如:(距离图片左边界距离x, 距离图片上边界距离y,距离图片左边界距离+裁剪框宽度x+w,距离图片上边界距离+裁剪框高度y+h)如图:(x, y, x+w, y+h), x,y是裁剪框左上角的坐标, x+w,y+h是右下角的坐标# -*-coding:utf-8-*-from PIL import Imageim = Image.open("renren.jpeg")# 图片的宽度和高度img_

2022-05-19 15:23:30 1006

原创 mmdetection2.11.0 模型测试评估及计算各个类别的map

1. 计算各个类别的map1.1 方法1: 直接计算, 仅支持voc 数据集与 custom 数据集使用如下命令直接计算各个分类的map , 使用的图片为 config 配置中test中的数据集评估python tools/test.py work_dirs/faster_rcnn_r50_fpn_1x_coco.py work_dirs/latest.pth --eval mAP# 参数说明- work_dir/faster_rcnn_r50_fpn_1x_coco.py: 模型配置文件-

2022-05-19 15:22:53 9129 8

原创 mmdetection目标检测训练过程参数解读

关于训练过程中日志记录的的map, 包含很多map, 如下{"mode": "train", "epoch": 100, "iter": 400, "lr": 0.0002, "memory": 5010, "data_time": 0.01552, "loss_rpn_cls": 0.00029, "loss_rpn_bbox": 0.0016, "loss_cls": 0.01206, "acc": 99.49316, "loss_bbox": 0.01724, "loss": 0.03119, "t

2022-05-19 15:22:43 3296 6

转载 VOC数据集转化为COCO数据集

VOC数据集转化为COCO数据集代码如下:#!/usr/bin/python# pip install lxmlimport osimport jsonimport xml.etree.ElementTree as ETfrom tqdm import tqdmSTART_BOUNDING_BOX_ID = 1PRE_DEFINE_CATEGORIES = {} # 类别id对应键值, 如果有类别关, 需要填写此项, 即VOC中names对应的类别id如 1, 2, 3...I

2022-05-19 15:22:32 702 1

原创 使用Paddle将 COCO格式数据集划分为训练集, 验证集和测试集(附Paddle安装教程)

1. 解决方法可使用PaddleX框架自带的工具,对数据集进行随机划分,首先要将数据集按照如下格式整理:MyDataset/ # 实例分割数据集根目录|--JPEGImages/ # 原图文件所在目录| |--1.jpg| |--2.jpg| |--...| |--...||--annotations.json # 标注文件所在目录在数据集按照上面格式组织后,使用如下命令即可快速完成数据集随机划分,其中val_value表示验证集的比例,test_value表示测试集的比例(可

2022-05-19 15:21:46 2923 1

原创 使用mmdetection框架训练自己的数据集

1. 数据集准备mmdet的数据集支持 coco格式和 voc 格式, 但 voc 格式官方只自带了少量网络模型文件, 所以推荐使用 coco 格式的数据集2. 修改mmdet/core/evalution/class_names.py和mmdet/datasets/coco.py中的标签为自建数据集的类别class_names.py修改如下函数:coco.py修改如下函数:重要: 修改完 class_names.py 和 voc.py 之后一定要重新编译代码,否则验证输出仍然为原类别,且训练

2022-05-19 15:21:33 9403 2

原创 Ubuntu配置深度学习环境常见问题

1. ubuntu16.04 下 卸载CUDA9.12.ubuntu系统全命令行安装anaconda 3. ubuntu解压tar.gz格式的文件的命令解压:解压test.tar.gz文件至当前目录 -C 表示指定目录 ./表示当前目录, 解压test.tar.gz文件至指定的目录,例如~/my_dirtorytar -zxvf test.tar.gz -C ~/my_dirtory压缩:将指定目录压缩 tar.gz格式文件tar -zcvf new_test.tar.gz ~/my_d

2022-05-19 15:21:16 107

原创 Win10安装 mmdetection 2.11.0(基于mmcv1.3.1) 及Swin-Transformer

官方已出最新版本可以直接在win下安装, 参考:久等了!Windows 平台 MMCV 的预编译包终于来了!1. 环境准备1.1 需要先安装如下环境visual studio 2015或 2019 , 安装时需勾选 使用C++的桌面开发CUDA 10.2 + CUDNNanaconda 4.6.7或以上版本通过链接下载压缩包: https://url47.ctfile.com/f/13636947-501698929-b85e1c (访问密码:7374)解压后放到你所想要安装到的目录, 因

2022-05-14 14:52:54 587 1

原创 解决win10 powershell无法使用conda虚拟环境的问题

1. powershell无法activate conda虚拟环境想从cmd换成powershell,发现powershell并不支持切换conda的虚拟环境。解决方法:打开 Powershell执行命令:conda init powershell重新打开终端即可2. 中间可能遇到的问题1. 重启 powershell 后显示无法加载文件 C:\Users\xxx\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 http:

2022-05-14 14:51:08 5633 3

转载 Anaconda建立新的环境,出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url ...... 解决过程

进入”C:\Users\Administrator“,打开“.condarc“, 将文件内容改为:ssl_verify: trueshow_channel_urls: truechannels: - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/win-64/ - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/Anaconda建立新的环境,出现C

2022-05-14 14:49:51 394

转载 Windows 10系统下安装多版本CUDA和cuDNN

Windows 10系统下安装多版本CUDA和cuDNN(及多版本的tensorflow和pytorch)复制conda 虚拟环境:conda create -n newEnv --clone copyEnv

2022-05-14 14:48:55 204

转载 linux后台执行命令&和nohup的具体使用方法

linux后台执行命令&和nohup的具体使用方法运行python脚本后台执行1. nohup使用&命令后,作业被提交到后台运行,当前控制台没有被占用,但是一但把当前控制台关掉(退出帐户时),作业就会停止运行。nohup命令可以在你退出帐户之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。该命令的一般形式为:nohup command &如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件

2022-05-14 14:48:02 397

转载 ImportError: libGL.so.1: cannot open shared object file: No such file or directory——docker容器内问题报错

指令:sudo apt updatesudo apt install libgl1-mesa-glx就ok了可能容器内没有sudo指令可以apt-get updateapt-get install sudohttps://blog.csdn.net/qq_35516745/article/details/103822597

2022-05-14 14:46:34 195

转载 Python读取文件时出现UnicodeDecodeError: ‘gbk‘

问题:UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xb8 in position 433: illegal multibyte sequence解决方法主要原因是因为编码的问题,可能是因为0x80这个字节在gbk编码中没有这个字符,可能原字符是两个字节,在gbk里被解析成了一个字节,导致字符不存在。解决方法有两个,一个是二进制读取,一个是改编编码方式:方法一:改变打开文件的编码方式with open(self.path, 'r', enco

2022-05-14 14:43:20 3825

转载 Python 中关于无法导入自己写的类的解决方法

问题:导入自己写入的包文件时。from 自己写的类,会发现没有弹出选择。并且全输入类名称后会发现类名与相关导入的方法会报错。如图:原因:pycharm中,source root概念非常重要,当你在代码中写相对路径的时候,就是以source root为起点进行查询。而pycharm中,当前的项目文件夹 是默认的source root。解决方法:既然,pycharm不会将当前文件目录自动加入自己的sourse_path。那么我们就手动告诉他。右键目录名 点击make_directory as --

2022-05-14 14:42:35 2408 1

原创 python使用open的OSError: [Errno 22\] Invalid argument错误

打开的文件名中含有一些系统的敏感字符,结果就报错了。看一段简单的代码:title = '把我看成新闻的*标题吧。'contetn = '就把我看成是新闻的内容吧!!!'with open(title+'.txt', 'a', encoding='utf-8') as f: f.write(contetn)# 报错内容如下:# Traceback (most recent call last):# File "E:/py project/my_spider/east_money/test2.

2022-05-14 14:41:19 979

原创 Python:os.path.join()产生的斜杠在Windows和Linux下的不同表现和解决方法

import os.pathprint(os.path.join('a', 'b', 'c'))在Linux/macOS下会显示: a/b/c而在Windows下会显示: a\b\c即 os.path.join()在Linux/macOS下会以斜杠(/)分隔路径,而在Windows下则会以反斜杠(\)分隔路径。解决方法从上面的分析可以发现os.path.join()仅包含对应操作系统类型的实现,所以我们无法通过指定参数的形式生成诸如适用于Linux或Windows的路径,那么如何解决这一问.

2022-05-14 14:39:33 3690

原创 算法---LeetCode 144. 二叉树的前序遍历

1. 题目原题链接给定一个二叉树,返回它的 前序 遍历。示例:输入: [1,null,2,3]12/3输出: [1,2,3]进阶: 递归算法很简单,你可以通过迭代算法完成吗?Related Topics 栈 树???? 367 ???? 02. 题解2.1 非递归(栈)根节点先入栈,栈不空时,出栈,将其右儿子与左儿子依次入栈 class Solution { public List<Integer> preorderTraversal(Tr

2021-08-02 19:37:29 157

原创 算法---LeetCode 18. 四数之和

1. 题目原题链接给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c +d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例 1:输入:nums = [1,0,-1,0,-2,2], target = 0输出:[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]示例 2:输入:nums = [], target = 0

2021-08-01 11:12:07 157 1

原创 算法---LeetCode 153. 寻找旋转排序数组中的最小值

1. 题目原题链接假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请找出其中最小的元素。你可以假设数组中不存在重复元素。示例 1:输入: [3,4,5,1,2]输出: 1示例 2:输入: [4,5,6,7,0,1,2]输出: 0Related Topics 数组 二分查找???? 261 ???? 02. 题解2.1 解法1: 二分查找每次比较 nums[mid] 与 nums

2021-07-29 14:49:10 145

原创 算法---LeetCode 912. 排序数组 (堆排序)

1. 题目原题链接给你一个整数数组 nums,请你将该数组升序排列。示例 1:输入:nums = [5,2,3,1]输出:[1,2,3,5]示例 2:输入:nums = [5,1,1,2,0,0]输出:[0,0,1,1,2,5]提示:1 <= nums.length <= 50000-50000 <= nums[i] <= 50000???? 274 ???? 02. 题解2.1 堆排序将堆想象成一棵完全二叉树, 并使用数组代替, 由于下标从 0 开始,

2021-07-29 11:38:01 275

原创 算法---LeetCode 19. 删除链表的倒数第 N 个结点

1. 题目原题链接给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?Related Topics 链表 双指针???? 966 ???? 02. 题解2.1 解法二:双指针(哑结点)+一次遍历1.首先设置一个头部哑结点 h,这样方便处

2021-07-28 19:59:52 109

原创 算法---LeetCode 5. 最长回文子串

1. 题目原题链接给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”Related Topics 字符串 动态规划???? 2467 ???? 02. 题解2.1 解法1: 中心扩展法遍历每一个字符, 分别从 同一位置 i 和 i, i+1 位置进行两边扩散, 寻找最大长度并返回注意点: 返回的长度计算为 r

2021-07-21 14:42:45 93

原创 算法---LeetCode 145. 二叉树的后序遍历

1. 题目原题链接给定一个二叉树,返回它的 后序 遍历。示例:输入: [1,null,2,3]12/3输出: [3,2,1]进阶: 递归算法很简单,你可以通过迭代算法完成吗?Related Topics 栈 树???? 393 ???? 02. 题解2.1 迭代(非递归)非递归解法,使用栈与前序遍历对比,前序遍历为 根 左 右,后序为 左 右 根,1,若将前序遍历中每次插到链表头部,那么访问顺序 变为, 右左根,2,若入栈时检查左右节点顺序修改 为左节点先入栈,右节点后

2021-07-12 09:23:00 113

原创 算法---LeetCode21. 合并两个有序链表

1. 题目原题链接将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。  示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->42. 题解2.1 解法1: 迭代双指针代码: class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) {

2021-07-05 16:54:19 105

原创 算法---LeetCode 168. Excel表列名称

1. 题目原题链接给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。例如:A -> 1B -> 2C -> 3…Z -> 26AA -> 27AB -> 28…示例 1:输入:columnNumber = 1输出:“A”示例 2:输入:columnNumber = 28输出:“AB”示例 3:输入:columnNumber = 701输出:“ZY”示例 4:输入:columnNumber = 2

2021-07-03 18:27:18 141

原创 算法---LeetCode 862. 和至少为 K 的最短子数组

1. 题目原题链接返回 A 的最短的非空连续子数组的长度,该子数组的和至少为 K 。如果没有和至少为 K 的非空子数组,返回 -1 。示例 1:输入:A = [1], K = 1输出:1示例 2:输入:A = [1,2], K = 4输出:-1示例 3:输入:A = [2,-1,2], K = 3输出:3提示:1 <= A.length <= 50000-10 ^ 5 <= A[i] <= 10 ^ 51 <= K <= 10 ^ 9Re

2021-06-29 12:41:15 410

原创 算法---LeetCode 887. 鸡蛋掉落

1. 题目原题链接给你 k 枚相同的鸡蛋,并可以使用一栋从第 1 层到第 n 层共有 n 层楼的建筑。已知存在楼层 f ,满足 0 <= f <= n ,任何从 高于 f 的楼层落下的鸡蛋都会碎,从 f 楼层或比它低的楼层落下的鸡蛋都不会破。每次操作,你可以取一枚没有碎的鸡蛋并把它从任一楼层 x 扔下(满足 1 <= x <= n)。如果鸡蛋碎了,你就不能再次使用它。如果某枚鸡蛋扔下后没有摔碎,则可以在之后的操作中 重复使用 这枚鸡蛋。请你计算并返回要确定 f 确切的值

2021-06-28 23:16:36 487 2

原创 算法---LeetCode 386. 字典序排数

1. 题目原题链接给定一个整数 n, 返回从 1 到 n 的字典顺序。例如,给定 n =1 3,返回 [1,10,11,12,13,2,3,4,5,6,7,8,9] 。请尽可能的优化算法的时间复杂度和空间复杂度。 输入的数据 n 小于等于 5,000,000。Related Topics 深度优先搜索 字典树???? 181 ???? 02. 题解2.1 解法1: DFS字典序可以抽象为一棵树, 相当于对 十叉树的先序遍历, 可以类比二叉树的DFS先序遍历来写递归函数参数: 最大数字

2021-06-28 21:09:56 168

原创 算法---LeetCode 410. 分割数组的最大值

1. 题目原题链接给定一个非负整数数组 nums 和一个整数 m ,你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。示例 1:输入:nums = [7,2,5,10,8], m = 2输出:18解释:一共有四种方法将 nums 分割为 2 个子数组。 其中最好的方式是将其分为 [7,2,5] 和 [10,8] 。因为此时这两个子数组各自的和的最大值为18,在所有情况中最小。示例 2:输入:nums = [1,2,3,4,5], m =

2021-06-28 20:49:53 336

原创 算法---LeetCode 135. 分发糖果

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

2021-06-28 19:09:25 222 1

原创 算法---LeetCode 106. 从中序与后序遍历序列构造二叉树

1. 题目原题链接根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树:3/ 9 20/ 15 7Related Topics 树 数组 哈希表 分治 二叉树???? 525 ???? 02. 题解2.1 解法1: 递归先建立一个 HashMap 用于查找结点在中序遍历序列中的位置, key 存储结

2021-06-28 17:31:56 89

原创 算法---LeetCode 440. 字典序的第K小数字

1. 题目原题链接给定整数 n 和 k,找到 1 到 n 中字典序第 k 小的数字。注意:1 ≤ k ≤ n ≤ 109。示例 :输入:n: 13 k: 2输出:10解释:字典序的排列是 [1, 10, 11, 12, 13, 2, 3, 4, 5, 6, 7, 8, 9],所以第二小的数字是 10。Related Topics 字典树???? 217 ???? 02. 题解解法1: 十叉树按字典序排序, 就是根据数字的前缀进行排序,比如 10 < 9,因为 10 的

2021-06-28 16:15:07 184 1

原创 算法---LeetCode 188. 买卖股票的最佳时机 IV(股票买卖问题总结)

1. 题目原题链接给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入:k = 2, prices = [2,4,1]输出:2解释:在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能获得利润 = 4-2 = 2 。示例 2:输

2021-06-28 14:18:09 332

原创 算法---LeetCode 123. 买卖股票的最佳时机 III

1. 题目原题链接给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入:prices = [3,3,5,0,0,3,1,4]输出:6解释:在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3 。随后,在第 7 天(股票价格 = 1)的时候买入,在第 8

2021-06-28 13:54:55 146

原创 算法---LeetCode 1095. 山脉数组中查找目标值(二分法)

1. 题目原题链接(这是一个 交互式问题 )给你一个 山脉数组 mountainArr,请你返回能够使得 mountainArr.get(index) 等于 target 最小 的下标 index值。如果不存在这样的下标 index,就请返回 -1。何为山脉数组?如果数组 A 是一个山脉数组的话,那它满足如下条件:首先,A.length >= 3其次,在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] < … A[i-

2021-06-27 11:03:15 257

空空如也

空空如也

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

TA关注的人

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