- 博客(36)
- 收藏
- 关注
原创 pytorch加载模型时出现.....ckpt_100.pth is a zip archive (did you mean to use torch.jit.load()?)
在测试加载训练好的模型时出现上方问题,参考这篇文章,原因是训练和测试的torch版本不一致。训练的时候是1.6,测试的时候是1.2,因此需要先在1.6版本下加载模型,重新保存,在保存的时候设置use_new_zipfile_serialization=False 就行了。原本代码:checkpoint = torch.load(val_path+args.resume)net.load_state_dict(checkpoint['state_dict'])重新保存的代码:checkpoin.
2020-12-29 10:57:03
3752
原创 Semantic Flow for Fast and Accurate Scene Parsing(2020cvpr)
初读光流的概念:光流是三维运动向量在成像平面的投影,是序列图像上亮度图案的表观运动。光流场不仅包含图像内物体与背景的运动信息,而且含有丰富的三维结构和表面信息。光流通常是用于跳过某些帧的计算,将前一帧或前几帧的特征迁移(Warp)到当前帧,在一定程度上也起到了特征增强的作用。因此,光流被定义为两张图像之间对应像素移动的向量。场景解析或语义分割中影响性能最重要的两个影响:细节信息(高分辨率,计算量大)和语义信息(低分辨率,缺乏细节信息)。其中deeplab系列和pspnet都是基于backbone+Co
2020-11-11 09:46:10
728
1
原创 SQL
1.数据库的操作数据库的创建: create database name;打开某个数据库:use name;:数据库的删除 : drop database name;显示当前存在的数据库:show databases;2.数据表的操作创建表:create table table_name(column_name column_type);如果创建的表格名字加引号记得是~的键对应的 `,而不是单引号。修改表:字段 添加、删除、插入、修改删除表:drop table table_name;
2020-10-12 22:54:46
243
原创 2020中兴软件测试面经
一面(大概40分钟):1.自我介绍;2说一下测试怎么分类(需要说出单元测试集成测试那些定义);3.说一下测试有什么方法(我讲了黑盒和白盒的相关方法);4.自动化测试是否有了解,有哪些方法;5.linux常见的命令6.项目相关问题;7.有什么要问的...
2020-09-11 10:59:08
1155
原创 2020华为测试工程师面经
华为很高效,早上一面和二面通过了,下午就可以进行第三面。面试体验很好,面试官都很友善,不会为难你,摆好心态就好。一面(70多分钟):1.为什么选择测试?对测试的了解,你怎么理解测试的?【因为简历大部分是做算法的,还好圆回来了】2.问项目相关的【怎么测试】3.自动化测试有了解过吗?有没有用过相关的测试工具?3.测试要测试到怎么样,产品才可以上线?4.讲一下TCP/IP协议5.tcp和udp的区别6.操作系统学过吗?主要讲的是什么?讲一下常用的linux命令7.进程之间是怎么通信的,代码怎么写
2020-09-10 21:55:03
2445
2
原创 2020华为测试工程师面试前三天面经汇总准备
结合面经,做总结1.python常见语法1)Python的内存管理机制是什么呢?Java的内存管理机制是什么呢?2) python2和python3的差异。2.数据结构【重点,两个平行面都要手撕代码,撕不出来就凉了】1)字符串:回文串,括号匹配,最长最短不重复字串长度等【重点】2)数组3)二叉树4)链表:判断是否回环,合并有序链表5)排序算法,时间复杂度分析各大面经上:1).合并两个二叉树,递归实现:思路:对这两棵树同时进行前序遍历,并将对应的节点进行合并。如果两棵树的当前节点均不
2020-09-10 17:56:50
3430
原创 计算机视觉算法工程师面经
面试大概不到一个小时,整体面试感觉难度还行,问的都比较基础。之前打算放弃算法了,所以很多知识都没回顾,面试官人还挺好,我答不上来的就直接跳过1.大部分时间还是围绕做的项目和研究展开提问【做了图像质量增强和语义分割相关的研究,果然企业还是对落地的项目比较感兴趣】2.bn ln,gn的区别,BN层为什么要在后面加伽马和贝塔,不加可以吗3.采用svm,假设在数据少,特征多的场景下,采用什么核函数比较好4.auc比较高,精确度比较低,是什么原因5.出现样本不平衡,怎么解决6.前面介绍项目时用到dropo
2020-09-04 22:42:17
907
原创 字节测试一面凉经
双非想进大厂做算法太难了,于是半路转投测试。。笔试两轮(都是四道编程题)后进入面试。一面(大概一个小时):1.根据项目提问,有个项目将算法移植到移动端,问了app崩溃是什么原因,怎么定位原因,有哪些原因(要讲技术层面:例如传入是一个空指针导致的),怎么写测试用例2.今日头条的评论功能问题:用户提交评论发送成功,此时切换到别的软件,再回来发现评论失败。如何定位问题以及如何写测试用例3.介绍一下你做的测试工作,以及你在测试过程中做的比较好的事情是什么?4.做过的测试是否有定位分析还是只是黑盒测试,如
2020-09-03 20:07:39
487
原创 RGB-D数据集
1.NYU-Dv2官网下载链接包含RGB , Depth,和label百度云网盘:链接提取码:46pl2.SUN RGB-D官网下载链接已经提取分为训练和测试集百度云网盘:链接提取码:tv8g3.cityscape: 官网链接
2020-08-30 15:16:12
1614
9
原创 修改gt类别值和统计类别的数目
1.修改ground truth的标签值,有时候需要用到两个不同的数据集,但是标记的label值不一样时,可以将其统一。在做自己数据集想加上别的数据集时,可将其label标签转换为一致。from PIL import Imageimport numpy as npimport ospath = 'E:\dataset\RGBD\户外\mydata(按场景分)(1095)/train/label/'save_path = 'E:/dataset/RGBD/terrain awareness
2020-08-28 21:30:11
262
原创 面经--编程语言
指针和引用的区别(c++):1.指针存的是地址,引用是别名2.Sizeof:指针是4个字节,引用是引用的对象的大小3.指针有多级指针,引用没有4.指针的++表示移位,引用表示对象值的加15.指针初始化为空,引用需要初始化对象6.作为参数传递,如果传递的是指针要改变的对象,则需要7.动态分配内存返回的是指针,不是引用,返回是引用会导致内存泄露8.指针可以更改指向,引用不行C和C++的区别1.从设计思想上来说,C是面向过程的结构化编程语言,而C++是面向对象的编程语言2.从语法上来说,C+
2020-08-25 10:54:08
138
原创 面经--数据结构
一、数组和链表的区别1、存储空间上:数组在内存中是连续的,从栈中分配空间;链表是可以不连续的,从堆中分配空间。2、在查询,访问方式上:数组可以随机访问元素,查找速度相对较快,链表必须是顺序访问,不能随机访问。3、空间的使用上:链表对内存空间的利用率较高,可扩展性高;数组则不能,数组的空间大小是固定的,不适合动态存储,不方便动态添加。4、添加或删除元素时,数组比链表慢,因为数组要移动大量的元素,而链表只需修改指针即可。二、堆和栈的区别:1、申请方式:stack由系统自动分配。 堆;需要程序员自己申
2020-08-23 16:59:27
1543
原创 面经--计算机网络
1.HTTP 与 HTTPS 的区别证书申请方式不同:http免费申请。HTTPS 需要到 CA (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。传输信息安全性不同:HTTP 是超文本传输协议,信息是明文传输,HTTPS 是具有安全性的 SSL 加密传输协议。使用端口不同:HTTP是80,HTTPS是443。连接方式不同:HTTP 的连接很简单,是无状态的。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协
2020-08-23 16:00:57
225
原创 面经--操作系统
1.进程和线程的区别:拥有资源:进程是资源分配的基本单位,但是线程不拥有资源,线程可以访问隶属进程的资源。调度:线程是独立调度的基本单位,在同一进程中,线程的切换不会引起进程切换,从一个进程内的线程切换到另一个进程中的线程时,会引起进程切换。系统开销:由于创建或撤销进程时,系统都要为之分配或回收资源,如内存空间、I/O 设备等,所付出的开销远大于创建或撤销线程时的开销。类似地,在进行进程切换时,涉及当前执行进程 CPU 环境的保存及新调度进程 CPU 环境的设置,而线程切换时只需保存和设置少量寄存器
2020-08-23 15:46:56
254
原创 二分查找
一般看到排序数组,其实就是在疯狂暗示你用二分查找法1. 寻找旋转排序数组中的最小值题目:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请找出其中最小的元素。你可以假设数组中不存在重复元素。示例 1:输入: [3,4,5,1,2]输出: 1思路:看到有序的数组,就可以考虑使用二分查找。根据区间的中间点来决定向区间的左边还是右边搜索。由题可知,旋转后的数组最后一个元素值肯定比首个元素小,依
2020-08-16 22:43:14
109
原创 图
图包括顶点和边,图分为有向图和无向图。边还可以根据顶点之间的关系设置不同的权重,默认权重相同皆为1。下文关于图的解释主要来自业余码农图的存储方式:1.邻接矩阵,通过顶点的二维矩阵来存储两个顶点之间是否连接。无向图的邻接矩阵是一个对称矩阵,是因为边不具有方向性,由于顶点本身与本身相连没有意义,所以在邻接矩阵中对角线上皆为0。若图中顶点数过多,会导致二维数组的大小剧增,从而占用大量的内存空间。图中的顶点并不是任意两个顶点间都会相连,不是都需要对其边上权重进行存储。那么存储的邻接矩阵实际上会存在大量的
2020-08-13 16:50:08
371
原创 联发科提前批面经
岗位:图像处理工程师笔试+两面技术面 + hr面笔试题型主要有:翻译,单选(逻辑题),不定项选择,填空题,图像题,编程题。(主要考察c语言,编程题可以用C++或者JAVA写)一面:1个多小时,主要问了简历上的东西,包括项目和论文,会围绕项目结合具体场景提问,整体难度还行,主要对你做的东西足够了解就行。还有问了传统图像处理的知识点,什么是小波变换,一阶和二阶的图像显示有什么区别,我有篇论文里面用到了canny检测算子,问了下原理之类的(我的研究方向是基于深度学习的,所以传统方法问的不深吧),最后问我有没
2020-08-06 21:58:16
1172
5
原创 RGB-D dataset
1.NYUv2:包括1499张RGB-D图片(像素级标签)。这里采用的是40个类别的设定,795张训练图片,654张测试图片。https://cs.nyu.edu/~silberman/datasets/nyu_depth_v2.html2.SUN-RGBD:有37个目标类别,包括10355张RGB-D图片,用5285张训练,5050张测试。http://rgbd.cs.princeton.edu/根据任务需要,借鉴GSCNN 生成edge mapcityscape生成edgeimport o
2020-08-03 18:01:21
755
1
原创 语义分割训练自己的数据集出现的BUG
整理记录一下之前遇到的一些问题1.已开始训练,训练过程中出现以下错误:RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED原因:网上资料说是pytorch version, driver version, cuda version and cudnn version不适配。更换了pytorch版本从0.4.1到1.3,但是我用公开数据集跑无问题,故排除环境问题。将数据读入shuffle=False,训练几次发现都是在同一节点出错,考虑数据
2020-08-03 17:23:57
370
1
原创 labelme使用
环境window1.首先安装Anaconda,可以安装Python2.7版本或Python3.6版本。下载连接为:https://www.anaconda.com/download/#linux。安装教程为:https://docs.anaconda.com/anaconda/install/windows。安装成功后,打开Anaconda Prompt,然后依次输入以下命令。2.# python3conda create --name=labelme python=3.6activate l
2020-08-03 17:15:06
503
原创 链表
1.移除重复节点(easy)题目:编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。示例1:输入:[1, 2, 3, 3, 2, 1]输出:[1, 2, 3]思路:设置一个头部伪节点,指向头部,将节点的值存入列表中,如果在列表出现过,则跳过此节点,也就是让当前节点的下一个节点指向当前节点的下下一个节点def removeDuplicateNodes(self, head: ListNode) -> ListNode: pre = ListNode(-1)
2020-06-26 08:46:02
193
原创 排序
各种排序算法的可视化网站重点掌握插入排序,归并排序,快速排序,堆排序1.排序数组题目:给你一个整数数组 nums,请你将该数组升序排列。示例 1:输入:nums = [5,2,3,1]输出:[1,2,3,5]思路:下面采用几种常见的排序算法假设数组长度为n:选择排序:从头遍历数组n次,每次都选择最大/小的数存放在数组的起始位置,然后再从剩下的数中连续找次大/小的数冒泡排序:从头遍历数组n次,两两相邻的数之间比较,将大的数不断移到数组尾部插入排序:将当前的数与前面的数比较,也就是第i
2020-06-11 22:00:13
310
原创 数学
1.回文数(easy)题目:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true思路:1.字符串+双指针:将整数转化为字符串,然后设置两个指针分别指向字符串的头部和尾部,依次比较,当遍历完则返回true,反正当指针所指的数字不相等时则直接返回False2.数学的方法:将后半段的数字翻转看是否与前半段一致。将一个数字%10得到末位数 m = x%10,将末位数加到取出数cur= cur * 10 +m 。数字/
2020-06-10 08:36:39
275
原创 设计
1.LRU缓存机制题目:运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥已经存在,则变更其数据值;如果密钥不存在,则插入该组「密钥/数据值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久未使用的数据值,从而为新的数据值留出空间。进阶:
2020-05-25 12:05:43
157
原创 位运算
常见的位运算符1.两整数之和(easy)题目:不使用运算符 + 和 - ,计算两整数 a 、b 之和。示例 1:输入: a = 1, b = 2输出: 3思路:异或,可看作无进位的加法;位与再左移,可以获取进位;a + b 的问题拆分为 (a 和 b 的无进位结果) + (a 和 b 的进位结果)tip:在 Python 中,整数不是 32 位的,一直循环左移并不会存在溢出的现象,这就需要我们手动对 Python 中的整数进行处理,手动模拟 3
2020-05-14 21:22:48
174
原创 栈和队列
栈1.最小栈(easy)设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。思路:1)借用辅助栈设置两个栈,一个用来存入数据,另一个用来存入最小值。push:数据栈每次存入数据,辅助栈用来保存当前栈内的最小值两个栈为空时,都加入数据数据栈每次存入数据时,辅助栈判断当前栈内的最小值与存入数据的大小
2020-05-12 22:49:48
168
原创 字符串
1.无重复字符的最长子串(medium)题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3思路:采用滑动窗口的思想,设置起始位置为-1,结束位置为0,当未出现重复时,字符串的长度即为字符串的结束位置减去起始位置,并记录字符对应的位置发生重复时,新的起始位置为当...
2020-05-03 00:14:39
607
原创 回溯算法
对于回溯算法的入门理解,weiwei大佬这个讲解思路还挺友好的,还有labuladong刚接触会懵就对了(此刻的我),多测试debug看数据是如何运行的,应该慢慢就能领悟了…我也不知道为什么一开始就是中等题????♂️,因为刚好力扣每日打卡今天是这题????,打开题解都是以这道题为例子,可能是以前学过全排列所以比较好理解,那就撸起袖子加油干把1. 全排列(medium)题目:给定一个 没有重复 数...
2020-04-26 00:15:58
207
原创 动态规划
1.连续子数组的最大和(easy)题目:输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值思路:...
2020-04-25 11:01:23
361
原创 BFS
广度优先搜索----BFS方法:BFS使用队列,把每个还没有搜索到的点依次放入队列,然后再弹出队列的头部元素当做当前遍历点。BFS总共有两个模板:1.如果不需要确定当前遍历到了哪一层,BFS模板如下。来自力扣大佬while queue 不空: cur = queue.pop() for 节点 in cur的所有相邻节点: if 该节点有效且未访问过: ...
2020-04-21 08:48:03
237
原创 树
树:每一个节点有一个根植和一个包含所有子节点的列表。从图的观点来看,树也可视为一个拥有N 个节点和N-1 条边的一个有向无环图。二叉树:一种更为典型的树树状结构。如它名字所描述的那样,二叉树是每个节点最多有两个子树的树结构,通常子树被称作“左子树”和“右子树”。树的遍历 可参考此官网动画更好理解----- 都是从左子树到右子树,前中后遍历的区别可以理解为节点的位置1)前序遍历:前序遍历首先访...
2020-04-19 12:20:51
388
原创 贪心算法
贪心算法的思想:每步都选择局部最优解,以这种方式获得全局最优解1.跳跃游戏(medium)题目:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。思路:尽可能到达最远位置。如果没有0则一定可以到达。如果能到达某个位置,那一定能到达它前面的所有位置。先初始化最远位置为0,遍历数组,如果当前位置能到达,并且...
2020-04-17 23:45:18
255
原创 数组
年前刷过的题已经有些忘了,建议大家刷题每天要固定时间,定量的刷效率才高点,不然三天打鱼两天晒网就会像我现在这样。。。1.实现二维数组的查找(easy)题目: 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数思路:从二维数组的右上角的元素开始判断,因为此...
2020-04-13 00:00:22
1170
原创 刷力扣,总结
刷力扣,总结一些知识点一段时间没看就会忘了,就当给自己做下笔记,没数据结构基础的菇凉最近开始从零开始学习啦!接下来主要参考以下link纲要进行学习数据结构数组字符串哈希表链表栈和队列树位运算图算法思想双指针排序贪心算法二分查找分治算法滑动窗口递归和动态规划回溯算法数学...
2020-04-07 17:45:52
647
原创 修改xml文件
在训练时发现数据集有问题,经过debug发现是xml文件有问题,于是排除是否是名字还是size的问题import os.pathimport xml.dom.minidom as xmldom#coding=utf-8import xml.etree.ElementTree as ETpath = '/mnt/mdisk/pyq/Annotation' xml = os.listdi...
2019-07-21 21:40:33
308
原创 用自己制作的数据集训练yolo
用自己制作的数据集训练yolo最近在做自己数据集做移动端的目标检测,利用darkflow对yolo进行训练,这应该是第一次写博客,就当做给自己做个总结本文是仿照voc数据集制作数据利用labelimg制作数据集:labelimg的github链接: link.训练自己的数据集数据集:包括image 和annotation1.创建一个配置文件,复制 tiny-yolo-voc.cfg文...
2019-07-21 21:34:51
562
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人