自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Anime4K算法

Anime4K算法写在前面:Anime4K算法已经出来两年了,在去年经历一次大更新后,现在的Anime4K-V3已经和原来有了很大不同。一个是V3版本里的算法已经结合了CNN(事实上在很早之前作者就说要结合机器学习算法,在性能和时间上寻求一个tradeoff),不过只给出了卷积权重没给训练流程。另一个是V3版本目前是只有用GLSL写的(说穿了就是我读不懂),而且也不像之前,连个论文的preprint也没有(可能是实在吵不动懒得发了?)。所以接下来讲的是最原始版本的Anime4K,这个版本也就是作者所说没有

2021-04-05 13:51:12 1240

原创 paddle课程学习与paddle工具体验

感谢pd课程的引入,不然自己学天天看文档,还是挺烦的。这些天试了paddle很多的工具,包括paddlehub,paddledetection,paddleslim,paddlelite,paddleX。工具倒是次要的,而且也不是三言两语说得清的,重要的是使用工具和设计工具的思想。工具被发明出来,必定是有需要用它的地方,所以一定是每样工具都有其单独的用途。像paddlehub的目的就是为了最快的进行POC,paddledetection是为了更精细的设计训练,paddleslim是为了压缩模型,paddl

2020-06-18 16:56:14 482

原创 超分辨率中PSNR的计算与bicubic插值

正确计算PSNR对于做超分辨率研究是很重要的,因为PSNR是被广泛使用的metric之一。同时bicubic插值算法也很重要,因为目前主流的有监督超分辨率算法中,需要构成HR-LR训练对,而这个对的构成方法需要使用到bicubic插值。PSNR的定义很简单,MSE=1H×W∑i=1H∑j=1W(X(i,j)−Y(i,j))2M S E=\frac{1}{H \times W} \sum_{i=1...

2020-05-06 15:10:51 2750 4

原创 关于opencv中resize时间性能的一种说法

用github中的开源代码时,发现报了这样一段话:OpenCV is built with OpenMP support. This usually results in poor performance. For details, see https://github.com/tensorpack/benchmarks/blob/master/ImageNet/benchmark-opencv...

2020-04-23 21:22:11 1606

原创 pytorch中的hook

pytorch中的hook为了方便,我都是用单输入单输出的结构来测试的。pytorch提供三种hook,一种用来看tensor的grad,一种用来看一个层的输入输出,还有一种用来看一个层输入输出的梯度。所有的hook函数,都需要定义一个function供它使用。tensor.register_hook(function)是最好理解的,能够获取的就是这个tensor的梯度。它需要的funct...

2019-11-18 14:53:09 365

原创 Unsupervised Data Augmentation For Consistency Training 论文阅读

Unsupervised Data Augmentation For Consistency Training 论文阅读UDA这篇文章针对的是半监督学习中无标签数据的增强,论文提出,使用有标签数据的data agumentation方法,也能有效的应用于无标签数据的增强中。论文在文本分类和图像分类问题上进行了实验对比。这是半监督训练的流程图,左侧是有标签数据,右侧是无标签数据。可以看出有标签...

2019-11-18 14:32:22 3175

原创 pytorch加载与修改预训练模型

加载与修改预训练模型有时会希望用预训练的模型来fine-tune或是作为初始化(毕竟初始化权重真的玄学…),但是不需要其中某一些层,这时候就需要对加载的预训练模型做一些修改。如果已经知道了模型的结构,这件事还是比较容易的,不知道的话我就不会了。import torchimport torch.nn as nn import torchvisionfrom torchstat impor...

2019-11-16 19:10:52 1353

原创 python中iterator,iterable与generator的区别

iterator,iterable与generatorpython中,一个类型是否是一个iterator或iterable由以下两个类方法决定:__iter__(self)和__next__(self)__iter__(self)要返回一个iterator类型,而list,dict,tuple这些都是iterable类型,不过可以用iter函数把它变成iterator。如果__iter__(s...

2019-11-16 18:52:00 325

原创 Learning a Single Convolutional Super-Resolution Network for Multiple Degradations论文阅读

Learning a Single Convolutional Super-Resolution Network for Multiple Degradations论文阅读IRCNN这篇论文我感觉对后面做超分+去噪+去模糊三合一这个思路是一种启发,SRMD应该是一篇受了启发后的成果。这篇文章的成果在NTIRE2018上参加了比赛,考虑到它本身速度很快,层数比较少,虽然成绩不是最好的,但效果我觉...

2019-11-08 17:34:29 585

原创 Deep Plug-and-Play Super-Resolution for Arbitrary Blur Kernels(DPSR)论文阅读

Deep Plug-and-Play Super-Resolution for Arbitrary Blur Kernels(DPSR)论文阅读这篇论文做的是超分辨率与去噪一起完成的图像修复工作,在前人(IRCNN)的基础上加以改进。(当然了,毕竟都是同一批人的作品嘛)这篇文章提出四个主要贡献:1、提出了一个更接近实际的退化模型。2、提出的方法可以处理任意的模糊核(不过没试过它能不能处理模...

2019-11-04 11:21:45 397

原创 leetcode 29 两数相除 c++

29两数相除题目链接:https://leetcode-cn.com/problems/divide-two-integers/这题目真的很恶心…让我感觉溢出是c++的核心问题了。这题目标签上给的二分法,就是把商从0到231−12^{31}-1231−1用二分法不停的试(先把除数和被除数变成正的,当然这又涉及到溢出了),不过我没这么做。我是用的移位比较,其实就是竖式除法,这溢出处理真的把我恶心...

2019-09-30 18:14:40 265

原创 leetcode 26删除排序数组中的重复项 c++

26删除排序数组中的重复项题目链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/这个题目给我上了一课,不要盲目用STL中的方法,有些时候这样做是很慢的(比如这个题目,居然要我别管内存泄漏的问题,emmm)。这个题目第一眼看过去,把所有重复的数erase掉就可以了(因为是排好序的,所以重复的值一定连在一...

2019-09-30 16:29:04 113

原创 leetcode 24 两两交换链表中的节点 c++

24两两交换链表中的节点题目链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs/本身只是实现并不难,直接换一下val就行了。但这道题不准偷懒,必须交换节点,所以是一道重视基本功的题目,理不清了就画个图好了。需要注意一下原链表只有0个或1个节点的情况。/** * Definition for singly-linked list....

2019-09-30 15:35:32 102

原创 leetcode 22括号生成 c++ 补17

22括号生成 17题目链接:https://leetcode-cn.com/problems/generate-parentheses/这道题目的思路是回溯,有没有不用迭代的方法写出的回溯呢…class Solution {public: void put(vector<string>& result,string tem,int left,int right,...

2019-09-30 15:01:24 229

原创 leetcode 20 有效的括号 c++

20有效的括号题目链接:https://leetcode-cn.com/problems/valid-parentheses/这题没啥难的,用栈一下子就完事了,不过第一次写出测试时间为0ms的代码,还是挺有趣的。class Solution {public: bool isValid(string s) { bool result=true; sta...

2019-09-29 17:17:18 144

原创 leetcode 15 三数之和 c++ 补16题

15三数之和题目链接:https://leetcode-cn.com/problems/3sum/这个题目也是双指针,两数之和的加强版。虽然很明显最优解是O(n2)O(n^{2})O(n2)的,但是关键在于怎样能够在其他地方节省时间。比如这一题中不需要重复的解(也就是一模一样的三数组合),如果采用和现有解空间对比的法子就太慢了,如果可以找到方法跳过重复的数,就会好很多。class Solut...

2019-09-29 13:16:35 82

原创 leetcode 11 盛最多水的容器 c++

11盛最多水的容器题目链接:https://leetcode-cn.com/problems/container-with-most-water/这道题目展示了双指针的强大,我觉得涉及到一维的问题时,就可以考虑双指针,不只是数字问题,字符串类问题也有可能有效。class Solution {public: int maxArea(vector<int>& hei...

2019-09-27 16:18:46 309

原创 leetcode 1 两数之和 c++

1两数之和题目链接:https://leetcode-cn.com/problems/two-sum/这道题目主要是练习了一下哈希表,原来叫hash_map,现在进了STL,改叫unordered_map了。class Solution {public: vector<int> twoSum(vector<int>& nums, int ta...

2019-09-27 15:51:31 77

原创 leetcode 8 字符串转换整数 (atoi) c++

8字符串转换整数 (atoi)题目链接:https://leetcode-cn.com/problems/string-to-integer-atoi/)class这题目我拿哈希表做的,其实也就是起个字典的效果,维护起来比较容易,但是速度真的慢…另外发现了,string中的单个元素是可以直接拿来和char型做比较的,用typeid().name()一看,结果发现单个元素的类型就是char…c...

2019-09-26 12:22:07 63

原创 leetcode 7 整数反转 c++

7整数反转题目链接:https://leetcode-cn.com/problems/reverse-integer/submissions/这个题也是一个输出控制,本身不难,难在对特殊测试样例的处理。题目要求反转后溢出的数(在$ [−2^{31}, 2^{31} − 1]范围以外),输出结果要是0,这就挺烦的了。我是先把负数输入变成正的,再取余移位,但这里就有个问题,负数是可以输入范围以外...

2019-09-26 11:19:49 113

原创 leetcode 6 Z 字形变换 c++

6最长回文子串补一个题目位置。https://leetcode-cn.com/problems/zigzag-conversion/这题是输出控制,实现了就行。我的想法:这些字母的排列是按2∗(numRows−1)2*(numRows-1)2∗(numRows−1)的方式呈周期性的,所以对2∗(numRows−1)2*(numRows-1)2∗(numRows−1)取余就可以了。要注意num...

2019-09-26 09:50:51 152

原创 leetcode 5 最长回文子串 c++

5最长回文子串我的想法:回文子串一定得有一个点做中心(或者两个点),遍历着去试,看看哪个点(或者和它临近的点一起)做中心形成的回文串最长。class Solution {public: string longestPalindrome(string s) { int i=0; int j=0; int k=0; int ...

2019-09-25 21:12:15 79

原创 leetcode 42 接雨水 c++

42接雨水我的做法:我是这样想的,水肯定是放在两个峰中间的,所以目标是找到邻近的峰k,然后在中间填水,填多高依矮一点的峰来决定(木桶效应嘛)。所以先找到最高的峰,然后依次向左右找到次高的,把中间填满水,再继续向左右找,找到没有峰了为止。给出代码:class Solution {public: int add_all(vector<int>& height){ ...

2019-09-25 19:31:07 113

原创 %time与%timeit

%time %timeit要在IPython下才可以使用。%time可以测量一行代码执行的时间%timeit可以测量一行代码多次执行的时间# 一个非常大的字符串数组strings = ['foo', 'foobar', 'baz', 'qux', 'python', 'Guido Van Rossum'] * 100000%time method1 = [x for x in str...

2019-09-25 15:41:35 13618 2

空空如也

空空如也

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

TA关注的人

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