宝盈集团直营网站怎么做,商城网站怎么建,优秀的国外网站,做网站需要交税1 Tensor创建类
1.1 直接创建Tensor#xff0c;而不是从Python或Numpy中转换
不要使用原生Python或NumPy创建数据#xff0c;然后将其转换为torch.Tensor直接用torch.Tensor创建或者直接#xff1a;torch.empty(), torch.zeros(), torch.full(), torch.ones(), torch.…1 Tensor创建类
1.1 直接创建Tensor而不是从Python或Numpy中转换
不要使用原生Python或NumPy创建数据然后将其转换为torch.Tensor直接用torch.Tensor创建或者直接torch.empty(), torch.zeros(), torch.full(), torch.ones(), torch.eye(), torch.randint(), torch.rand(), torch.randn()
1.2 直接在GPU中创建减少.to(device)
ok的
tensor torch.rand([10, 5], devicetorch.device(cuda:0))
尽量避免的
cuda_tensor.cpu()
cuda_tensor.to_device(cpu)
cpu_tensor.cuda()
cpu_tensor.to_device(cuda)
cpu_tensor.to(device)
1.3 使用 torch.from_numpy(numpy_array)和torch.as_tensor(others)代替 torch.tensor
torch.tensor() 会拷贝数据
2 Dataloader类
2.1 pin_memory
Dataloader(dataset, pin_memoryTrue)
在深度学习中使用GPU进行训练时经常需要将数据从CPU传输到GPU。 由于GPU无法直接访问CPU的可分页非固定内存这会导致数据传输效率不高。可分页内存是指操作系统可以将其页即数据块移出到虚拟内存的物理内存。设置 pin_memoryTrue 的作用是在数据从CPU传输到GPU之前先将数据从可分页内存转移到固定内存也称为页面锁定内存。 固定内存是一种特殊类型的内存操作系统不会将其页移出到虚拟内存这样GPU可以更快地访问这部分内存。使用固定内存可以避免数据在传输过程中的额外拷贝因此可以加快数据从CPU到GPU的传输速度。 3 其他
3.1 torch.backends.cudnn.benchmark 设置为 True
在深度学习中卷积操作是最计算密集的部分之一。NVIDIA 的 cuDNN 库提供了多种卷积算法每种算法都适用于不同的硬件和卷积配置如内核大小、步幅、填充等 当 torch.backends.cudnn.benchmark 设置为 False默认值时PyTorch/cuDNN 会选择一个合适的、通用的卷积算法来执行操作而不会根据具体的网络配置进行优化。 这种选择通常比较保守确保了在大多数情况下的可靠性。 当设置为 True 时PyTorch 会在程序第一次执行每种卷积配置时启用一个自动调优器这个调优器通过实际运行不同的卷积算法来测试它们的性能。 然后它选择最快的算法并在后续的训练过程中使用这一算法。 这个“基准测试”过程只在第一次遇到新的卷积配置时进行。 如果模型的输入大小包括批大小、图像尺寸等在整个训练过程中保持不变开启 torch.backends.cudnn.benchmark 通常可以带来性能提升。这是因为一旦为每种卷积配置选择了最优算法就不需要再进行调整每次执行同样的卷积操作都会使用这一最优算法。 参考内容mp.weixin.qq.com/s?__bizMzA4ODUxNjUzMQmid2247500198idx1sn0eb717d910f4e8452664ac520679b1e1chksm902a737aa75dfa6c3ea3e6fad7c4f4799304ccd4d21277d615e7200266775c8fdf480cb66f5ascene126sessionid1690516061#rd