用 Numba 加速 Python 代码,变得像 C++ 一样快

目录 介绍 为什么选择 Numba? Numba 是如何工作的? 使用 Numba 的基本功能(只需要加上@jit) @vectorize 装饰器> 在 GPU 上运行函数 1. 介绍 Numba 是 python 的即时(Just-in-time)编译器,即当您调用 python 函数时,您的全部或部分代码就会被转换为“即时”执行的机器码,它将以您的本地机器码速度运行!它由 Anaconda 公司……

阅读全文

最大回文字符串算法Manacher

在刷leetcode时有个求最长回文字符串的问题。 #官方题解提供了4中解决办法,分别是 1.暴力法, 2.动态规划, 3.中心扩展算法, 4.就是我们今天要介绍的Manacher方法。 在介绍算法之前,首先介绍一下什么是回文串,所谓回文串,简单来说就是正着读和反着读都是一样的字符串,比如”……

阅读全文

python查找两个数组公有值

生活中经常碰到需要获取两数组公有值,那么python如何优雅获取两个数组之间的公有值,这里提供多种简单实用方法。 1.使用set元组的 & list1 = [1,2,3,4,5,6,7] list2 = [1,3, 5, 7, 9] set(list1) & set(list2) #{1, 3, 5, 7} 2.使用set元组的intersection交集 list1 = [1,2,3,4,5,6,7] list2 = [1,3, 5, 7, 9] set(list1).intersection(list2) #{1, 3, 5, 7} 3.暴力查询list元素是否在第二个l……

阅读全文

Python3二进制数值表示和位操作

在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数,如果字符串是二进制的话,使用位运算异或可以非常简单的算出两字符串的汉明距离。 这里我们将介绍python3中如何使用二进制的使用以及二……

阅读全文

Python实现经典排序算法(1)

在计算科学中,一个排序算法是一种能将一串数据依照特定排序方式进行排列的一种算法。最常用到的排序方式是数值顺序以及字典顺序。有效的排序算法在一些算法中是重要的。排序算法也用在处理文字数据以及产生人类可读的输出结果。 基本上,排序算法的输出必须遵守下列两个原则:1. 输出结果为递增序列(……

阅读全文

faceswap训练资源获取与处理

在上回faceswap深度学习AI实现视频换脸详解文章后,大家都已经学会了怎样通过训练模型来使用AI进行视频中人物脸部替换。但是现实中用来训练AI的图片资源的获取以及前期处理非常重要,如果没有良好的符合标准图片进行训练的话,也就无法获得良好的模型。 1.谷歌图片批量下载 作为一名程序……

阅读全文

Seaborn绘制核密度曲线实例详解

在频率分布直方图中,当样本容量充分放大到极限时,组距极限缩短,这个时候频率直方图中的阶梯折线就会演变成一条光滑的曲线,这条曲线就称为总体的密度分布曲线。 这篇文章春江暮客将详细介绍如何使用python绘图库seaborn和panda里面的iris也就是鸢尾花卉数据集来绘制各种炫酷的……

阅读全文

faceswap深度学习AI实现视频换脸详解

春江暮客将给大家介绍最近超级火的黑科技应用deepfake,这是一个实现图片和视频换脸的app。前段时间神奇女侠加尔盖朵的脸被换到了爱情动作片上,233333。我们这里将会从github项目faceswap开始一步一步实现一个视频换脸的教程。 注意: 本技术存在一定的使用风险,本教程……

阅读全文

python3绘制炫酷的红楼梦词云

词云,相信大家都看到过,这是一个使用python的著名的词云工具wordcloud库绘制而成的,本文将详细介绍如何使用wordcloud绘制中国四大名著之一的《红楼梦》的词云。 1.准备工作 包括3部分: 2.wordcloud库和jieba库,可使用pip install wordcloud,pip install jieba进行安装 3.……

阅读全文

python生成器generator,yield

在python学习过程中,像这些使用if else流程控制或者说函数的定义和使用都比较好理解,但是生成器是一个相对来说很难理解的概念,使用也就相对困难,本文将详细解析python里面的生成器。 1.什么是python生成器 python生成器generator是一个通过调用yield返……

阅读全文