pytorch
三聚晴明
这个作者很懒,什么都没留下…
展开
-
pytorch 循环生成网络结构
由于网络通常非常深,我们一层一层写会耗费很大的精力。而且修改起来也比较麻烦,不方便维护。网络通常由一些相似的块组成,我们写出一个块,循环生成整个网络。nn.Sequentialdef __init__(self, num_layers=1, activation=torch.nn.ReLU()): super(Classifier3, self).__init__() self.num_layers = num_layers self.dense1 = torch.nn.Sequ原创 2021-07-21 19:27:06 · 839 阅读 · 0 评论 -
pytorch 模型保存与加载
模型保存torch.save(model, os.path.join(checkpoint_dir, f'model_{epoch}.pth'))模型加载checkpoint = torch.load(checkpoint_file)model=checkpoint.to(device)只加载变量:checkpoint = torch.load(lists[epoch])model.load_state_dict(checkpoint.state_dict())当模型训练使用的显卡编号原创 2021-07-21 18:48:00 · 309 阅读 · 0 评论 -
pytorch减少显存使用
transpose占用大量显存通常transpose(),permute()会改变tensor的结构,需要使用.contiguous()将内存转换为连续的。估计pytorch为了加快计算速度,使用了占用大量显存的运算方式,开辟出新的显并进行赋值。对这些函数进行修改可以减少大量显存:将tensor分为多个batch,分别进行transposeb,c,h,w = out.shape# transpose dimension (1,2): bxcxhxw -> bxhxcxw. batchsize=原创 2020-07-29 11:27:52 · 1375 阅读 · 0 评论