- 自定义 Dataset 的 init 将数据库读入,getitem 尽量只从内存读,避免读磁盘。数据量太多,可以维持一个固定大小的内存池,偶尔从磁盘读
- 如果 getitem 包含运算,DataLoader 可以设置 num_workers>0
- DataLoader 中 pin_memory 参数设为 True,tensor.cuda(non_bloking=True) 可以异步传输
- 开头加 torch.backends.cudnn,benchmark=True,有卷积层的时候,卷积前向运算会加速,最好卷积输入都是固定的。开始先找到最优卷积算法可能比较慢,后面会加速
- einops 和 pytorch 联合编写,可读性更强