SciencePlots
参考:https://github.com/garrettj403/SciencePlots
不得不说随着顶会投稿数量的爆炸性增长,审稿人力不从心,使得一部分审稿人的水平确实较之前有所降低,但是好的论文配图会增加论文脱颖而出的可能。之前的配图一般使用的是matplotlib,ggplot2,MATLAB等这样的绘图包,然而matplotlib默认设置绘制出来的图总让人感觉没有那么专业,ggplot2的图确实优美但是R语言又比较小众。在这种情况下,SciencePlots就是非常好的一个选择。
SciencePlots是一个专门为科研论文打造的轻量化的绘图工具包,安装SciencePlots最简单的方式是使用pip,使用的指令为:
# 安装最新版pip install git+https://github.com/garrettj403/SciencePlots.git# 安装稳定版pip install SciencePlots
安装完成后,使用SciencePlots也非常简单,只需要导入matplotlib工具包,选择相应的style即可。例如,如果想要给Scie ...
无线接入点AP
什么是AP AP即无线接入点,为有线网络增加无线功能,是一种网络设备。
一般无线AP可以连接到交换机,也可以连接到路由器。
无线AP可以实现AP内相连设备的通信,也可以实现AP到有线网络的通信。
无线AP相当于无线交换机,提供一个无线信号发射的功能,而没有路由功能。
无线路由器开启无线AP模式,就相当于一个无线AP。
接入点通过以太网或数据线直接连接到宽带路由器或网络交换机,这为 AP 提供了所需的互联网连接和带宽。然后,它会在 2.4Ghz 或 5Ghz 频率范围 (WIFI) 中发送和接收无线信号,这样就将无线连接到您的局域网 (LAN) 和互联网。
无线AP有什么用 1、扩大无线网络的覆盖范围。当已有无线路由器的时候,新增的无线路由器使用AP模式可以扩大原有的无线网络覆盖范围。
2、为有线网络提供无线网络环境。当开启AP模式后连接有线网络,可以在原有的有线网络上提供无线网络。
那有小伙伴会有疑问了,那我不开启AP模式也可以扩大无线覆盖范围或者提供无线网络环境啊?使用AP模式,原网络的一些配置、功能都可以继续使用。比如下载限速,如果不使用AP模式,那 ...
NLP入门
本文主要介绍自然语言处理(Natural Language Processing:NLP)中的一些最基础的概念,可以帮助读者在整体上感知这一领域,算是一篇入门博客。
词库 Vocabulary,表示所有词的集合。一般而言,经过one-hot encoding之后的向量的长度即为词库的大小。
语料库 Corpus,由词库里所有的词组成的句子,短语等语料信息,可以简单理解为一个/多个documents。
词向量 Word Vector,就是把一个Word表示成一个向量(vector),最常见的有one-hot encoding。
分布的假设 我们知道一个单词最原始的表达方式(Word Representation)是one-hot encoding,但是这种方式是有缺陷的,它仅仅将单词符号化,不包含任何语义信息。那如何才能表达出一个词的语义呢?Harris 在 1954 年提出的分布假说( Distributional Hypothesis)为这一设想提供了理论基础:上下文相似的词,其语义也相似。 这个很好理解,比如有如下两句话:
I like drinking o ...
pprint
1. 引言pprint的英文全称Data pretty printer,顾名思义就是让显示结果更加直观漂亮。
print()和pprint()都是python的打印模块,功能基本一样,唯一的区别就是pprint()模块打印出来的数据结构更加完整,每行为一个数据结构,更加方便阅读打印输出结果。特别是对于特别长的数据打印,print()输出结果都在一行,不方便查看,而pprint()采用分行打印输出,所以对于数据结构比较复杂、数据长度较长的数据,适合采用pprint()打印方式。
在介绍完上述理论知识后,我们不妨来举个栗子吧!
2. 使用背景我们来看一个打印嵌套字典的例子,如下所示:
d = { "apple": {"juice":4, "pie":5}, "orange": {"juice":6, "cake":7}, "pear": {"cake":8 ...
timm
1 什么是timm库? timm 是 PyTorch Image Models 的缩写 is a collection of SOTA computer vision models, layers, utilities, optimizers, schedulers, data-loaders, augmentations and also training/validating scripts with ability to reproduce ImageNet training results.
timm 库实现了最新的几乎所有的具有影响力的视觉模型,它不仅提供了模型的权重,还提供了一个很棒的分布式训练和评估的代码框架,方便后人开发。timm 库是由 Ross Wightman 开发和维护的
项目地址:https://github.com/huggingface/
2 最快上手使用一个timm模型 问:使用timm搭建一个可以使用的CNN或ViT共需要几步?
答:4步
0.安装 timm
1.import timm
2.创建model
3. ...
AP隔离
最近在学校使两台linux主机通过UDP通信,但发现无法发送UDP报文,互相也无法ping通,奇怪的是主机处于同一个局域网(校园网),且均没有开启防火墙,经过上网寻找解决方案发现是AP隔离的原因
很多自己最装过无线路由器的都知道,AP隔离是一种路由模式。AP隔离指的是开启之后,各个连接的设备不能互相通讯,起到隔离的作用,来保障不同用户的安全
AP隔离,英文术语:AP Isolation多见于无线通信方面,常见于路由器设置中。AP隔离非常类似有线网络的VLAN(虚拟局域网),将所有的无线客户端设备之间完全隔离,使客户端只能访问AP接入的固定网络。
适用范围:该措施非常适合大型的会议室、酒店、机场等公共场所的无线网络建设,让各个接入的无线客户端之间相互保持隔离,提供彼此间更加安全的接入。该措施对于家庭用户来说没有太多的实际意义,但企业用户在一些特殊的场合可以采用这种方式来加强无线网络的安全性。例如有客户或外单位人员参加的会议等公共活动。该方法用于对酒店和机场等公共热点Hot Spot的架设,让接入的无线客户端保持隔离,提供安全的Internet接入。
无线路由器中ap隔 ...
Python中的w3lib
目前在做的项目中遇到一个需求:将爬取到的大量网页中的文本提取出来。由于网页太多,无法逐个分析使用xpath表达式进行提取。使用正则表达式可以实现,但太麻烦。这里介绍一款专业处理这方面问题的包w3lib
w3lib简介 w3lib是一个Python包,实现了一下与web相关的功能:
从html片段中移除注释或者标签
从html片段中提取base url
对html串中的字符实体进行转义
将原始HTTP头转换为字典格式
构造HTTP的认证报头
将html页面转换成unicode编码格式
从urls中提取参数
w3lib主要包括四个模块:
html模块:处理与html标签相关的问题
http模块:处理与http报文相关的问题
url模块:处理与url地址相关的问题
encoding模块:处理与编码格式相关的问题
实例片段 w3lib是scrapy的依赖包,所有当我们安装好scrapy后不需额外安装w3lib。这里主要用到了html模块,关键代码段如下:
from w3lib.html import remove_tagsfrom w3lib.html import rep ...
Python中的pickle
pickle一、pickle是什么? 在英语中 pickle 名词是泡菜,动词是腌渍的意思。可以理解为把东西腌起来保存成文件,要用的时候读出来洗洗再用。
python的pickle模块实现了基本的数据序列化和反序列化。
序列化对象可以在磁盘上保存对象,并在需要的时候读取出来。任何对象都可以执行序列化操作。
pickling是将Python对象层次结构转换为字节流的过程。
unpickling是反向操作,从而将字节流(来自二进制文件或类似字节的对象)转换回对象层次结构。
1.pickle的优缺点1、优点:
pickle提供了一个简单的持久化功能。可以将对象以文件的形式存放在磁盘上。
通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储。
python中几乎所有的数据类型(列表,字典,集合,类等)都可以用pickle来序列化。
没有外部标准强加的限制,例如JSON或XDR(不能代表指针共享)。
默认情况下,pickle数据格式使用相对紧凑的二进制表示。如果需要最佳尺寸特征,则可以有效地压缩数据。
pickle可以表 ...
Python字符串前面加字母
python字符串前的字母的含义:b\r\f\u
1、字符串前加 u例:u”我是含有中文字符组成的字符串。”
作用:重要的作用是用来指明后面字符串的编码方式;
后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。
2、字符串前加 r例:r”\n\n\n\n” # 表示一个普通字符串 \n\n\n\n,而不表示换行了。
作用:将字符串中的具有特殊含义的字符意义去掉,比如:\n表示换行,若前面加上r, 即:r’\n’,就表示一个斜行和小写字母n了。
去掉反斜杠的转义。
(特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。 )
应用:常用于正则表达式,对应着re模块。
3、字符串前加 b例: response = b’Hello World!‘ # b’ ‘ 表示这是一个 bytes 对象
作用:将字符串表示为:字节对象类型,类型:bytes
b” “前缀表示:后面字符串是bytes 类型。
用处:网络编程中,服务器和浏览器只认bytes ...
windows虚拟环境装tf2.6
本来安装tensorflow-gpu是一句话的事情,但因为版本变动,今天安装遇到很多麻烦,简单记录
之前是装了tensorflow-gpu==2.6.0的版本的,但后来在这个环境中安装了sionna,这个可恶的库居然直接卸载了我的tensorflow-gpu==2.6.0,安装了满足它要求的13版本tensorflow,而且还是cpu版本的,安装之前都没问我要不要安装,真可恶啊,导致我不得不重新安装tensorflow-gpu
首先创建3.9版本python环境,然后conda install tensorflow-gpu==2.6.0安装,记得科学上网
安装完后,再conda install keras==2.6.0安装keras
这时候已经自动安装了cudatoolkit、cudnn、tensorflow-gpu、keras、numpy等
你以为行了?
print(tf.__version__)报错,说是numpy不再有object属性,那可以推断numpy版本过高,pip卸载numpy重新安装低版本即可(后来知道 ...