自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(140)
  • 资源 (7)
  • 问答 (3)
  • 收藏
  • 关注

原创 剔除文件夹中无效图片--支持文件夹中有中文名称(或特殊符号)--且保持目录结构

python过滤无法读取的图片

2023-04-10 15:26:31 159

原创 最大化互信息

总说因为,一般做分类的,交叉熵很常见吧,类似KL散度或者交叉熵,本质上就是利用“编码长度”作文章。比如KL散度就是,不完美的概率qqq去编码完美信息条件下的概率ppp,从而多需要的编码长度。这种都是利用直接预测的某件事情的概率去做的。比如,我需要预测这张图是不是猫,预测的猫的概率为 p(x)p(x)p(x),对吧,就是表示独立事件的本身。某些情况下,有两个事件,一个事件的发生可以去预测另外一个事件的概率,就是条件概率。互信息衡量两个变量的依赖程度,可以理解为给定其中一个变量,可以多大程度的减少另一个变

2021-08-24 20:11:25 2996

原创 Pytorch学习(二十九) ------------torch.split与torch.roll结合进行的一种高端操作

How to reverse a multi-hot encoding ?multihot_batch = torch.tensor([[0,1,0,1], [0,0,0,1], [0,0,1,1]])(multihot_batch == torch.tensor(1)).nonzero()tensor([[0, 1], [0, 3], [1, 3], [2, 2], [2, 3]])希望得到[[1, 3],[3],[2, 3]

2021-02-18 17:40:23 1663

原创 transformer的一种加速方法Informer---- 稀疏化quary Q的方法

论文:Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecastingtransformer主要是增强网络的全局信息利用能力。因为普通的卷积网络都是local信息利用,其在全局信息利用上存在不可避免的短板。所以才会有类似non-local attn的存在。 transformer里面的核心就是attn,一般来说,A(qi,K,V)=Softmax(QKTd)V\mathcal{A}(\mathbf{q}_i,

2020-12-30 17:38:26 1062

原创 最优传输之浅谈

总说最近最优传输很火啊,而且用处很大。这里简单记录,到底讲了啥问题,以及解法和应用。简单理解:其实就是把 AAA数据迁移到BBB上,当然了。你可以理解成两堆土,从AAA土铲到另外一个地方,最终堆成BBB土。就像是以前初中学的线性规划一样的:我3个城市(A, B, C)有1, 0.5, 1.5吨煤,然后要运到2个其他城市,这两个城市(C, D)分别需要2,1吨煤。然后当然,不同城市到不同的费用不同,让你算最优运输方案和代价。基本概念Probability vector / Histogram (概率向

2020-12-03 20:18:04 6179 1

原创 Pytorch 学习 (二十八)----- 多GPU使用时的一个注意事项

总说有时候,我们构建一种中间特征的loss。需要拿到feature,然后这个 feature 和 target_feat 比较。不要直接在model的forward中求loss,否则只能在单GPU上跑。而是最终将feature和target_feat都返回,在train里面,此时这些返回的 feat会自动变成 主GPU上的tensor,从而不会有tensor不在同一个device的问题。...

2020-09-27 15:40:45 189

原创 Pytorch学习(二十七)-------- 针对不均衡数据集的重采样Resample

总说针对类别数目不均匀的数据,有些类图片多,有些少,如果直接训练,那么就会造成过拟合类别多的数据。最简单的方法就是重采样,直接根据每一类的数目,来重新分配权重。你想想,普通肯定是均匀概率采样的,自然数目多的图片,采样到的概率就大。神奇的 WeightedRandomSampler直接丢代码# 数据集中,每一类的数目。 class_sample_counts = [150, 200, 300] weights = 1./ torch.tensor(class_sample_counts, dtyp

2020-07-27 13:40:36 7823 11

原创 神经关系推断 NRI: Neural Relational Inference for Interacting Systems初探(附加了一小部分VAE)

总说作为从来没有接触过序列预测的我来说,看到这个是有点难度哈。然而经过我钻研了几天,终于基本看明白。太有意思了!!!!!!!!!!!!!论文主要是,根据已有的数据,显示地估计出内在的离散的graph结构,用graph结构作为引导,更好的进行序列预测,而且全程是无监督的方式,来获得graph。其实普通的预测序列的模型,比如LSTM之类的也可以预测,这种方法是隐式学习graph的方法。另外,稍微说一句:由于encoder要预测的graph是一个概率分布(就是每个节点右边的概率),但是预测出来的就只能是离

2020-07-23 18:01:38 1978

原创 PATH删除指定路径

别问啥情况会想要这操作,但是我遇到了。下面代码,加入类似 .bashrc中就行。直接删除 指定路径。 echo "ori path" echo $PATH export PATH=$(p=$(echo $PATH | tr ":" "\n" | grep -v "/home/xxx/anaconda3/bin" | tr "\n" ":"); echo ${p%:}) echo "-----------NOW---------" echo $PATH...

2020-06-04 16:41:33 1663 1

原创 Gumbel-Max trick或者reparameterization

总说下面主要摘自链接文章。参考链接:https://www.zhihu.com/question/62631725/answer/507940806知道一个离散随机变量X的分布,比如说p(X=1)=p1=0.2,p(X=2)=p2=0.3,p(X=3)=p2=0.5,然后我们想得到一些服从这个分布的离散的x的值。但是,采样了之后都是离散值,没法对 p1, p2, p3求导,则神经网络中就没法 BP。这是因为,很多时候我们只是要x的期望,那么我们就是x=p1+2p2+3p3,x对p1,p2,p3的

2020-06-01 15:10:00 725

原创 Pytorch学习 (二十六)---- torch.scatter的使用

总说一个非常有用的函数,主要是用于“group index”的操作。from torch_scatter import scatterimport torchsrc = (torch.rand(2, 6, 2)*4).int()index = torch.tensor([0, 1, 0, 1, 2, 1])# Broadcasting in the first and last dim.out = scatter(src, index, dim=1, reduce="sum")prin

2020-05-21 19:00:06 2035

原创 Pytorch 学习(二十五)---高级DataLoader技巧----每次返回的Tensor的size可以任意

总说大家都知道,默认的DataLoader每次返回的Tensor的尺寸都是固定的,因为batchsize>1时,默认需要stack一下,比如__getitem__()返回的图片return img,其中img是 CHW, 你在外面拿到就是 N*C*H*W了。因为,默认return torch.stack(batch, 0, out=out)了一下。如果每次img图片不一样,就会出错。有些...

2020-04-23 21:39:42 1719 1

原创 Pytorch 学习(二十四)----- 高级Tensor技巧(Advanced Indexing等多种操作)

总说这里记录一些比较难的操作:Advanced Indexing 可以用于赋值import torcha = torch.rand(5,5)x_indice = torch.LongTensor([1, 3, 4])y_indice = torch.LongTensor([2, 1, 1])value_put = torch.rand(3)*10print('Before')pr...

2020-02-18 11:04:10 892

原创 ICCV 2019几篇自己感兴趣的论文阅读

总说只是随意看了看名字,下载了几篇论文读读,方向很局限。(待更新,最近更新 2019-11-21)Content and Style Disentanglement for Artistic Style Transfer

2019-11-21 11:41:27 1427 3

原创 /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found

如果跑anaconda时基本出现这个问题,说是required by matplotlib,那么说明没有吧anconda的 lib加入进去 export PATH="/home/zhaoyi.yzy/anaconda3/bin:$PATH" # add this lib, then ok export LD_LIBRARY_PATH="/usr/local/lib64/:$LD_LIBRA...

2019-11-01 11:28:42 1851

原创 SuperPixel 的样例代码

总说这个给自己看的,对读者应该没啥用。。超像素的例子import sysimport osimport cv2import numpy as npimport mathimg = cv2.imread('people.png')#------------- SP Generation -------------------------num_superpixels = 50...

2019-10-21 15:08:35 472

原创 蒙特卡罗求定积分

计算积分:∫abh(x)dx\int_{a}^{b}h(x)dx∫ab​h(x)dx如果h(x)h(x)h(x)的原函数不好计算,这里可以将h(x)h(x)h(x)分解成两个函数的乘积,比如 h(x)=h(x)p(x)∗p(x)h(x)=\frac{h(x)}{p(x)}* p(x)h(x)=p(x)h(x)​∗p(x)。 有:∫abh(x)dx=∫abh(x)p(x)p(x)dx=Ep(x...

2019-09-19 13:24:41 1296

原创 Pytorch学习(二十三)---- 不同layer用不同学习率(高级版本)

简易版本,pytorch文档上,不同层用不同学习率,可以用这个。optim.SGD([ {'params': model.base.parameters()}, {'params': model.classifier.parameters(), 'lr': 1e-3} ], lr=1e-2, momentu...

2019-09-02 17:01:00 848

原创 NVIDIA NVML Driver/library version mismatch

卸载现有版本的cuda,装其他版本的。其实只要直接remove 文件即可。比如sudo rm -r /usr/local/cuda-9.0sudo rm -r /usr/local/cuda然后,重装cuda。可能会出现NVIDIA NVML Driver/library version mismatch问题。lsmod | grep nvidia比如出现下面4个:nvidia_...

2019-08-11 21:30:24 1177

原创 Pytorch的坑记录

总说简要记录一下pytorch中的坑LongTensor(IntTensor)和float数字操作,直接变成0!坑1: long tensor的bug?import torcha = (torch.rand(3,4)*10).long()print(a)print(a*0.9)tensor([[8, 5, 3, 4], [1, 3, 6, 7], ...

2019-07-25 12:19:34 627

原创 Pytorch学习(二十二)soft label的交叉熵loss的实现(附加《信息论》基本知识)

总说参考的链接:https://blog.csdn.net/tsyccnhhttps://www.zhihu.com/question/41252833/answer/140950659先理解一下信息熵、交叉熵和相对熵先找一下交叉熵的定义:1)信息熵:编码方案完美时,最短平均编码长度的是多少。2)交叉熵:编码方案不一定完美时(由于对概率分布的估计不一定正确),平均编码长度的是多少...

2019-06-26 16:47:01 14568

原创 anaconda各种问题汇总

总说就不说那些创建虚拟环境之类的了。随便找找就能找到。说一些比较重要的东西当装了conda之后,一般pip -V出现的路径是类似这种:pip 19.0.3 from /home/envoriment/local/anaconda2/lib/python2.7/site-packages/pip (python 2.7)这说明conda的pip的路径在系统的pip路径前面,所以首先被系统...

2019-05-19 16:07:36 551

原创 Windows下用Git Bash安装tmux

总说真是醉了,在公司的电脑管理太严格了,而且只给我发windows电脑,效率低啊!!之前还是Mac的,现在真的是知道真相的我眼泪掉下来。。Windows咋搞,用moboXterm?别提这个了好吧,一点也不好用!而且有些bash的命令还不支持,真的醉了! 后来装了一个git, 发现git自带的git bash还挺好用的呀! 现在就差tmux了!于是, 我发现了这个链接, excellent!不用...

2019-05-16 16:39:13 5690 2

原创 CUDA编程简要介绍 (一)

总说主要是 https://devblogs.nvidia.com/even-easier-introduction-cuda/ 的简要信息提取准备工作我们写的cuda程序需要nvcc来进行编译, 而其实nvcc就是在安装好的cuda目录的bin文件夹下:我们首先将相应目录添加进.bashrc里面. # CUDA PATH export PATH="/usr/local/cuda-9....

2019-04-03 19:50:45 556

原创 Pytorch学习 (二十一) ------自定义C++/ATen扩展

总说没办法, 出来混总是要还的, 不会写点底层代码没法混啊. 废话不多说, 简单来说, 有时候我们需要写一些自定义的操作, 这些操作如果用python写会很慢, 我们需要用CUDA写, 然后这些操作与python绑定, 以供python端调用.主要是简略拿出 https://pytorch.org/tutorials/advanced/cpp_extension.html 的东西, 根据实践,...

2019-03-27 22:42:28 7983 9

原创 Pytorch学习(二十) ------ 可能有用的代码合集

总说记录一些比较有用的pytorch代码(有些是自己写的, 有些是从网上看到的)目录提取网络特征(适用于sequential构建的网络)修改Pretrained的网络(如ResNet等)提取网络特征(适用于sequential构建的网络)class VGG16FeatureExtractor(nn.Module): def __init__(self): s...

2019-03-13 10:26:48 1810

原创 日常科研使用Git指南

总说早用git早享受, 晚用多受罪.

2019-03-03 18:55:57 814

原创 有用的技术博客(更新中)

理解熵与交叉熵

2019-01-31 16:45:13 335

原创 git clone 所有分支,并push到另一个repo

总说啥,github的私人项目免费了??赶紧把gitlab的私人项目迁移出来压压惊。这要求我们,首先将所有的分支从gitlab下载到本地,并且是本地分支,然后推送到github上去。但是,直接git clone的话,查看本地分支,竟然只有是master分支?我的天,但是我想要的是推送所有的分支到github上。咋整?窘境git clone后git branch为啥只看到了一个本地分支mast...

2019-01-17 11:56:02 8504 1

原创 Pytorch 有用的东西汇总(不断更新中)

GPU捉襟见肘还想训练大批量模型?谁说不可以

2019-01-09 22:14:52 723

原创 Deformable Conv及其变体

文章列表:Active Convolution: Learning the Shape of Convolution for Image Classification这篇文章首先将卷积进行参数的拓展,之前都是直接学习权重就是了。之前的卷积都是fixed的采样。比如3*3,就是采样与window中心点相对位置一样的9个点。即:Y=W∗X+bY=W*X+bY=W∗X+bym,n=∑c∑i,j...

2018-12-27 20:33:38 7984 2

原创 Pytorch学习(十九)--- 模型中buffer的使用

总说我们知道,pytorch一般情况下,是将网络中的参数保存成OrderedDict形式的。这里额参数其实包括2种。一种是模型中各种 module含的参数,即nn.Parameter,我们当然可以在网络中定义其他的nn.Parameter参数。;另外一种是buffer。前者每次optim.step会得到更新,而不会更新后者。例子class myModel(nn.Module):...

2018-08-24 14:23:54 15636 6

原创 Pytorch学习(十八)--- VQA种Dynamic网络的写法

VQA中常用的方法是Dynamic网络,就是一个网络的输出作为另一个网络的filter权重。fliter = nn.Conv2d(…)# 当然这样写诗错的filter.weight.data.fill_(network_output).filter.forward(image)正确写法:import torch.nn.functional as Fp = F.conv2...

2018-08-15 21:22:11 1013

原创 Pytorch学习(十七)--- 模型load各种问题解决

简单的模型load一般来说,保存模型是把参数全部用model.cpu().state_dict(), 然后加载模型时一般用 model.load_state_dict(torch.load(model_path))。 值得注意的是:torch.load 返回的是一个 OrderedDict.import torchimport torch.nn as nnclass Net_old(...

2018-08-02 18:22:56 75539 18

原创 Pytorch学习(十六)----获取网络的任意一层的输出

其实一般来说,如果一个net中,是一个Sequential直接把所有层全部包含起来的,那么不好获得其中任意一层的feature map(至少我还不知道。。, 比较简单的方法就是 在想要得到那一层的后面的网络,全部用另一个sequential包含起来。比如:import torchfrom torch.autograd import Variableimport torch.nncl...

2018-07-05 08:56:58 34549 4

原创 Pytorch学习(十五)------ 杂项知识汇总

总说记录一下一些小知识, 方便查用.(不断更新中) 1. 自定义RNN的写法: Implementation of Multiplicative LSTM 2. 自定义二阶梯度写法: How to implement customized layer with second order derivatives How to customize the double backward 3...

2018-05-15 15:29:45 757

原创 谈谈图像的style transfer ( 三 ) ----- 暂时只写了大纲 - 5月底开始写

总说离 谈谈图像的style transfer ( 二 ) 已经整整一年了, style transfer有了一定程度的进步, 技术已经基本成熟, 发展也不怎么快了. 不够还是有很多值得学习的地方, 故而记录.准备看的论文(下面抽10篇记录,凑个整.): - Universal Style transfer via Feature Transforms (2017-11) - Impr...

2018-05-14 15:44:22 2450 10

原创 Pytorch学习(十四) ------- Pytorch 0.4代码迁移简要总结

总说由于pytorch 0.4版本更新实在太大了, 以前版本的代码必须有一定程度的更新. 主要的更新在于 Variable和Tensor的合并., 当然还有Windows的支持, 其他一些就是支持scalar tensor以及修复bug和提升性能吧. Variable和Tensor的合并导致以前的代码会出错, 所以需要迁移, 其实迁移代价并不大.Tensor和Variable的合并...

2018-04-27 12:27:10 10297 1

原创 Pytorch学习 ( 十三 ) ----- Pytorch自定义层出现多Variable共享内存错误

错误信息: RuntimeError: in-place operations can be only used on variables that don’t share storage with any other variables, but detected that there are 4 objects sharing it自动求导是很方便, 但是想想, 如果两个Variable...

2018-04-19 23:24:15 2916 1

原创 Pytorch学习 (十二) ----- Pytorch中如何使用Tensor Comprehensions

总说使用方式: 1. 定义TC语言, 然后传入 tc.define 2. 创建torch tensors(用不用Variable包起来都不影响, pytorch0.4版本都没必要加Variable, 直接tensor即可) 3. 跑这一层就行import tensor_comprehensions as tcimport torchMATMUL_LANG = """def ...

2018-04-08 13:21:29 1398

机器学习实战原版代码

机器学习实战的原版代码,是配合《机器学习实战》的极好的学习资料。

2016-02-17

机器学习实战高清英文原版

原版的高清机器学习实战,是英文的。这本书是入门的一本很好的教程。全书深入浅出,是难得的一本入门的好教材!

2016-02-17

现代优化算法

现代优化算法,包括模拟退火算法等,请认准

2014-09-16

正则指引高清版

不错的正则表达式入门书籍,很不错啊啊,推荐你看看

2014-09-05

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除