思前想后,最后还是回归到Pytorch这个框架。不得不说,比起MXNet,PyTorch的确是要灵活不少。 以前是自己半桶水,没有很好地领会到它的精髓之处。当然,现在也没有,d=====( ̄▽ ̄*)b
一些模板代码(dirty)
命令行参数设置
1 | import os |
2018/3/10更新
发现一个不知道是PyTorch(0.30)还是CUDA(8.0)引起的一个bug,就是直接再代码中设置os.environ['CUDA_VISIBLE_DEVICES'],有时候会失效,也就是说,无论你设置为哪块GPU,它都只使用GPU0。暂时没发现引起这个bug的原因和出现的条件。因此,在命令行指定是最保险的做法。例如:CUDA_VISIBLE_DEVICES=1,2 python xx.py
数据集读取(cifar10)
1 | kwargs = {'num_workers': 1, 'pin_memory': True} if args.cuda else {} |
训练及测试过程
1 | def train(e): |
最近的复现剪枝的一些代码(部分)
1 | print('\nPruning Start\n') |
1 | layer_idx = 0 |
一些有用和有趣的api(持续更新)
torch.masked_select(input, mask, out=None) → Tensor
Example
1 | >>> x = torch.randn(3, 4) |