自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 How to be a Software Engineer?

Motivation真正意义上,2018.7.9我敲下的第一行代码是python2的代码“print ‘hello world’ ”。到今天,我不断地自学,看博客,写博客。我仍然感觉到,我错了。我错在-----我应该驱动自己不断的阅读有关于计算机科学的书,而不是只会看别人的博客,学习别人吃过又吐出来的东西。所以我决定在这篇置顶的博客中记录我的职业生涯阅读过的所有计算机科学书籍,从编程语言,到算...

2019-12-16 20:57:32 217

原创 music transformer:generating music with long-term structure

1.Motivation音乐作品在结构和意义上有大量的重复,这种自相关性体现在多重时间尺度上,从主体到乐句上都重复使用整段的音乐章节,比如说在音乐片段中的ABA结构。使用self-attention机制的transformer模型在机器翻译这类需要保持sequence很长连贯性的任务上取得巨大成功,这表明或许transformer很适合构建音乐生成和音乐表现,当然,相对的timing对音乐来...

2020-07-09 15:04:20 4281 3

原创 别再问我topk问题了

别再问我topk问题了215. 数组中的第K个最大元素在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素全局排序法快速排序,然后直接输出第k个最大的元素,时间复杂度O(nlogn)冒泡法如果k比较小,考虑用冒泡法class Solution: def findKthLargest(self, nu...

2020-04-12 21:21:24 327

原创 C++primer学习笔记3

构造函数初始值列表如果类的成员有const, 引用,没有提供默认构造函数的类类型。那么我们必须通过构造函数为这些成员赋初始值。class Testcase{ public: Testcase(int ii): i(ii), ci(ii), di(ii){}; private: int i; const int ci; int &di;...

2020-01-12 14:56:50 187

原创 C++_primer学习笔记2

字符串读取未知数量的string对象,碰到空白就会停止将读到的内容存到string对象中int main(){string = word;while(cin>>word) cout<<word<<endl;return 0;}使用getline读取一整行, getline函数只会碰到换行符才会将读的内容存入到string对象中(抛弃换行...

2019-12-01 14:26:26 139

原创 C++_Primer学习笔记(1)

引用引用定义的时候必须同时初始化,一旦初始化完成,引用将和初始值对象一直绑定在一起。引用无法绑定在字面值或者某个表达式的计算结果上,必须绑定对象上,且绑定的对象和声明的引用类型需严格匹配。int value = 1024;int &r; //错误,没有初始化int &r = value //合法int &r = 10 //错误double value = 0....

2019-11-23 14:53:26 201

原创 Keras 1 和 Keras 2 模型结构不兼容ValueError Improper config format {'l2' 9

Keras 1 和 Keras 2 模型结构不兼容:ValueError: Improper config format: {‘l2’: 9.999999747378752e-06, ‘name’: ‘L1L2Regularizer’, ‘l1’: 0.0}Bug背景:这个问题在keras上有一个issue: 当用keras 2来读取keras 1保存的预训练模型时,不能够读取,会报如...

2019-09-23 19:49:10 1335 5

原创 leetcode458 可怜的小猪

leetcode458 可怜的小猪有 1000 只水桶,其中有且只有一桶装的含有毒药,其余装的都是水。它们从外观看起来都一样。如果小猪喝了毒药,它会在 15 分钟内死去。问题来了,如果需要你在一小时内,弄清楚哪只水桶含有毒药,你最少需要多少只猪?回答这个问题,并为下列的进阶问题编写一个通用算法。进阶:假设有 n 只水桶,猪饮水中毒后会在 m 分钟内死亡,你需要多少猪(x)就能在 p 分...

2019-08-25 12:49:47 603

原创 pytorch学习笔记(3) 动态调整学习率和如何提取CNN中间层的输出

pytorch学习笔记(3) 动态调整学习率和hook函数的使用.动态调整学习率def adjust_learning_rate(optimizer, epoch, params): lr = params["LEARNING_RATE"] * (0.1 **(epoch // 20)) for param_group in optimizer.param_groups: ...

2019-07-23 00:23:53 1444 1

原创 钢琴转录论文Onsets and Frames:dual-objective piano transcription

论文|Onsets and frames: dual-objective piano transcription1.文章出处发在2018ISMIR,来自Google Brain团队,paper链接2.文章简介“这篇文章已经把钢琴自动转录未来五年甚至十年的工作都做完了”. 我们用程序Demo转换了一首比较复杂的钢琴曲,听到转录的结果, 于是发出了这样的感叹.本篇论文主要解决的问题是复音...

2019-06-26 15:35:25 3528 13

原创 Pytorch学习笔记(2): 一维卷积, RNN, LSTM详解

一维卷积torch.nn.Conv1d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode=‘zeros’)这个函数用来对输入张量做一维卷积in_channel和out_channel是卷积核个数kernel_size是卷...

2019-06-19 15:35:05 8947 1

原创 GIt 总结

GIt 总结GIt 有三大区:工作区,暂存区,版本库,以及untracked,unstaged,uncommited三个状态项目文件夹里出去.git这个隐藏文件,其他文件都在工作区,工作区的文件通过git add添加到暂存区,git commit提交到版本库。新建的文件都是untracked状态,通过git add添加到暂存区,git就会在暂存区生成一个该文件的索引,此文件处于uncommit...

2019-06-12 14:36:21 246

原创 在Spotify使用深度学习做音乐推荐(Recommending music on Spotify with deep learning)

August 05, 2014这篇博客做的工作非常inpressive,我花了陆陆续续大概一周之间将它翻译成中文。作者是比利时根特大学毕业,博士期间一直在做music information retrieval的工作,现在他是Deepmind的一名研究科学家。前言今年夏天,我在纽约Spotify实习,我的实习工作是使用卷积神经网络基于音乐内容做音乐推荐,在这篇博客中,我会解释我的方法和展示一...

2019-05-27 19:20:39 1180 2

原创 建堆与堆排序详细解析

1.堆的特性堆有大根堆和小根堆,大根堆的子树,父结点比子结点都要大,小跟堆的子树,父节点都要比子结点小。堆有这样的特性:n个元素的堆的高度是lognlognlogn,因为堆是一棵完全二叉树或者近似一棵完全二叉树。堆中,如果父节点的index是n,那么这个结点的左右子结点的index 分别是2∗index+1​2*index+1​2∗index+1​和2∗index+2​2*index +...

2019-04-08 13:40:52 4203 2

原创 用ssh远程登录linux出错解决办法

用ssh远程登录linux出错解决办法1.报错情况ssh:connect to “my host” port22:Connection refused从服务器端想要传输文件回本地端时,首先出现这个问题,最开始尝试的解决办法是我没有装openssh-server于是我用了以下两条命令sudo apt-get purge openssh-server sudo apt-get in...

2019-04-01 12:37:26 466

原创 Pytorch学习笔记(1):pytoch中如何加载训练数据

1.为什么不需要自己写加载方法pytorch中提供了两个类用于训练数据的加载,分别是 torch.utils.data.Dataset和 torch.utils.data.DataLoader 。不像torchvision中集合了很多常用的计算机视觉的常用数据集,作为在音乐信息检索这方面,数据集要自己设计加载方法。如果每次不同的数据集都要自己写函数加载,每次读取代码不能够重用,不同的数据读取...

2019-03-29 21:48:00 949

原创 LeetCode刷题之路(六)

这五道题全部都是和树的遍历有关系,也是非递归的二叉树遍历写法,有前中后序三种遍历,按层遍历。总结如下。LeetCode94二叉树的中序遍历算法思路:二叉树的前序遍历和中序遍历代码基本一致,不同的地方在于什么时候该访问父节点。非递归的写法主要是使用一个栈来保存已经访问过的结点,其实树的前中后序三种遍历就是深度优先搜索的变形。具体的来说,中序遍历一直将访问到的结点入栈,继续访问该结点的左子结点,...

2019-03-24 20:33:12 207

原创 LeetCode刷题之路(五)

LeetCode33搜索旋转排序数组算法思路:这是一道好题。题目要求算法时间复杂度是O(logn)级别,那显然只能用二分查找了,关键在于二分查找算法只能用于有序的排列,而这道题给出的数组并不是有序的序列,在某个点上进行了旋转。那么我们应该怎么找到有序的子序列呢?我们只需要判断序列的第一个值和序列中间值的大小就可以判断。因为这是一个有序的序列的必要条件。具体的,先进行判断子序列是否是 有序子序...

2019-03-19 10:22:01 187

原创 leetcode刷题之路(四)

leetcode15三数之和算法思路:这道题我开始想到就是要固定一个数,然后要用双指针来做,但是两个指针的移动覆盖所有的数据,这样如何更新我没有想明白。这是道好题正确的解法应该是先将数组排序,遍历数组,固定一个数,再用双指针从这个数的右边开始遍历。如果将双指针从数组的起点和端点开始遍历,会得到很多重复的满足条件的组,因为考虑了重复的组别**。所以这里要能想到将双指针从这个数的右边开始遍历就会...

2019-03-13 10:55:44 189

原创 LeetCode刷题之路(三)

LeetCode35搜索插入位置算法思路:我认为这这道题就是考察二分查找法。常见的二分查找考察的方法有:给定一个有序的数组,查找target值是否在数组中给定一个有序数组,查找target第一次出现的下标(同样也有最后一个出现的下标)给定一个有序数组,查找最接近target且大于target的数的下标(最接近target且小于target的数的下标)这个链接有整理好关于二分查找算法...

2019-03-07 15:49:50 336

原创 jupyter notebook出现kernel error解决办法

使用jupyter kernelspec list 命令查看jupyter的内核是否是正确的内核如果不正确,使用jupyter kernelspec remove 内核名 删除掉内核使用python -m ipykernel install --user 安装内核参考博客1.https://blog.csdn.net/u012151283/article/details/54565467...

2019-03-02 17:12:30 17016 1

原创 LeetCode刷题之路(二)

LeetCode20有效的括号算法思路:这道题就是一个栈就能解决,不多说,碰到’(’,’[’,’{’,入栈,遇到’)’,’]’,’}’。弹出栈顶的元素,匹配是否是一对,不是则结束输出无效。如果所有的输入完成,栈不为空,输出无效,其它情况都是有效的class Solution: def isValid(self, s: 'str') -&gt; 'bool': if s ...

2019-02-27 16:28:03 158

原创 理解Python中的defaultdict

在Python中,如果访问字典中不存在的键时会引发KeyError的异常。但是如果字典中的键如果能够有默认的值有时候是非常方便的。比如以下的例子:strings ={'puppy','kitten','puppy','puppy','wesel','puppy','kitten','puppy}counts = {}for i in strings: counts[i] += 1以上这...

2019-02-25 14:10:49 9075 2

原创 LeetCode刷题之路(一)

LeetCode1.两数之和(2019.2.17日)直接思路:暴力求解从list的两端开始遍历,一直遍历到两端指向同一个元素,如果遍历过程中找到了两个元素之和等于target,返回索引,没有则将首端的指针指向下一个元素。显然算法复杂度为O(n2)class Solution: def twoSum(self, nums, target): &quot;&quot;&quot; :t...

2019-02-22 13:40:00 564

原创 如何提取出一首歌曲的梅尔频谱

如何提取出一首歌曲的梅尔频谱1.声谱图如下图1一段声音信号直观地看起来是时间和能量的关系,在语音识别,音乐信息检索中常常关注的是声音中频率和能量的关系,即声谱图描述的就是频率和能量的关系。所以我们拿到一段音频需要先进行初步的处理,获得它的声谱图。具体的做法则是将声音信号分帧,然后对每一帧都用短时傅里叶变换处理,当然进行傅里叶变换之前还预先需要对声音信号进行预加重,加窗。2.梅尔频谱由于人...

2019-02-18 20:32:27 3864 2

原创 CNN应用在MNIST分类

CNN应用在MNIST分类本次是机器学习作业课的作业。实验基于keras,构建了一个两个卷积层,两个全连接层的网络,第二个卷积层后加入了dropout率为0.25的dropout处理,在第一个全连接层后加入drop率为0.5的dropout处理。十二个epoch后停止训练,能够在测试集上获得99.08%的accuracy。&gt; 这是训练过程&gt; Epoch 1/12&gt; 6...

2018-12-15 19:14:54 790

原创 在linux下如何批量将mp3文件转换为wav文件

在linux下如何批量将mp3文件转换为wav文件最近一个项目需要音频的wav文件,而目前下载的数据集都是mp3格式的音频文件,所以我需要批量转换为wav文件。在ubuntu16.04下有FFmpeg这个软件提供音频视频格式转码功能。首先安装FFmpeg$ sudo apt-get install FFmpeg安装成功之后我写了一个这样的脚本执行转换。#!/bin/shfor i ...

2018-12-14 16:35:14 2599 2

原创 基于多层感知机的反向传播算法推导

反向传播算法前馈神经网络的反向传播推导定义如下记号描述网络:LLL:神经网络的层数nln^{l}nl:表示第lll层神经元的个数fl()f_{l}()fl​(): 第lll层神经元激活函数W(l)∈Rnl×nl−1W^{\left( l \right)} \in R^{n^{l} \times n^{l - 1}}W(l)∈Rnl×nl−1:表示第l−1l -1l−1层到第lll...

2018-12-10 11:38:39 1159 2

原创 使用tensorflow遇见的坑(不断更新!)

使用tensorflow遇见的坑1坑1描述:安装了tensorflow-gpu版本以后,在pycharm中用样例代码测试tensorflow是否安装成功时。出现了如下错误。直接的错误时:ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directoryTraceback (most...

2018-11-13 15:47:53 3067

原创 F1 score,micro F1score,macro F1score 的定义

本篇博客可能会继续更新最近在文献中经常看到precesion,recall,常常忘记了他们的定义,在加上今天又看到评价多标签分类任务性能的度量方法micro F1score和macro F2score。决定再把F1 score一并加进来把定义写清楚,忘记了再来看看。F1scoreF1score(以下简称F1)是用来评价二元分类器的度量,它的计算方法如下:F1&amp;ThickSpace;...

2018-09-28 19:30:08 6085 3

转载 机器学习小窥系列...Logistic回归算法中回归系数详解

&nbsp;Logistic回归总结作者:洞庭之子微博:洞庭之子-Bing(2013年11月)PDF下载地址:http://download.csdn.net/detail/lewsn2008/65474631.引言看了Stanford的Andrew Ng老师的机器学习公...

2018-08-09 21:14:03 1697

原创 《机器学习实战》详细读书笔记...KNN算法

第二章 KNN算法KNN算法又名K-近邻算法,这是我接触的第一个机器学习算法,非常有效且易于掌握。简单的来说它是通过测量不同特征值之间的距离来进行分类。它具体的工作机制为: 给定测试样本,基于某种距离度量法则找出训练集中与其最靠近的k个训练样本,然后基于这k个“邻居”的信息进行预测,通常在分类任务当中使用“投票法”,即选择这k个样本当中出现最多的类别标记作为预测结果,在回归任务当中可以...

2018-08-06 16:10:54 245

原创 《机器学习实战》详细读书笔记...决策树算法

说在这个系列前面的话:这个机器学习小窥系列是我学习Peter Harrington的《机器学习实战》和周志华的《机器学习》两本书的一些心得,读书笔记。第一次学习机器学习的一些算法,学习的过程当中对于一些内容我适当地先省略掉了,比如说决策树算法中一些防止过拟合的措施,等以后有必要再补上这些内容。然后我认为这个系列最重要的一个贡献就是:我为《机器学习实战》上的代码加上了我自己理解的注释,众所周...

2018-08-05 16:48:01 374

空空如也

空空如也

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

TA关注的人

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