自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python实现AUC

问题描述:在牛客看到面经说手撕AUC,所以实现一下。首先要明白AUC的物理含义不仅是ROC曲线下的面积,AUC还有另外一个物理含义就是:给定正样本M个,负样本N个,以及他们的预测概率(0-1)之间,那么AUC的含义就是所有穷举所有的正负样本对,如果正样本的预测概率大于负样本的预测概率,那么就+1;如果如果正样本的预测概率等于负样本的预测概率,那么就+0.5, 如果正样本的预测概率小于负样本的预...

2019-07-22 20:20:16 6577

原创 python实现次数排序并且保持出现顺序不变

问题背景: 有一个列表数据,现在要按照出现次数最多的来降频排序,并且当次数相同时保持数据出场的顺序不变。 如果使用C++需要采用优先队列和字典计数,但想着python应该不需要这么复杂吧。#待数据 :data = [7, 3, 3, 3, 5, 5, 5, 5, 6, 6, 6, 1]#目标数据:ans = [5, 5, 5, 5, 3, 3, 3, 6, 6, 6, 7...

2019-06-27 20:51:23 1584

原创 python实现二维列表(list)的旋转、反转

讲在前面的话,在leetcode刷到一道in-place的旋转图像的题,同时在想如果不原位旋转的话,肯定有其他简单的方法的,答案是肯定的。顺便写篇博客来记录一下Python中的反转list的方法。1.Python中反转list的几种简单方法1.1 使用reversed()的函数,它是一个生成器,返回一个对象nums = [1,2,3,4,5]reversed_nums = list...

2019-04-15 12:15:28 9615

原创 python实现剑指offer中的替换空格(in-place)

讲在前面的话,网上关于这道题的Python解法很多,但是大多是都是重新创建一个list,本文旨在在使用一个技巧list的extend方法来在原来的list上扩展, 这样的话就不用再开一个list了。1.题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。2.show me...

2019-04-09 18:49:26 343

原创 Python实现图的经典DFS、BFS、Dijkstra、Floyd、Prim、Kruskal算法

讲在前面的话,图的算法太多,理论知识肯定一篇博客讲不完,关于理论知识大家可以参考教材Sedgewick的《算法》或reference的链接,本文主要还是想在一篇博客中记录六种算法的Python代码。同样想吐槽一下,虽然网上博客很多,但是并不代表他们的代码都是正确的,还是要看经典教材啊,教材这么多人在用,所以出现错的概率会低一些。在这讲一下自己对这些算法的核心思想的一些个人理解,很多东...

2019-04-07 14:29:13 1090

原创 Python实现四大经典查找算法

本文主要实现查找算法中的二分查找算法,顺序查找,插入查找算法以及fibonacci查找算法,个人认为以上查找算法本质的不同其实就是缩小的区间方式不一样罢了。二分查找算法采用二分缩小区间的方法;顺序查找算法每次缩小一个单位区间;而插入查找算法则通过数据的分布特征来重新计算区间:,就是二分查找的升级版本;最后的fibonacci查找算法的缩小区间的方法则是通过fibonacci数列来确定。同样...

2019-04-06 22:39:13 2561

原创 python实现字符串模式匹配KMP算法

讲在前面的话,KMP算法是字符串中匹配的快速算法,时间复杂度为O(m+n) 。KMP算法的核心思想主要通过分析前面字符串的信息的来滑动匹配字符串,避免当不匹配时像传统匹配算法回溯到匹配字符串的开头,而当不匹配时如何滑动这个问题就是由next[j]数组来决定,而求next[j]数组的核心思想就是将匹配字符串互相错开一个位置来计算。关于具体理论和图解部分请参考reference。1....

2019-04-06 22:02:43 568

原创 Python实现八大经典排序算法

1、写在前面的话 本篇博客并不涉及到排序算法的理论讲解,具体理论可以参考reference的链接,并且强烈推荐数据结构和算法的可视化网站【0】。本文给出八种经典的排序算法的Python实现代码和部分注解,算是一个总结,也感谢网络众多优秀的博主分享他们的idea,站在巨人的肩膀上果然成长很迅速。排序可以说在经典算法中是很重要的一部分,对于常见的排序算法要做到本能的敲出代码,了解各种算...

2019-03-19 19:59:49 576 1

原创 遍历二叉树,一篇博客就够了

讲在前面的话,网上一搜遍历二叉树出来的结果真的是良莠不齐,简直不能忍啊,很多前序、中序、后序遍历分别用三个结构不一样的算法来描述,这谁能顶得住啊!!!遍历二叉树代码,看一篇博客就够了。1.二叉树遍历分类:  一般我们二叉树分为前序、中序、后序遍历(说明:本文不包括层次遍历),假设用L、D、R分别表示遍历左子树、访问根节点、遍历右子树,前序、中序、后序遍历可以分别表示为DLR、...

2019-03-14 19:15:49 972

原创 Python3 函数中类型注解(Function Annotations)

问题描述:def read_text(path: Path, encoding=None) -> str: """ Not Path.read_text for compatibility with Python 3.4. """ with path.open(encoding=encoding) as f: return f.read(...

2019-01-24 16:42:46 4142

原创 配置深度学习环境重启后,Linux 用户登录界面死循环登入,一篇博客就够了。

对,就是参考一篇博客就够了,网上其他都瞎bb。reference:https://blog.csdn.net/ssmixi/article/details/73483795

2019-01-23 11:05:43 2065

原创 [python技巧]Linux终端下使用Python和tee命令

问题背景:        在跑深度学习的情况下,需要在Linux终端下直接使用python命令来执行程序,但是我不仅想显示在屏幕上,还想把log文件保存到本地,来分析结果。这时候就需要用到Linux的管道命令和重定向命令tee来实现。解决方案:        关于tee命令可以参考[1] [4],Python在终端的使用可以参考[2]。 python -u stout.py | ...

2019-01-23 10:45:01 5061

原创 Pytorch load深度模型时报错:RuntimeError: cuda runtime error (10) : invalid device ordinal

问题背景和描述:  我是在服务器上用显卡2上训练我的模型,但是模型还在继续跑,所以我只能在其他显卡上重新做测试实验看效果的好坏。在pytorch上重新load训练好的深度学习模型时报错:RuntimeError: cuda runtime error (10) : invalid device ordinal at torch/csrc/cuda/Module.cpp:32。THCuda...

2019-01-21 15:11:30 11161 1

原创 Python中open()函数打开文件路径报错问题

问题描述:    在python使用内置open()函数来对文件的操作时,如果参数传入的是windows路径很容易出现报错。比如:TypeError: invalid file,OSError: [Errno 22] Invalid argument。这是因为windows路径是以“\”作为分界符,与python中的转义字符“\”产生冲突,导致报错。解决方法:1.将路径改为以“...

2019-01-21 12:18:35 3270

原创 [python技巧]使用pickle.dump出现memoryError

问题描述:    在使用pickle来持久化将大量的numpy arrays存入硬盘时候,使用pickle.dump方法的时出现MemoryError。解决办法:    本质原来是因为pickle本身的一些bug,对大量数据无法进行处理,但是在pickle4.0+可以对4G以上的数据进行操作,stack overflow上有人给出了一些解释和分批次写入disk的方法 。    但是...

2018-10-26 12:38:19 10739

原创 Windows10+Python下的音频处理库librosa打开文件是显示NoBackendError的解决

问题背景:    在windows下配置了anaconda的深度学习的tensorflow环境来跑语音数据,在load数据时发现竟然报错Raise NoBackendError(),简直疯了,what?竟然没有后台是神马情况,只能看源码。  debug进入源码:with audioread.audio_open(os.path.realpath(path)) as input_fil...

2018-10-24 16:30:52 13186 13

原创 ubuntu14.04下无法连接无线网络

问题描述:在ubuntu14.04下安装了pci口的intel-5300无线网卡,可以搜到wifi列表,但是却始终无法连接上wifi信号,此情况如:这位兄台的情况。解决方法:第一直感肯定是网卡驱动问题, 更新无线网卡驱动方法,果然更新无线网卡的驱动后问题解决了。至于网上很多修改managed=false,其实不懂linux的话不要盲目修改这这几个配置文件,这是网卡的配置文件,具体内...

2018-10-02 22:18:06 1557

原创 红米1S的android 4.4.4刷机到android 7.1的Lineage OS 14.1

1.动机    起初我是为了上一个需要在android5.0版本系统上运行的APP,无奈我的红米1S是android4.4.4,所以才刷机。试过官方的升级和开发版,最后的结果还是不行,因为手机太老了,都没有5.0以上版本的包可用,最后只能刷第三方的包。    写这篇博客并不是手把手教大家如何刷机,因为MIUI论坛和网上都有各种刷机教程,不过我还是会提供一些有用的链接。并且把自己在刷机过程中...

2017-12-13 21:04:57 11661 2

原创 Private Set Intersection(PSI)简介和资料分享

1.什么是Private Set intersection(PSI)?用英文定义是:A private set intersection protocol consists of two parties,a Sender and a Receiver, each having a set as input, which respectively are denotedX and Y.

2017-07-13 19:41:15 7810 3

原创 第一次的博客

版权声明:本文为博主原创文章,未经博主允许不得转载。          终于本科毕业了,之前不知道给自己说过多少次 ,要开始把自己遇到并且解决的问题写在博客上,可是一直在拖延。或许因为心情不好不想点开CSDN,或许因为一直没有勇气去尝试第一次的博客,或许刚好那天我的白球鞋脏了我在擦鞋。但是今天的自己要告诉自己开始写博客。      前些日子刚毕业,离开了西电的感觉真的是

2017-07-04 16:19:16 302 2

空空如也

空空如也

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

TA关注的人

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