- 博客(10)
- 资源 (9)
- 收藏
- 关注
原创 PyTorch自定义梯度
[3] 的一个简例。正向 sign:y=sign(x)={−1x<00x=01x>0y=\text{sign}(x)=\begin{cases}& -1 & x < 0 \\& 0 & x = 0 \\& 1 & x > 0\end{cases}y=sign(x)=⎩⎪⎨⎪⎧−101x<0x=0x>0 记 L=f(y),\mathcal{L}=f(y),L=f(y),反向 Htanh:∂L∂x={∂L∂y−ϵ
2020-12-31 16:03:33 2086
原创 heatmap可视化相似矩阵
可视化相似矩阵 S∈Rn×nS\in\mathbb{R}^{n\times n}S∈Rn×n 用来画图,效果:正方形格仔去除纵、横轴 label去除 color bar去除白边Codeimport matplotlib.pyplot as pltimport osimport numpy as npimport seaborn as snsimport matplotlibmatplotlib.use("Agg")S = np.array([[0.8, 2.4, 2.5,
2020-12-27 12:11:23 1621
原创 空tensor取mean产生NaN
numpy 和 pytorch 中,对空的 tensor 取 sum 是 0,取 mean 是 NaN!对此,numpy 会报 Runtime Warning,而 pytorch 却没有一丝提示…对张量用 mask 之后可能会产生空的 tensor(即 mask 全是 False 没有 True),可能之前训练 loss 都正常,突然就 NaN 了。所以取 mean 前先判空。Codepytorch 1.4numpy 1.18.0import numpy as npimport torch
2020-12-20 19:16:14 1739
原创 matlab、numpy的indexing差异
用 index 数组从数据集里抽取一批数据,matlab 的写法与 python numpy 的写法不同:matlab 除了在 sample 那一维放索引数组,还要在其余维度加冒号 :(表示该维全选?)。numpyimport numpy as npimages = np.zeros([5, 32, 32, 3]) # [n, H, W, C]labels = np.ones([5, 10]) # [n, c]indices = np.array([0, 2, 1]) # 0-base
2020-12-20 09:37:20 199 1
原创 自搭git服务器
在学校服务器上放个 git 服务器,用来跟服务器同步代码(在服务器跑程序、在自己电脑跟 github 同步)。比如一个叫 homework 的工程,涉及 4 个仓:自己电脑上的普通仓 homework;github 上对应的 homework.git;学校服务器上一个普通仓 homework;学校服务器上一个 bare 的中转仓 homework.git;在自己电脑或学校服务器上改代码,两者通过学校服务器上的中转仓同步;而与 github 的同步在自己电脑上进行。现自己电脑、github 两
2020-12-13 11:55:52 235
原创 vl_imreadjpeg和cv2的resize结果不同
matlab 用 vl_imreadjpeg 读图并 resize 到 [224, 224],与 python 用 cv2 做同样操作,得到的结果不同。在用 vl_imreadjpeg 读图的 matlab 程序想做 zero mean 操作,不能直接白嫖之前 python 用 cv2 处理的 image mean pixel,而要重新处理一个 mean pixel。Data用 nuswide 测试,见 [1],用以下程序将 image 放到同一个目录,方便读取:效果:在 images/ 下,
2020-12-09 15:31:58 318 1
原创 docker命令行安装matlab R2018a、matconvnet、gpu环境
呃朋友们好啊,刚才用 DCMH[1] 的 python 版跑 nuswide[2,3] 数据,结果跟论文差很远。我说怎么回事?师兄说它 matlab 版的程序是可以的,说你能不能配一下 matlab 环境来跑 baseline?我说可以。有两个需要配的:一个 matlab、一个 matconvnet。给我发来一张截图:Package考虑装 R2018a,[4] 有下载链:https://pan.baidu.com/s/1W6jWkaXEMpMUEmIl8qmRwg#list/path=%2F,提取码:
2020-12-09 01:02:19 1680
原创 matconvnet-1.0-beta25报错:Reference to non-existent field ‘dilate‘.
matlab R2018a 用 matconvnet-1.0-beta25 报错:Reference to non-existent field 'dilate'.Error in vl_simplenn (line 303) 'dilate', l.dilate, ...Error in process_DCMH (line 41) res = vl_simplenn(txt_net,y);Error in DCMH_nus (line 64) res
2020-12-06 01:52:36 1147 1
原创 matlab分批读数据
[1] 直接加载整个数据集,由于条件限制,需要将 image 改为分批读入。Preprocess之前做的数据见 [2, 3],当时存成 .npy,要处理成 .mat 给 matlab 读。image 读出来转成 (224, 224, 3) 放在 image.mat/ 目录下,一幅图一个 .mat 文件,key 统一为 image。label、text 亦存成 .mat,不过可以装在一个文件内,key 分别为 labels 和 texts。index 一个 set 一个 .mat,key 统一为
2020-12-05 16:42:11 691
原创 压缩二进制numpy数据
jqy 提供的 flickr 数据里[4],label 只有 51K,而自己做的数据[5] label 有 3.7M(当时不懂事,存了 float64)。但后来做 nuswide[6] 时即使以 int8 存,还是比 jqy 提供的数据大。应该是用了位压缩。packbits, unpackbits对二进制数据(只有 0/1),如 label、BoW 形式的 text,numpy 可以用 packbits 压缩,这样存就是 59K = 3.7 * 1024 / 64,接近了。这样有点麻烦的地方在于:以后读
2020-12-04 23:14:56 1726
COCO-stuff 测试 notebook
2021-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人