3 HackerTom

尚未进行身份认证

暂无相关描述

等级
TA的排名 2w+

jupyter notebook清除输出

在jupyternotebook参数化运行python时,怕输出太多文件太大,想及时清除notebook的输出。在别人代码里看到用easydl的clear_output()。调用很简单:fromeasydlimportclear_outputprint('before')clear_output()#清除输出print('after')查它源码:clea...

2019-08-14 17:03:42

jupyter notebook参数化运行python

Notes有多组参数组合需要尝试,不想每组参数都人工修改python代码,再在notebook中%run它。python参数通过的argparse接收,在notebook中写个多重循环遍历参数组合传给python程序自动运行。记录一个简例。Codespythontorunimportargparseparser=argparse.Argument...

2019-08-14 15:22:25

python解线性方程组Ax=b的两种方法

Notes做labelpropagation时涉及到Ax=b的求解,有两种方式:解析解:x=A−1bx=A^{-1}bx=A−1b迭代求近似解:共轭梯度法(conjugategradient)ClosedFormSolution求闭解的方式,TensorFlow、numpy、scipy都有相应的函数可以调importtensorflowastfimpo...

2019-08-05 21:34:30

MIR-Flickr25K数据集预处理

NotesFlickr-25K有2,5000张图,每张图有对应的tags和annotation。tags可作为文本描述(text),其中至少出现在20张图片中的tags有1386个;annotation作为label,一共24个。最终将image处理成VGG19的4096-D特征、text是1386-DBoW向量、label是24-...

2019-08-05 09:44:21

矢量化计算样本集两两之间的欧氏距离

Notes给定样本集X=(x1,…,xn)X=(x_1,\dots,x_n)X=(x1​,…,xn​),求它们两两之间的距离,即距离矩阵Dij=d(i,j)D_{ij}=d(i,j)Dij​=d(i,j)。d(⋅,⋅)d(\cdot,\cdot)d(⋅,⋅)表示某种距离,常用两种:cosine距离:1−xTy∥x∥⋅∥y∥1-\frac{x^Ty}{\parallelx\para...

2019-07-29 23:28:35

《Semantic Structure-based Unsupervised Deep Hashing》相似矩阵构造方法

NotesSSDH[1]做的是hashing式的图像检索,用图像的VGG-Ffc-7layerfeature计算各样本间的距离,并基于此距离构造相似矩阵指导hashcode的学习。其构造相似矩阵的思路是:两个样本之间,距离分成三类,特别近,认为它们相似,Sij=1S_{ij}=1Sij​=1特别远,认为不相似,Sij=−1S_{ij}=-1Sij​=−1不远不近,不...

2019-07-20 23:20:06

typora markdown 标题自动编号

用.css文件实现markdown文件的标题自动标号。在Typora界面中,点File->Preference...->OpenThemeFolder会打开一个文件夹(如:C:\Users\iTom\AppData\Roaming\Typora\themes),在这里新建一个叫base.user.css的文件,内容见下,然后重启Typora即可。...

2019-07-20 22:37:32

相似矩阵反推标签

Background有监督的多模态检索(supervisedmulti-modalretrieval)中,常用label构造相似矩阵S。样本集X={xi}i=1nX=\{x_i\}_{i=1}^nX={xi​}i=1n​,对应标签集L={li}i=1nL=\{l_i\}_{i=1}^nL={li​}i=1n​。对任意两个样本xix_ixi​和xjx_jxj​,若lil_i...

2019-07-14 18:50:48

单/跨模态检索(single-/corss-modal retrieval)数据集划分

跨模态检索的模式有三种:supervisedsemi-supervisedunsupervised从实际应用的场景考虑数据集的划分方法,retrievalset应该是对应已经获得的所有数据(database),比如搜索引擎里已经存好的数据;而test/queryset就对应那些还未出现的别人查询时的数据,比如搜索时输入的文本。所以讲道理整个retrievalset的数...

2019-07-12 10:36:44

《A Two-Step Disentanglement Method》keras 实践

Notes文章是关于解耦特征表示的,网络主体基于VAE,但将encoder拆成两个:EncsEnc_sEncs​和EnczEnc_zEncz​,意图将latentcode分成两部分:z’=(s,z),其中s编码同label相关的信息,z编码其它信息。z'EncsEnczClfsClfzszxl_sl_zx_hat实现解耦的思路是靠两个分类器:ClfsClf_...

2019-07-11 21:30:36

tensorflow和keras张量切片(slice)

Notes想将一个向量x=(x1,x2,x3,x4,x5)Tx=\left(x_1,x_2,x_3,x_4,x_5\right)^Tx=(x1​,x2​,x3​,x4​,x5​)T分割成两部分:a=(x1,x2)Ta=\left(x_1,x_2\right)^Ta=(x1​,x2​)T和b=(x3,x4,x5)Tb=\left(x_3,x_4,x_5\right)^Tb=(x3​,x4​...

2019-07-03 21:32:02

keras模型输出的设置对训练结果的一个奇怪影响

Background用keras写的一个模型,通过add_loss的方式为模型设置损失,形如:loss=loss_1(...)+loss_2(...)#将loss写成tensormodel.add_loss(loss)#add_loss的方式model.compile(Adam())这种写法下,用fit_generator的方式训练模型时,gen...

2019-07-01 23:36:19

matplotlib画子图(subplot)

Notes用plt.subplots在一幅大figure里画几幅小图;一幅小图里可能画多条曲线;plot画连续曲线,指定线型、颜色;scatter散点图;bar柱状图,设定纵轴坐标上、下限,打数值标签;Codeimportmatplotlib.pyplotaspltimportnumpyasnpfromscipy.specialimportexpit...

2019-06-17 15:28:14

keras不同形状loss的广播(broadcasting)

Noteskeras中不同形状的loss相加,如标量(scalar)和向量(vector)相加,会产生广播,可能同python和numpy中的广播规则差不多。写loss时这会影响到不同损失项之间的trade-off权重。如:一个用了loss_1=K.sum(...)对所有维度都求和了,得一个scalar另一个用了loss_2=K.sum(...,axis=...

2019-05-13 20:33:21

keras打印loss对权重的导数

Notes怀疑模型梯度爆炸,想打印模型loss对各权重的导数看看。如果如果fit来训练的话,可以用keras.callbacks.TensorBoard实现。但此次使用train_on_batch来训练的,用K.gradients和K.function实现。Codes以一份VAE代码为例#-*-coding:utf8-*-importkerasfromkera...

2019-05-13 17:15:05

sklearn的MinMaxScaler放缩范围不对

Backgroundsklearn.preprocessing.MinMaxScaler用于将数据的数值范围变换到指定的范围。如果原数据x∈[a,b]x\in\left[a,b\right]x∈[a,b],希望变换后y(x)∈[c,d]y(x)\in\left[c,d\right]y(x)∈[c,d],那变换是:y(x)=(x−a)⋅d−cb−a+cy(x)=(x-a)\cdot\fra...

2019-05-11 18:52:08

信息检索的top-R准确率曲线(Precision@top-R Curve)作图

Notes多模态检索中常用三种评价指标:mAP(@R)Precision-RecallCurvePrecision@top-RCurve师兄的说法,只要将P-R曲线中的R从Recall改为top-R之R(即第R个位置)就行,代码直接从P-R曲线作图代码修改而来,同师兄对拍过样例,是一样的。Code参照前作:信息检索的PR曲线(Precision-R...

2019-04-26 21:10:00

信息检索的PR曲线(Precision-Recall Curve)作图

Notes多模态检索中常用三种评价指标:mAP(@R)Precision-RecallCurvePrecision@top-RCurve引用[1]里介绍的PR曲线的例子是只针对一个querysample而言的,不好说代表性。照师兄的说法,现在有一种画法是:枚举top-R之R,对每一个R,都算一次yi=mean(各query sample的「Pr...

2019-04-20 23:31:40

mAP(@R)计算代码

NotesmAP是多模态检索常用指标,也有用mAP@RmAP@RmAP@R的。这里备份一份计算mAP或mAP@R的python代码,主要抄自cvpr2017DCMH作者释出的代码Code#cos相似度defcos_sim(f1,f2):"""cosinesimilarity"""f1=normalize(f1,norm='l2',...

2019-04-15 12:32:04

Conv1D 简例:IMDb 分类

Notes用卷积处理一维数据(文本、时序序列),类似image空间的以为卷积文本预处理(大略):针对预料库建立字典,将word映射成数字(index,此时一般不用0,留作他用),于是sentence从word序列变成整数序列(Tokenizer)将句子处理成等长(pad_sequences()),长了截断,短了在前或在后补足(一般补0)有时将index处理成on...

2019-04-06 16:17:23

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。