
开发技巧
文章平均质量分 50
芦边湖泊
这个作者很懒,什么都没留下…
展开
-
pytorch-lightning浅踩坑记录
pytorch lightning原创 2022-08-30 18:15:01 · 1290 阅读 · 0 评论 -
2021-08-09
Questions1. optimizer.step(closure)Some optimization algorithms such as Conjugate Gradient and LBFGS need to reevaluate the function multiple times, so you have to pass in a closure that allows them to recompute your model. The closure should clear the g原创 2021-08-09 16:24:28 · 147 阅读 · 0 评论 -
Pix2Pix源码阅读
1. torch.backends.cudnn.benchmark设置 torch.backends.cudnn.benchmark=True将会让程序在开始时花费一点额外时间,为整个网络的每个卷积层搜索最适合它的卷积实现算法,进而实现网络的加速。适用场景是网络结构固定(不是动态变化的网络的输入形状(包括 batch size,图片大小,输入的通道)是不变的其实也就是一般情况下都比较适用。反之,如果卷积层的设置一直变化,或者输入的大小不固定,将会导致程序不停地做优化,反而会耗费更多的时间。原原创 2021-08-04 17:24:20 · 819 阅读 · 0 评论 -
torch.backends.cudnn.benchmark
设置torch.backends.cudnn.benchmark=True将会让程序在开始时花费一点额外时间,为整个网络的每个卷积层搜索最适合它的卷积实现算法,进而实现网络的加速。适用场景是网络结构固定(不是动态变化的),网络的输入形状(包括 batch size,图片大小,输入的通道)是不变的,其实也就是一般情况下都比较适用。反之,如果卷积层的设置一直变化,将会导致程序不停地做优化,反而会耗费更多的时间。...转载 2021-08-01 10:25:59 · 95 阅读 · 0 评论 -
parser.add_argument()之action
关于parser.add_argument()记录一个特殊的情况:action栗子1:self.parser.add_argument('--lr_use', action='store_true', default=False, help='if or not use lr_loss')当在终端运行的时候,如果不加入--lr_use, 那么程序running的时候,lr_use的值为default: False如果加上了--lr_use,不需要指定True/False,那么程序running的转载 2021-06-06 13:36:09 · 2169 阅读 · 2 评论 -
Python迭代器与生成器介绍及在Pytorch源码中应用
迭代器迭代是Python最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter() 和 next()。字符串,列表或元组对象都可用于创建迭代器:>>>list=[1,2,3,4]>>>it = iter(list)>>>print(next(it))1>>>转载 2021-06-04 20:10:53 · 447 阅读 · 0 评论 -
PyTorch中Numpy,Tensor与Variable深入理解与转换技巧
PyTorch为了实现GPU加速功能,在Numpy的基础上,引入了Tensor,为了实现自动求导功能,引入了Variable。我们一般读取的数据都是以Numpy Array方式的。在TensorFlow,Numpy的数据会在输入网络后自动转换为Tensor,一般不需要我们进行显性操作,当然偶尔也会有例外。但是在PyTorch,需要我们自己进行显性操作才可以的。下面我以一个网络训练的过程来讲解它们之间如何进行相互的转换。首先我们会读取Numpy的数据,为了能够送入网络,使用GPU计算加速,所以要进行Num转载 2021-06-01 16:22:22 · 343 阅读 · 0 评论