自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 编程速记(41):PyTorch篇&Tensorflow篇-CUDA out of memory & 指定model/data运行GPU

一、简述场景简述:文件需要加载多个不同的模型同时运行从而导致cuda OOM,这些模型有的是用tf代码写的,有的是用PyTorch写的。二、尝试过的失败方案对于PyTorch而言,使用多GPU训练方案也许是一种可行的方案。net = torch.nn.DataParallel(model, device_ids=[xxx])但是由于也涉及到tf的model,因此这样并不能解决问题,运行起来依旧会报CUDA oom。三、解决方案1.调小batch_size可以尝试将batch_size直

2020-08-02 17:56:31 547

原创 编程速记(40):PyTorch篇-to()转换数据类型

一、简述本篇blog将介绍基于to()的简便的数据类型转换的方法。很多时候,我们需要将tensor A转换成与tensor B同一类型,这一需求利用to可以简单完成。to()的另外一种用法是将数据或模型向GPU或者CPU迁移。二、Demo import torch A = torch.rand(1, 7, 7) B = torch.rand(1, 7, 7) A.to(B)...

2020-07-29 19:38:29 1065

原创 科研篇(12):CVPR20 分类整理-对抗样本

文章目录一、对抗样本-附代码1.1Towards Large yet Imperceptible Adversarial Image Perturbations with Perceptual Color Distance.1.2 One Man's Trash Is Another Man's Treasure: Resisting Adversarial Examples by Adversarial Examples1.3 ColorFool: Semantic Adversarial Coloriz

2020-07-28 21:44:10 1625

原创 科研篇(11):ICLR20 分类整理-对抗样本&Meta-Learning

文章目录一、对抗样本1.1Enhancing Transformation-Based Defenses Against Adversarial Attacks with a Distribution Classifier .1.2 Implicit Bias of Gradient Descent based Adversarial Training on Separable Data1.3 Mixup Inference: Better Exploiting Mixup to Defend Advers

2020-05-13 13:31:40 1569

原创 科研速记(10):语义分割篇(1)-数据集准备

一、概述本篇介绍如何通过ubuntu命令行获取各个语义分割的经典数据集。二、Demo1.获取VOC 2012download:wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar解压:tar xvf VOCtrainval_11-May-2012.tar2.获取MSC...

2020-04-29 16:38:07 236

原创 编程速记(39):Matlab篇-提取图像高频/低频信息-基于DCT

一、简述希望通过离散余弦变换获取某张图片的高频/低频信息二、Demo转灰图处理方式RGB = imread('autumn.tif');I = rgb2gray(RGB);J = dct2(I);figureimshow(log(abs(J)),[])colormap(gca,jet(64))colorbarJ(abs(J) < 10) = 0;K = idct2...

2020-04-13 11:34:19 7107 5

原创 编程速记(38):Python篇-argparse传递参数类型为list

一、需求希望传递一个list作为参数二、demo定义argsimport argparseparser = argparse.ArgumentParser(description=' ')parser.add_argument('--gamma_r', type=float, nargs='+',default=[100,8.7,0.7], help='for ddid ')...

2020-04-11 13:41:51 6386

原创 编程速记(37):Python篇-断言assert

一、用法assert condition , "error info"

2020-03-19 17:35:36 137

原创 编程速记(36):Python篇-*args与**kwargs

一、简述*args和**kwargs通常出现在函数形参中。这两者是对变长参数的两种描述。*args针对的是非关键字参数**kwargs针对的是关键字参数二、实验代码demodef test(a, *args, **kwargs): print a print args print kwargsif __name__ == "__main__": ...

2020-03-19 17:12:52 232

原创 编程速记(35):Pytorch篇-.item()与.data的区别

一、结论.data返回的是一个tensor而.item()返回的是一个具体的数值。注意:对于元素不止一个的tensor列表,使用item()会报错二、实验代码demoimport torch a = torch.ones([1,3])print(a)print(a.data)print(a.data[0,1])print(a.data[0,1].item())# print...

2020-03-19 17:09:43 9239

原创 编程速记(34):Git篇-如何放弃本地修改-commit your changes or stash them before you can merge

一、场景描述使用git pull之后遇到报错:error: Your local changes to the following files would be overwritten by merge: xxx/xxx/xxx.javaPlease, commit your changes or stash them before you can merge.Aborting一般是...

2020-03-19 11:42:11 177

原创 编程速记(33):Matlab&Python篇-np.roll&np.fft.fft2

一、简述本文对Matlab与Python之间的几个函数转换进行说明。主要包括:快速傅里叶变换 fft2 (Matlab) -> np.fft.fft2数组滚动 circshift(Matlab) -> np.roll事实上,对于三维数组,Matlab会将其分解其多个二维数组进行处理,而Python并不会这样(主要是针对图像处理过程中可能涉及到三维数组)二、快速傅里叶变换 ...

2020-03-18 19:11:55 1976

原创 编程速记(32):Python篇-读取图片&保存图片

一、简述本篇blog将介绍基于opencv库进行图片读取和保存的简要操作和需要注意的点。二、图片读取import cv2img = cv2.imread(filename)默认情况下,是读取的彩色图片三通道。如果是灰色图片,也会返回三通道的值,但是三通道对应的位置的元素值是一样的。如果希望灰色图片返回的单通道数值,那么需要给定参数:flags=cv2.IMREAD_GRAYSCALE...

2020-03-18 13:21:22 386

原创 编程速记(31):np.dot的理解

一、简述如果是两个一维数组,那么np.dot返回的是两个数组的内积(逐元素对应相乘最后求和)。如果是两个二维数组,那么np.dot返回的是矩阵乘法的结果。二、参考:https://www.cnblogs.com/luhuan/p/7925790.html...

2020-03-16 19:30:16 409

原创 编程速记(30):Python篇-矩阵乘法与除法&逐元素乘除

一、需求实现矩阵乘法与除法。本篇blog主要是针对基于numpy实现的矩阵乘法与除法。二、矩阵乘法方式一:np.dot定义两个多维数组,满足矩阵乘法规则,直接调用即可。# np.dot import numpy as np a = np.ones([2,3])b = np.zeros([3,5])print(np.dot(a,b))方式二:基于np.matimpo...

2020-03-16 19:25:12 11369

原创 编程速记(29): Pytorch篇-torch.size()转list

如题:直接使用list函数。例如:noisy_code = linear_code - torch.normal(means=0, std=args.noise_dev, out=list(linear_code.size()))

2020-03-09 17:47:50 5135

原创 编程速记(28): Pytorch篇-纠错AttributeError: cannot assign module before Module.__init__() call

一、出错原因调用了自定义的类,但是 在自定义的类的__init__函数下面没有写super( XXX, self ).init() ——主要出现在基于nn.Module自定义网络模块的时候。二、解决方案...

2020-03-09 17:03:38 951

原创 编程速记(27): Pytorch篇-纠错'Res_rec' object has no attribute '_parameters'——基于nn.Module的网络的搭建

一、报错:‘Res_rec’ object has no attribute ‘_parameters’二、纠错前代码class Res_com(nn.Module): def __init__(self, n_com=3, b_com=6, d_com=2, com_disable=False): def make(n, b, d): f1...

2020-03-09 16:59:48 4819

原创 编程速记(26): Tensorflow篇-模型的恢复与保存-tf.saver

一、需求1.每次找到文件夹中保存的最后一次epoch的次数2.如果1.存在,那么将模型恢复到该epoch的参数3.每跑完一个epoch,保存模型参数二、demo准备工作1.定义一个保存epoch的文件夹路径save_dir2.定义保存模型的文件名pattern,比如:epoch-300.例如:如果当前是第10个epoch,则参数保存为model_10.pthtf.sav...

2020-03-06 16:07:32 401

原创 编程速记(25):Pytorch篇-张量(Tensor)复制

张量复制方式op是否共享内存是否保留在计算图中参与梯度计算tensor.clone()新创建内存是tensor.detach()共享内存否tensor.clone().detach()新创建内存否说明是否新建内存意味着:假定A和B共享内存,那么对A或B的改变将反馈到A和B。因为变量名只是一个对数据的引用,数据改变了,那么A和B自然都变了...

2019-12-23 12:48:05 817

原创 科研速记(9):CVPR18-ADV_DEFENCE-Guided Denoiser

layout: posttitle: CVPR18-ADV_DEFENCE-Guided Denoiserdate: 2019-12-13 16:63:24.000000000 +09:00PAPER INFODefense Against Adversarial Attacks Using High-Level Representation Guided DenoiserSource...

2019-12-14 16:30:41 270

原创 编程速记(24):Pytorch篇-自定义loss

一、democlass MyLoss(nn.Module): def __init__(self): super(MyLoss, self).__init__() print '1' def forward(self, pred, truth): return torch.mean(torch.mean((pred-truth)*...

2019-12-13 15:43:56 209

原创 编程速记(25):Pytorch篇-点乘与np.dot

一、描述numpy中的点乘np.dot是数学意义上的向量内积,而Pytorch中tensor之间的点乘与之对比没有求和的过程

2019-12-12 21:55:55 875

原创 编程速记(23):终端篇-Ubuntu 中终端报错太长解决办法

一、场景描述在ubuntu终端中,如果程序报错行数过多,将无法看全。如果是使用tee命令的话,也只包含有程序正常的输出,而不会包含出错信息二、解决方案script -f output.txt之后终端的输出将都保存到该文件中如果希望取消该模式,按ctrl+d...

2019-12-10 19:53:35 340

原创 编程速记(22):Pytorch篇-模型保存与恢复&正则表达式的应用&glob.glob

一、需求1.每次找到文件夹中保存的最后一次epoch的次数2.如果1.存在,那么将模型恢复到该epoch的参数3.每跑完一个epoch,保存模型参数二、demo准备工作1.定义一个保存epoch的文件夹路径save_dir2.定义保存模型的文件名pattern,比如:model_epoch.pth例如:如果当前是第10个epoch,则参数保存为model_10.pth实...

2019-12-07 10:56:18 622 1

原创 编程速记(21):Shell语法篇-字符串中$的使用与反斜杠

一、场景描述在bash文件中,希望将某个程序的输出保存到一个文件,文件名字为attack_$attack_method$method.txt在这个场景中,涉及到多个变量的取值,而且在字符串中我们也需要显式指出一个变量到哪里为止。例如在上例中的变量名到底是attack呢?还是attack_method呢?这个时候我们就需要使用反斜杠来隔开变量名与一般字符了。二、demoattack=FGSM...

2019-12-01 16:51:08 639

原创 科研速记(7):对抗样本篇-ICCV19-Sparse and Imperceivable Adversarial Attacks

一、摘要Motivation与pixel-wise 的扰动相比,高度稀疏的对抗攻击是更加危险的,因为更加不易被侦测到。因此,本文的研究中心在于最小化对抗样本与干净样本之间的l0l_0l0​距离。简述本文工作intergrate additional bounds on the component-wise perturbationpixels change only in t...

2019-11-30 17:27:23 1136

原创 编程速记(20):Python篇-基于skimage包进行图像加噪

一、skimage.util.random_noise用法可以实现的噪声类型包括:高斯白噪声、泊松噪声、椒盐噪声、盐噪声、椒噪声、乘性噪声等等。具体用法文档如下介绍:random_noise(image, mode='gaussian', seed=None, clip=True, **kwargs) Function to add random noise of various t...

2019-11-30 15:26:46 1863

原创 编程速记(19):Git篇-忽略提交 .gitignore

一、场景描述很多时候,或者是因为项目中存在大文件无法成功提交到远程仓库(比如数据集),或者有某些不希望提交的文件等,就需要使用git的忽略提交二、编写.gitignore文件2.1.语法匹配目录使用功能斜杠"/"开头通配多个字符使用星号“*”通配单个字符使用问号“?”包含单个字符的匹配列表使用方括号:[]注意:git对于.gitignore配置文件是按行从...

2019-11-30 13:12:21 220

原创 编程速记(18):Python篇-引入上级目录中模块

demo例如希望引入当前main.py的上级目录中的utils文件夹下所有py文件一种错误的做法是:from ../utils import *正确的做法是:import syssys.path.append("../")from utils import *因为python的import默认只会处理同级以及下级目录,如果希望搜索到上级目录,就需要利用sys.path.appe...

2019-11-29 15:26:28 264

原创 编程速记(17):numpy篇-对np.array做阈值限定

一、场景描述如果我们希望对一个np.array做阈值限制,即令大于某一个数的元素赋值为a,否则则赋值为b二、demoimport numpy as np a = np.asarray([1,2,3])print(a>1)a[a>1] = 0print(a)运行结果[False True True][1 0 0][Finished in 0.5s]...

2019-11-26 21:52:18 5727 1

原创 编程速记(16):Python篇-返回文件所在路径的前缀目录-os.path.dirname

一、场景描述很多时候,我们希望获得某一个文件的前缀文件夹路径,这个时候就可以使用os.path.dirname()二、demo一般情况print(os.path.dirname("/data/xxx/demo.py"))返回值:/data/xxx注:如果传入的是一个文件夹的路径,那么就会去掉最后一级,返回前面所有的前缀文件夹路径利用__file__返回当前执行文件的前缀文件夹...

2019-11-26 20:33:28 789

原创 编程速记(15):Python篇-assert断言的应用

一、场景描述我们希望检测一类条件,如果条件不满足就中断程序运行,并且可以给出错误信息描述。一类简单的解决方案就是采用断言。二、Demoassert condition, "error info"例如:assert os.path.isfile(args.resume), 'Error: no checkpoint directory found!' # 断言的作用...

2019-11-26 20:26:08 649

原创 编程速记(14):图像处理篇-彩色图片的通道位置

一、场景描述在Python的处理场景中,彩色图像的表示方法的通道位置是有区别的,有的是[Channel,Height,width],而有的则是[Height,width,Channel]。在具体的应用中要注意转换二、记录场景类型Pytorch网络输入[C,H,W]skimage处理图像(比如imread、imsave、compare_ssim等)[H,W,C]...

2019-11-26 15:02:49 185

原创 编程速记(13):Python篇-基于argparse包传递命令行参数

一、场景描述假定我们为model定义了以下设置在服务器的环境下,一个常见的操作是希望设置其中的变量不同的值来run该程序,再进一步分析这个变量对于我们的model的性能的影响。如果我们希望同时对某一程序run不同的进程并使用到不同的操作,那么使用argparse包就变得很有必要了。二、demopython main.py --test_batch_size 200 --sigma 2...

2019-11-26 02:16:00 137

原创 编程速记(12):保存日志-保存print()函数输出的训练过程

一、场景描述很多时候,利用服务器run model的时候,我们会选择逐epoch打印一些数据信息(比如loss)以便分析模型训练情况。这个时候,保存这些训练日志就变得很重要了。尤其是在ubuntu服务器上利用tmux进行分屏操作的时候,翻页查看中断输出变得不很方便,这个时候,就可以考虑将日志保存到文件中。二、基于linux系统tee命令的实现python 要执行的文件名.py | tee ...

2019-11-26 01:56:31 364

原创 编程速记(11):Python篇-图像读取-skimage.io.imsave&imread

一、图像类型与通道channel图像类型通道数灰度图像1彩色图像3(RGB)经过测试,经过x.png格式应该是RGBA四通道,但是使用imread读取出来的矩阵仍然是三通道。测试代码如下:# 四十三:skimage.io.imread读取图像from skimage.io import imreadimport numpy as npa = imrea...

2019-11-25 18:05:24 4136

原创 编程速记(10):Pytorch篇-detach()与tensor转numpy

报错原因分析涉及到梯度传播的tensor变量不能够直接numpy()转numpy,需要使用:var.detach().numpy()

2019-11-25 16:55:44 5163 1

原创 编程速记(9):Python篇-字典与JSON字符串的相关操作

一、创建字典dic = dict() # 创建空字典二、字典插入元素dic.update(key=value)注:比较头疼的是key在这里只能是常量而不能是变量三、获取字典key的数量len(dic.keys())四、遍历字典for key in dic: print(dic[key])五、字典转JSON字符串import jsonjson_Str = jso...

2019-11-21 19:59:22 135

原创 编程速记(8):Python篇-获取文件夹下指定文件后缀名的文件名

basic:os.listdir() & str.endswith()def get_list_img(data_dir): files = os.listdir(data_dir) basic_path = data_dir for i in files: if i.endswith(".png"): print(i)

2019-11-21 14:50:48 116

空空如也

空空如也

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

TA关注的人

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