河南南阳收割机被堵事件:官员缺德,祸患无穷

极目新闻领导公开“记者毕节采访被打”细节:他们打人后擦去指纹

突发!员工跳楼!只拿低保工资!央企设计院集体罢工!

退休后的温家宝

突发!北京某院集体罢工!

自由微信安卓APP发布,立即下载! | 提交文章网址

统计学人

【transformers源码阅读】如何将flash attention算法用在工程中——来看看transformers怎么做的

https://github.com/lucidrains/x-transformers更多我喜欢阅读transformers源码,如果对nlp和transformers包源码感兴趣,欢迎关注我~
5月14日 下午 3:38
5月3日 下午 4:57

transformers包介绍——nlp界最顶级的包——可以不用 但不能不知道——python包推荐系列

背景1现在在AI行业,什么最火?计算机视觉还是自然语言处理?其实不得不说,现在nlp很火。还有人记得上个月很多科技爱好者都在玩的chatgpt么?那个就是nlp技术的一大应用。现在都在觉得AI赚钱,工资高,然后很多人都想做一些事情、很多企业都想做一些事情,和AI挂钩的。现在AI里面算是比较有活力的,就是nlp领域。背景2经常能看到一些读者在群里问:“现在nlp方面的包,应该用什么?”“现在想做一个文本分类的代码,而且我还要求是中文的,我应该怎么实现呢?”“现在想做中文的文本搜索,想做问答机器人,我怎么实现呢?”“现在想做一些更加高级的东西,比如文本纠错、文本摘要等,应该怎么实现呢?“”我想学习pytorch,想要了解python关于AI方面的应用,我应该看什么源码呢?““我现在想做文本搜图,我现在想做让文本写唐诗,我应该怎么研究呢?”......还有更多so?如果我告诉你,你的大部分任务,可能就几行代码就搞定了,你会相信吗?如果我告诉你,就算是你想训练符合你自己数据的模型,也就是简单的导入数据即可。无需调整什么参数。训练完,即可直接发布,你会相信吗?当然,如果你像我一样,希望可以自己定义模型,自己开发模型,想要二次创作,但是苦于找不到学习案例,苦于不知道怎么改,那你可真得看看我接下来要推荐的东西了。总而言之,如果你对python、pytorch、机器学习、nlp技术(文本挖掘、文本分类、文本生成、文本搜索、问答机器人、搜索等)、计算机视觉、语音识别等领域感兴趣,或者想做一些类似的工具。这里需要说明一下:如果是python小白、nlp小白的话,还是建议看看这个包,起码是一个非常重要的包。在未来,遇到这个方向的时候,起码有解决方案。如果是python、nlp高级开发者,可以看看这两个包的源码。他的代码设计还是非常优秀的。可以学到不少知识点。ok那么,接下来,我将分享一个在GitHub上拥有7.8万个star的明星python包————transformers这个包将会打包你的所有困惑和焦虑,带你走上nlp不归路。正文多说无益,直接秀肌肉1.
1月14日 下午 1:24

vscode一个比较小众但是实用的功能

问题书的目录通常来说,一本书都是有目录的。不管是对于新书,还是老书。不管是对我们看过的,还是没看过的,基本上目录对于一个书本来说都是非常重要的。视频的目录在很久之前,YouTube的视频其实也都是分章节的了。这样我们可以通过标题和章节,大概知道视频的每一分钟都是在说什么东西,或者想要跳到感兴趣的部分,直接按照章节来索引即可。(注意下面的红线标注)代码的目录在哪里?那么问题来了,书本有目录,视频有目录,那么代码有目录吗?下面是nlp里面的transformers包的bert模型源代码。大概是有1800行代码,那么我们在阅读这个代码的时候,难道是一行一行的看么?这个代码有大概十几个类,每一个类都在那里,怎么写的,如何快速的从一类跳转到另外一个类?代码的目录对于代码的目录问题,其实主流的编辑器,都是带有这个功能的。比如vscode、pycharm等。(jupyer
2022年11月26日

vscode写python的强者姿势!

开头总所周知,python是动态类型语言、因此,你不需要像是C++那样,需要对变量进行声明之类的。也意味着我们能写代码可以更加的轻松。但是有的时候,如果当你python代码多起来的时候,给变量加上类型,其实还是很好的,结合现代的IDE(比如vscode或者pycharm),可以帮助你做类型推断,相关的属性推荐的会更加准确。vscode设置为了让我们的vscode显示类型推断,我们可以按照下面的步骤来:step1step2在红色框3的位置,输入hint然在红色框4的位置,找到pylance红框5代表:显示函数的类型,建议勾选。红框6表示:显示每个变量的类型,这个我不建议勾选。(当然,你勾选了其实也没啥大问题)如下图:上面就设置完成了。案例比如说,这里我们写一个函数,这个函数返回的是pd.DataFrame对象。那么我们就在函数后面加个->
2022年11月24日

PyQt5这么简单(一小时搞定)

需求最近我的产品经理(也就是我的读者们)给到这样一个需求:如何制作这样一个小工具:【小工具右边有些推广信息,已经被我打上马赛克了】这个工具有什么功能呢:给做这个小工具的人推广他的公众号
2022年9月18日

vscode写R语言代码

背景有时候,如果是随手写个R语言的代码的话,其实使用vscode是非常方便的。Rstudio虽然不错,但是有时候真的不想为了写个小的R脚本还要去打开Rstudio。现在我写的大部分代码都是使用vscode的,所以就懒得切换了。下面将进入完整的步骤~安装R环境如果本机上已经有R语言(版本是大于等于3.4的)。而且R是从CRAN官网上下载安装的,那就行了。安装vscode想要使用vscode,那肯定要安装他,直接去vscode官网下载就可以了。然后点击安装。如果感觉下载vscode慢、或者不知道怎么下载,就去百度一下即可。也可以看我之前的视频和文章。配置vscode上面两步做完了,那就到了配置vscode部分了。这部分比较复杂:安装vscode插件安装依赖的R包设置快捷键因为比较麻烦,这一部分我已经整理成视频了。可以点击链接查看阅读更多vscode国内下载慢解决办法2022-07-03
2022年9月17日

vscode写jupyter该注意的一两个点

notebook好,因为看不到这个jupyter文件的结构。这个其实是有的,在vscode的左侧,可以看到outline内容的,按照下方的图片的序号,就可以看到你的文件的大纲了3.
2022年7月10日

更新vscode到版本1.69的坑

first这两天,vscode发布了1.69版本,一大堆新功能,当然,这些都不是重点!😏像是往常一样,我点击了vscode更新按钮,更新完之后。我发现了一个巨大的bug!😵
2022年7月9日

比较m1-max和12代i9运行python的效率

https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/mandelbrot-python3-7.html是一个纯
2022年7月4日

vscode国内下载慢解决办法

背景vscode是一个非常好用的编辑器。不管是写python、rust还是一些前端代码等。但是有时候下载速度很慢。那么如果解决vscode下载慢?今天就分享一个技巧。方法放在正在下载的链接上。然后复制链接地址。比如我这里的链接地址为:https://az764295.vo.msecnd.net/stable/30d9c6cd9483b2cc586687151bcbcd635f373630/code_1.68.1-1655263094_amd64.deb。注意这里的域名是az764295.vo.msecnd.net。接下来,我们把az764295.vo.msecnd.net修改为vscode.cdn.azure.cn。然后再将完整的链接放到浏览器里面,回车就可以了。即把链接:https://vscode.cdn.azure.cn/stable/30d9c6cd9483b2cc586687151bcbcd635f373630/code_1.68.1-1655263094_amd64.deb放到浏览器里面,然后回车。阅读更多啊对对对
2022年7月3日

统计博士回答: numpy 为什么那么快?

[python_tips系列]常见的文件(夹)管理代码2022-06-27
2022年6月29日

[python_tips系列]常见的文件(夹)管理代码

背景随着处理的数据越来越复杂,有时候更多的是和文件系统做交互。比如说,通常有这些情况:创建文件夹。检查一个文件夹是否存在。查看一个文件是否存在。查看文件所在的文件夹、文件名、文件类型。查看文件夹所在的父文件夹路径。写入文件等。下面就分享一些代码小技巧,在需要的时候,就可以复制粘贴上使用。代码1.
2022年6月27日

python绘制竞速柱状图(RaceBar)

背景很久之前就想做这种racebar图,但是没做起来,这次打算把这个也完结掉。racebar大部分都是使用前端做的,python来做的很少(没怎么调查,不太清楚)。因此我想使用python来做处理。不需要写任何前端代码,几行代码即可画出这样的图。demo1.
2022年6月25日

[python科学计算]如何拟合数据

背景最近群里有个大哥,问关于如何实现这个图:看一下要素:整体上是一个散点图和折线图。其中散点图代表真实数据,折线反应的是算法拟合出来的数据。y轴的CH4是公式形式的。图上左上角添加了公式,添加了,
2022年6月17日

python代码补全小技巧

tips011——cached_property装饰器有什么用2022-05-20
2022年6月14日

页面埋点数据可视化

背景如果做过数据分析师,那肯定知道对埋点数据可视化其实很麻烦。说白了也就是对几个按钮做数据统计,看看点击情况之类的。但是怎么表达地生动?我之前看前同事用tableau-data做了一个图,非常的amazing。样子大概是这样的:这个图好在哪里?这个图怎么看?这个图通过箭头指出了:页面上每一个模块\按钮对应的折线图(或者叫区域填充图)。这个图区域填充图的颜色越深,代表数值越大。这个图区域填充图反映了整体的趋势(随时间关系)。因为大部分的埋点数据看板,都是单纯的把模块名称拿出来,然后画折线图之类了,这些给人很容易造成混乱,不知道到这个模块在页面的什么位置。但是这个图就可以将页面布局和数据完全展示。怎么画这个图1.
2022年6月13日

[python tips]写python的ide到底怎么选

参考https://www.zhihu.com/question/305437193/answer/1558527365阅读更多python
2022年6月12日

啊对对对 我就是在iwatch上用 vscode!

vscode在无人机遥控器用
2022年6月10日

python百宝箱 系列一

背景在学习python的过程中,收集到非常非常好的网页,我一般都存放在chrome书签里面,现在看着书签里面收藏的网页越来越多,我就把这些书签整理一下。下面将是对书签做的一个归纳,总结:关于可视化的内容https://www.stat.berkeley.edu/~nelle/teaching/2017-visualization/README.html
2022年6月2日

[妙用搜索引擎]解决GitHub不显示照片 下载单个文件难问题

背景国内的小伙伴,深受GitHub的网速影响(这在越南,也不能怪GitHub),比如看不到GitHub里面的照片,比如无法从GitHub下载单个文件(下载单个文件的时候,其实,链接的就已经是raw.githubusercontent.com网络了)。那么如何解决这个问题?如何高效、简单、快捷地解决这个问题?接下来就是分享这个方法。问题主要是什么原因呢?我觉得主要是越南对GitHub做了某种程度上的网络限制,导致GitHub访问不畅快。可能还有别的原因,比如有:dns污染host设置错误官方更新了dns,但是dns缓存没有被更新,导致错误解析。这么多原因,我也看不懂啊,就是为了看到GitHub上的图片,我要折腾这么多东西吧?并不会!!接下来就是分享一个高效的解决办法。最快的解决方法1.
2022年6月1日

python爬取王心凌歌曲评论

背景最近不是王心凌很火么,很多人这个时候,就会蹭热度。我这个文章也是。那么我这里分享一个关于,如何爬取王心凌歌曲《爱你》的评论的python代码(对网易云进行爬虫),当然换成别的歌曲链接也是可以的(只要是网易云的网站上的)。python
2022年5月28日

python tips011——cached_property装饰器有什么用

背景今天在查看transformers包的training_args.py源码部分。发现了一个装饰器@cached_property。不太懂是什么干嘛的,做什么用的。定位使用pycharm查看这个装饰器的源代码(在file_utils.py文件里),发现这个函数是这么写的:大概知道功能应该是和property差不多的。但是改写了__get__部分。分析作用我看这个代码这里面有这个setattr、
2022年5月20日

将pandas数据框转换为numpy格式

背景我经常逛stackoverflow的网站,喜欢顺着各个专题,看看常见的问题。我今天发现numpy专题下有个小问题,被浏览量1.4M次(按照stackoverflow的分数计算
2022年5月17日

python tips011 —— “__name__”到底是什么东西!

one这样的形式的),__name__就成了脚本本身的名字了,这里的脚本名字为one,因此这里的__name__也就变成了one。two.py直接运行分析运行结果结果来源于哪一行为什么会运行这一行
2022年5月16日

conda的常规使用方法

xbh0514进来之后,你想要安装包,比如你想要安装的包的名字叫geopandas(我讨厌死这个包了)。你可以直接使用pip安装,也可以使用conda安装,都是差不多的。4.4.
2022年5月14日

python tips010 ——lru_cache不能随便乱用!

经常在学习python递归的时候,大家总是可以看到lru_cache装饰器,说这个装饰器可以减少重复函数的计算。那么我们今天就来看看,这个函数的一些优缺点。帮助大家从全新的维度来理解一下。常规的函数一般来说,我们都是直接使用递归函数的。就像是下面这样的代码:计算斐波那契数列的代码。很常见。def
2022年5月13日

[转载]顶会论文的经验分享与心路历程:立志勇攀高峰 坚持追求卓越

一个段落不要掺杂太多事情,过多的转折一定会造成困扰。一个段落基本就是服务一个小目的,可能段首或者段尾一个句子就能看出来你要说什么。一定要尽量将复杂问题简单化处理。
2022年5月11日

【matplotlib进阶教程】如何逐步美化一个折线图

https://pan.baidu.com/s/1fAsTsNjxv6UeVzAraXsE8w?pwd=z8eb提取码:
2022年5月9日

【python包介绍】使用Streamlit快速搭建一个数据产品原型

Streamlit有哪些控件既然是一个非常强大的展示功能的工具,那它的控件的全面性必不可少。常规的显示控件常规的显示控件,基本上shiny、panel、plotly
2022年5月7日

如何逼疯一个python程序员

输出sep函数可以让你控制各个字符串时间填充的内容。end函数可以让你控诉输出的最后内容是什么,比如\n就代表要换行了,\t代表要退后一个tab键。end和sep具体写什么,随便你。3.
2022年5月5日

python tips009 ——优雅的python代码

对复杂数据使用sorted排序上面的图可以看出来,sorted结合key和lambda,就可以对任何结构化数据排序。如果倒序,更简单~4
2022年5月4日

五一假期余额显示器(第一个rust小项目)

背景最近两个星期把《Rust程序设计语言》和《通过例子学Rust》两本书反复看了几遍。学到了不少知识。但是只是看书其实是没啥效果的,很多坑可能要在实战中才能挖掘出来。其实实战的主要目的是锻炼对向量和字符串的控制能力(当前的水平)。那么实战做什么好呢?前几天刚好用python结合fastapi做了一个简单的web应用:倒计时。其实没啥用。但是今天已经是5月1日了,都快过去2天了,我就在想如果使用Rust做一个倒计时(翻牌器的那种形式),这样可以帮助我了解我的假期余额。这样多好。那么我的第一个Rust项目就出来了。(没啥用,适合Rust入门)。效果展示依次输入倒计时的:年、月、日、时,就可以自动计算当前的时间距离倒计时日的时间间隔。步骤生成基础的显示单元使用python的matplotlib,把我们需要显示的基础字符转换成图像。我们这里需要显示这几个内容:0,
2022年5月1日

使用C写Python的模块

背景之前已经写过一个rust给python做扩展包的了。然后我就在想,如何使用C给python做扩展呢,毕竟python的底层就是使用C写的。于是整理了网上的资料,分享一个简单的demo。环境系统:MAC
2022年4月30日

放假倒计时~

背景今天是工作日最后一天,实在是不想上班了。下班时间是今天的下午6点。想看倒计时,当前时间到下午6点的倒计时。成果于是做了一个倒计时看板,大概是这个样子的:技术使用python的fastapi包。html小知识。教程1.
2022年4月29日

python tips008——从实战角度来看类的继承小细节

背景前一段时间,经常把transformers包的源码拿出来看看,给我留下影响非常深刻的就是transformers包的设计模式。非常的优秀。而实现这个设计模式,自然离不开python的class模块。类的继承起到了非常大的作用。那么就类的继承这一部分,对类的继承做一做分享。问题归类问题1
2022年4月27日

rust给python加速

背景之前都是在看C/Cpp,也在努力的学这两个语言。但是感觉太难了。语法太多了(主要还是人笨,学不过来)。一直也在看rust,感觉rust写起来和python差不多优雅,而且写法和c++又是有点类似。然后最近空闲时间就把《Rust程序设计语言》和《通过例子学Rust》两本书看完了。学到了不少新内容。最近也发现一些新的包,比如一个叫polar包的,提供类pandas的功能,但是比pandas更快,这个包的底层是使用rust写的,并且python也能使用。那我就在想:“我能不能学习一下,看看怎么让python用rust编译的东西,或者说,如果使用rust加速python。”
2022年4月23日

python tips007类的继承super写法

print(dog)上面的代码,表示了Dog这个类是继承自Animal的。那么在继承的时候,是使用way
2022年4月18日

rust打印自定义对象

没错,我也在学习rust语言😋背景我在学习rust的时候,在想,rust如何像python一样,可以打印一个对象呢?就像是python里面的__str__或者__repr__。代码摸索struct
2022年4月17日

让python帮我下载AMS期刊文章

背景前几天,有一个同学问了我一个问题。就是如何使用python下载AMS期刊的文章。那么我们就以下面这个链接为例,https://journals.ametsoc.org/view/journals/apme/61/4/JAMC-D-21-0095.1.xml
2022年4月17日

python如何打印漂亮的经纬度样式

背景介绍关注我的很多同学都是GIS方面相关的,很多人经常问我,如何把经纬度坐标打印的更加美观呢?这里和GIS的同学分享一个代码块。保证你可以输出漂亮的经纬度样式。插入一个视频:如果使用数学生成风景:代码部分介绍一般来说,想要输出的样式也不差不多就是这么几种样式:degrees;degrees
2022年4月16日

30行python代码快速提取核酸报告

背景介绍前几天看到人民日报发了一篇文章:《核酸结果统计难?复旦博士生的操作火了》。这个文章介绍了复旦大学一个博士生用python语言,130行代码解决了核酸报告核查太繁琐的问题。使用的技术有:OCR
2022年4月10日

3万字分享“python的坑”

背景介绍我记得在以前学习python的时候,喜欢去收拾很多python知识点,当时很多人对python是两个态度:非常喜欢python和非常讨厌python。更让我影响深刻的,就是一些介绍python坑的文章,我当时就感觉:“啊,python怎么这么垃圾,怎么会有这么多bug呢?”现在几年过去了,回看这些文章,其实感觉还有点可笑。感觉这种文章有点哗众取宠的感觉。刚好最近我在知乎看到了这篇文章,就想分享一下,当年说的python坑是什么样子的。先声明一下:其实这些坑,都是不规范导致的,就是不离谱的人写的不离谱的代码!!!基本上这些坑我这么多年也都没遇到过,其实不用担心,全当当个笑话看看。就像评论区里面这个大哥说的:“看完第一条就看不下去了,这不是Python的坑,这是CPython的坑,标准里面没有定义(即undefined)的东西天天折腾有什么意思?该用==就用==,用is做什么?这就好像问C里面(x++)
2022年4月7日

探索 感受 发现 python设计模式的艺术性

知识分享清明假期的时候,有人从上海回来,成功的把我们小区搞封闭了。导致我在家不是安装电脑,就是在看水浒,或者就是稍微看了一点python知识。其中最有价值的,或许是阅读了那个《python实现设计模式》的文章,学习了很多。文章链接:https://zhuanlan.zhihu.com/p/31700225这篇推文就是和大家分享:我学完的感受和认识。过程作为小白说实话,我之前不太会写class,我大概也是在学习python后的2~3年后,才渐渐的学会写class,之前看很多大佬的代码,写的非常漂亮,但是我就偏偏把一些大佬的代码写成简单的函数,就是为了看着明白🫡。但是现在回过头看,真的好蠢,class那么优雅,改写成小函数干嘛😂,其实主要还是看不懂。逐渐认识后来自己工作以后,写的代码逻辑越来越复杂,变量也越来越多,各个函数之间相互依靠,导致我如果再写成很多小函数,可能就是给自己找麻烦,因此,尝试把一块代码改写成class,就是想打包起来📦。打包起来之后,发现只要初始化这个类的开始,就可以把中间的所有过程都处理完。简单,方便,各个数据流、变量还不会污染。提高自己后来为了提高自己的编程逻辑,我也在坚持的看一些源码,发现了各种各样的
2022年4月6日

用python实现设计模式

在知乎上看到一个文章:关于python实现设计模式的,写的非常好。https://zhuanlan.zhihu.com/p/31700225
2022年4月5日

python与GIS数据处理0804——SVM算法插值

背景这个是我系列插值文章的第三篇,使用机器学习插值(使用SVM算法插值)。代码链接代码我已经放在Github上面了,免费分享使用,https://github.com/yuanzhoulvpi2017/tiny_python/tree/main/python_GIS。介绍本文是python与GIS数据处理系列中的插值部分————使用机器学习算法插值(SVM算法插值)。我这里的方法并不是最简单的方法,并不是一行代码就能从头到尾实现这个插值功能的,我这里的目的是:使用python完善的数学工具链,从想法到代码实现,一套完整的数据处理思路。过程1.
2022年3月16日

sentence-transformer推理加速

sentence-transformer推理加速背景因为工作需要,做到需要使用nlp问答的内容,然后就考虑到sentence-transformer(以下简称为sbert模型)。而且sbert句子转向量这个方法感觉很高效,因此就考虑到这个维度。但是在使用sbert的过程中,遇到推理速度问题,也就是sbert的encode速度太慢了。后来花费了大量的时间在提高模型推理效率的工作上。最后摸索出一个推理的高效方法:将模型转换成onnx格式的文件或者转换成tensorrt的plan格式文件。面临的问题:这个模型不能直接转换么?确实不行。在作者的一个issue可以找到答案:https://github.com/UKPLab/sentence-transformers/issues/46Sadly
2022年3月1日

python与GIS数据处理——随机森林算法插值

背景这个是我系列插值文章的第三篇,使用机器学习插值(使用随机森林算法插值)。代码链接代码我已经放在Github上面了,免费分享使用,https://github.com/yuanzhoulvpi2017/tiny_python/tree/main/python_GIS。介绍本文是python与GIS数据处理系列中的插值部分————使用机器学习算法插值(随机森林算法插值)。我这里的方法并不是最简单的方法,并不是一行代码就能从头到尾实现这个插值功能的,我这里的目的是:使用python完善的数学工具链,从想法到代码实现,一套完整的数据处理思路。过程1.
2022年2月27日

python 的多核利用

自带的多线程/多进程包,反复看了很多次,也不太会用。这次春节在家又好好研究了一遍,不负有心人,终于可以用起来了:大概知道这个包怎么用,怎么按照我的想法用。我一直看的都是
2022年2月8日

python与GIS数据处理9——机器学习处理GIS预热

背景插值其实就是利用现有的数据,对没有被覆盖到的数据做数值上的填充。有没有考虑到使用机器学习方法做插值?有没有考虑到将多种插值结合起来,做个对比?很多人都是使用xarray包、cdo包的默认函数直接做插值之类的,有没有想过,这么简单的东西,你会,别人也会,想不想掌握一些别人不会的?这样在2021的最后一天,吃年夜饭也都更加舒服一点~~代码分享这里分享一个代码,代码来源是sklearn官网,使用机器学习方法对数据做了处理。数据和gis不搭嘎。但是数据的处理和表现,都可以用在GIS上。后面将基于这个代码的结构,对上一篇文章用到的数据做类似的数据处理。python与GIS数据处理8———插值细讲012022-01-29
2022年1月31日