其他
【他山之石】pytorch常见的坑汇总
“他山之石,可以攻玉”,站在巨人的肩膀才能看得更高,走得更远。在科研的道路上,更需借助东风才能更快前行。为此,我们特别搜集整理了一些实用的代码链接,数据集,软件,编程技巧等,开辟“他山之石”专栏,助你乘风破浪,一路奋勇向前,敬请关注。
地址:https://www.zhihu.com/people/su-po-moon
01
写:
imagenametotal_.append(os.path.join('images', imagenametotal).encode())
with h5py.File(outfile) as f:
f.create_dataset('imagename', data=imagenametotal_)
f['part'] = parts_
f['S'] = Ss_
f['image'] = cvimgs
读:
with h5py.File(outfile) as f:
imagename = [x.decode() for x in f['imagename']]
kp2ds = np.array(f['part'])
kp3ds = np.array(f['S'])
cvimgs = np.array(f['image'])
02
from balanced_parallel import DataParallelModel, DataParallelCriterion
model = DataParallelModel(model, device_ids=gpus).cuda()
criterion = loss_fn().cuda()
from torch.nn.parallel.scatter_gather import gather
preds = gather(preds, 0)
from torch.utils.data.distributed import DistributedSampler
from torch.nn.parallel import DistributedDataParallel
torch.distributed.init_process_group(backend="nccl")
# 配置每个进程的gpu
local_rank = torch.distributed.get_rank()
torch.cuda.set_device(local_rank)
device = torch.device("cuda", local_rank)
#封装之前要把模型移到对应的gpu
model.to(device)
model = torch.nn.parallel.DistributedDataParallel(model,device_ids=[local_rank],
output_device=local_rank)
#原有的dataloader上面加一个数据sample
train_loader = torch.utils.data.DataLoader(
train_dataset,
sampler=DistributedSampler(train_dataset)
)
03
cudnn.benchmark = True
torch.backends.cudnn.deterministic = False
torch.backends.cudnn.enabled = True
torch.cuda.empty_cache()
del xxx(变量名)
4. dataloader的长度_len_设置:(dataloader会间歇式出现卡顿,设置成这样会避免不少)
def __len__(self):
return self.images.shape[0]
train_loader = torch.utils.data.DataLoader(
train_dataset,
pin_memory=True,
)
本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。
“他山之石”历史文章
pytorch 中张量基本操作
pytorch计算模型FLOPs和Params
保姆级教程:个人深度学习工作站配置指南
整理 Deep Learning 调参 tricks
Tensorflow模型保存方式大汇总
利用Tensorflow构建CNN图像多分类模型及图像参数、数据维度变化情况实例分析
pytorch中optimizer对loss的影响
使用PyTorch 1.6 for Android
神经网络解微分方程实例:三体问题
pytorch 实现双边滤波
编译PyTorch静态库
工业界视频理解解决方案大汇总
动手造轮子-rnn
凭什么相信你,我的CNN模型?关于CNN模型可解释性的思考
更多他山之石专栏文章,
请点击文章底部“阅读原文”查看
分享、点赞、在看,给个三连击呗!