
python
文章平均质量分 76
w55100
这个作者很懒,什么都没留下…
展开
-
regrex 正则表达式
熟练掌握正则原创 2023-05-21 01:24:39 · 956 阅读 · 0 评论 -
Glob 文件匹配
glob本质是Unix shell 风格的路径匹配规则。该规则后续被其它语言支持。原创 2023-05-20 23:44:47 · 847 阅读 · 0 评论 -
python import自定义工具包
自己开发了一个工具包,名字叫 mypackage。位于 /mnt/develop/mypackage/。需要在不同层级都能引用。如果在顶级目录运行显然可以import,因为默认cwd会进入sys.path。但是永远在顶级目录运行是不现实的。网上看了一下解决方案。核心就是能让import搜索到这个包。1. 系统变量sys.path每次运行某个.py时,先获取当前的dir = os.getcwd()或者dir = __file__路径。然后 sys.path.append(dir)。原创 2022-01-19 14:38:41 · 2929 阅读 · 0 评论 -
python的多层Import机制
介绍python中Import的多级引用关系解决ImportError: attempted relative import with no known parent package原创 2021-04-19 15:57:16 · 4140 阅读 · 1 评论 -
flask后端接收POST数据的三种格式探究
准备工作构建一个flask后端路由@cross_origin()@app.route('/release',methods=['GET','POST'])def release(): print('here in') if request.method == 'POST': print('post') d0 = request.values d1 = request.form d2 = request.args原创 2020-12-10 00:09:29 · 6895 阅读 · 1 评论 -
pandas 某列查找、选取与删除某数
1.查找与选取法1 循环比较for x in df['id']: if x == 1: print('exsit') break耗时:2.8s如果不仅仅想确认存在,还想返回下标。多用一个enumerate,或者用range进行循环即可。法2 掩码运算不仅能确认存在,存在时还能获得index。q=mydf[...原创 2019-05-13 00:12:55 · 4544 阅读 · 0 评论 -
deepFM in pytorch
前言学这些东西的过程,就是感受知识以反人类的方式传播的过程。五花八门的表演、措辞、逻辑,每个作者书写时都有自己的dialect,就像听老外不同的accent一样。科技树往上爬,没人出来做阶梯状的体系整理,导致不同的作者默认你的预备知识结构不同,又不给例子也不讲解中途变化的......看一样东西费好久也未必能找到一篇能说清楚的文章。不得不感慨,能做到深入浅出的优秀连接器还是太少了...原创 2019-05-18 17:22:02 · 9196 阅读 · 8 评论 -
sklearn CountVectorizer
官方APIhttps://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.CountVectorizer.html调包方法from sklearn.feature_extraction.text import CountVectorizertexts=["dog cat...原创 2019-06-09 10:24:47 · 477 阅读 · 0 评论 -
pandas 常用操作
update:190705访问具体位置某列。aaa = df['a'] = df.a = df.get('a')某行df[0:100],返回前100行。 直接括号[]里面写条件,优先级似乎是先匹配列,再匹配行。容易出问题,不推荐这种写法。等价于 df.ix[0:100] 。不等价于 df.loc[0:100]。 使用loc会包含第101行,即i...原创 2019-05-14 16:39:56 · 795 阅读 · 0 评论 -
python 获取文件夹大小
注意,这里是属性里的文件大小。而不是占用空间。实际占用空间会>文件大小。想获取占用空间貌似需要用到shell,暂时没有深入研究。1.获取文件大小的方法1.1 os.path.getsize()最简单无脑常用,返回Byte为单位的大小。import ospath='/hha/dd.k' sz = os.path.getsize(path)pri...原创 2019-06-15 15:56:31 · 25211 阅读 · 3 评论 -
Python multiprocessing
数据处理,遇到几千万上亿级别的,一次几十个小时,利用并行可以有效减少时长。网上讲原理的很多。主要放一下自己跑通的一个小demo,备忘。Pool是最简单的。pool.apply()可以并行一些不需要返回值的函数。poo.apply_async() 可以获得返回值。处理pandas数据,基本都是需要返回值的,上一个apply_async的例子。原本需要十几...原创 2019-07-10 09:04:55 · 918 阅读 · 0 评论 -
加权随机采样 (Weighted Random Sampling)
正好遇到一个需求,是根据popularity的平滑结果采样,但是每次用np.random.choice()性能跟不上。引用自:https://lotabout.me/2018/Weighted-Random-Sampling/一个集合里有 n 个元素,每个元素有不同的权重,现在要不放回地随机抽取 m 个元素,每个元素被抽中的概率为元素的权重占总权重的比例。要怎么做呢?现在考虑只抽取一个...转载 2019-07-12 14:59:05 · 10693 阅读 · 0 评论 -
Python 绘图画图代码懒人仓
自用。190805更新国际通行引用法import numpy as npimport pandas as pdimport seaborn as snsimport matplotlib.pyplot as plt频率图sns.kdeplot#频率分布图x = df['income']fig, ax = plt.subplots( figsiz...原创 2019-08-05 14:49:56 · 1960 阅读 · 0 评论 -
pandas 两个多值序列匹配
也是一个不知道怎么描述的需求。简而言之,就是一个多值的列,匹配另一个多值的列表,求是否存在公共元素。问题定义有dataframe,名为df,含id,status,type,3个字段。其中status为多值字段,多值以','隔开。id status type 1 5,9 1 2 2,3 1 3 4,6 2 ...原创 2019-05-16 20:13:34 · 5121 阅读 · 0 评论 -
Python chunk读取超大文件
16GB小水存已经不能适应动辄4GB、8GB的数据文件了。查询到pandas的read_csv()提供了chunk分块读取能力。官方示例这是一张原始的tableIn [185]: table = pd.read_csv('tmp.sv', sep='|')In [186]: tableOut[186]: Unnamed: 0 0 ...原创 2019-05-11 16:40:11 · 22218 阅读 · 1 评论 -
读《Which Training Methods for GANs do actually Converge?》
前言我读完这篇论文,饱受震撼,深受启发。我认为的这是非常不错的启蒙读物,于是萌生出写一写的念头。大概19.2.25开始看,断断续续几天才有了个概念,后面学网课,做模型,刷OJ。今天从杭州回来,才有时间着手开始写这篇文章(19.3.3)。打算弄一些简单的翻译,然后写一些个人的注解,然后在实践层面理解这篇论文的引入的正则项。由于目前的水平能力有限,对原理只能用抽象和比喻的方法来...原创 2019-03-03 22:24:04 · 5817 阅读 · 4 评论 -
DL几种加速方法小结
设α为学习速率传统方法:w+= -α*dxMomentum:增加了一个记忆项,这一项会以β为比例,保留上一次的部分梯度信息。可以看作具备惯性。m =β*m + dxw+= -α*mAdaGrad:每一步接受全部过去梯度的2-范数的限制。使之走的更均匀。容易看到,在梯度较小的地方走得快,在梯度较大的地方走得慢。v+= dx^2...原创 2019-03-07 14:29:37 · 895 阅读 · 0 评论 -
Faster R-CNN 源码解读 (傻瓜版) - Pytorch
前言本篇写了很多第一次看代码做的注释。为了便于搞懂核心脉络,对所有的分支选择都做了简化。层次结构与jwyang的实现版本有差异,因为源版本里存在很多冗余代码。目的是构造一个最简训练模型。萌新学的话,可以在搭建成功之后,再自行扩展。参考源代码:https://github.com/jwyang/faster-rcnn.pytorch/tree/pytorch-1.0...原创 2019-03-14 22:10:28 · 13449 阅读 · 5 评论 -
使用anaconda虚拟环境运行Jupyter Notebook详解
提醒:本文基于ubuntu18.04 ,anaconda3,python3.7问题描述我们使用anaconda创建虚拟环境。conda create -n qq python=3.7 jupyterconda activate qq得到虚拟环境前缀(qq),激活成功。这步是成功了,但是直接运行jupyter notebook的话,并没有使用(qq)环境里的p...原创 2019-03-31 12:47:20 · 39470 阅读 · 9 评论 -
Ubuntu 18.04 安装CUDA10.0
一、先从官网找一个合适自己的版本下载https://developer.nvidia.com/cuda-toolkit-archive我选的CUDA10.0下载后得到`sudo shcuda_10.0.130_410.48_linux.run`文件二、关闭ubuntu图形化界面不关闭的话,安装会报错的。提示An NVIDIA kernel...原创 2019-03-31 15:19:28 · 6147 阅读 · 3 评论 -
Ubuntu18.04 定时执行python脚本
小道尔,网上各种教程。1. 简易方法 crontab -e 修改配置文件添加新一行格式为:分 时 日 月 星期几 [命令]*号表示every# # Output of the crontab jobs (including errors) is sent through# email to the user the crontab file belongs...原创 2019-04-07 11:11:20 · 5071 阅读 · 0 评论 -
Python中xml处理
头文件,常用ET来处理import xml.etree.ElementTree as ETparse解析#定义一个文件路径file = '/a/b.xml'#方法1root = ET.parse(file).getroot() #实验证明不加getroot也是默认返回root的#方法2with open(file,'r') as f: string...原创 2019-04-02 20:19:12 · 957 阅读 · 0 评论 -
python中那些双下划线开头的函数和变量
天下苦秦久矣。看别人的源码总是被各种下划线带晕了,总算偶得妙文,开疑解惑。原文预估成文于2015之前,作者不详,传播过程中许多格式不幸丢失。本人不忍佳篇失传,斗胆稍加修缮,增补格式,希望不损原意。Python中下划线---完全解读Python 用下划线作为变量前缀和后缀指定特殊变量_xxx 不能用’from module import *’导入_...转载 2019-04-03 10:40:02 · 13712 阅读 · 1 评论 -
scipy.sparse.hastack blocks must be 2-D
采用scipy.parse.hstack() 合并2个表的时候报错。事实证明这是个大坑。在stackoverflow上搜到这个回答。def hstack(blocks ...): return bmat([blocks], ...)def bmat(blocks, ...): blocks = np.asarray(blocks, dtype='object...原创 2019-05-20 10:21:55 · 1576 阅读 · 0 评论 -
Tensorflow 构建batch normalization时变量gama不被训练的问题
跑完GAN之后,重载模型,观察训练变量列表。tvars = tf.trainable_variables()for i in tvars: print(i)### output ###<tf.Variable 'g_w1:0' shape=(100, 32768) dtype=float32_ref><tf.Variable 'g_b1:0' shape...原创 2019-02-27 16:00:56 · 8611 阅读 · 5 评论