pytorch之GPU数据并行
2019-07-04 18:57
1361 查看
使模型在gpu上运行
在原来的代码上修改了两处,如代码标注所示
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") net.to(device)#1.网络参数数据要是GPU格式 for epoch in range(2): # loop over the dataset multiple times running_loss = 0.0 for i, data in enumerate(trainloader, 0): # get the inputs; data is a list of [inputs, labels] inputs, labels = data #2.输入数据以及标签数据都要是GPU格式 inputs=torch.FloatTensor(inputs) inputs=inputs.to(device) #labels=torch.FloatTensor(float(labels)) labels=labels.to(device) # zero the parameter gradients,把梯度置零,也就是把loss关于weight的导数变成0. optimizer.zero_grad() # forward + backward + optimize outputs = net(inputs)#forward前向传播求出预测的值 loss = criterion(outputs, labels)#求los loss.backward()#backward反向传播求梯度 optimizer.step()#optimize更新所有参数 # print statistics running_loss += loss.item() if i % 2000 == 1999: # print every 2000 mini-batches print('[%d, %5d] loss: %.3f' % (epoch + 1, i + 1, running_loss / 2000)) running_loss = 0.0 print('Finished Training')
并行运行DataParallel
model = Model(input_size, output_size)#Model是定义的网络结构 if torch.cuda.device_count() > 1: model = nn.DataParallel(model)#如果有多个GPU,用DataParallel进行GPU的并行计算 model.to(device)#model放入GPU for data in rand_loader: input = data.to(device)#输入数据放入GPU output = model(input) print("Outside: input size", input.size(), "output_size", output.size())
相关文章推荐
- PyTorch使用并行GPU处理数据
- 关于使用PyTorch设置多线程(threads)进行数据读取而导致GPU显存始终不释放的问题
- pytorch多GPU训练以及多线程加载数据
- pytorch 调整某一维度数据顺序的方法
- pytorch: 准备、训练和测试自己的图片数据
- TensorFlow 多 GPU 处理并行数据
- 深度神经网络DNN的多GPU数据并行框架 及其在语音识别的应用
- PyTorch指定GPU
- 解决win10(2080ti)+CUDA9.2+pytorch-gpu(RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED)
- 如何处理Pytorch使用GPU后仍有GPU资源未释放的情况
- Attention is all you need pytorch实现 源码解析01 - 数据预处理、词表的构建
- GPU体系架构(一):数据的并行处理
- tensorflow和pytorch数据的储存形式
- Horovod_Tensorflow_Gpu环境配置及模型数据并行
- 【Pytorch小知识】pytorch使用torch.dtype、torch.device和torch.layout管理数据类型属性
- Pytorch打怪路(一)pytorch进行CIFAR-10分类(1)CIFAR-10数据加载和处理
- Torch load model from gpu to cpu, so can convert to pytorch
- 深度学习入门之Pytorch——数据增强
- windous10下+Anaconda+深度学习框架(TensorFlow cpu/gpu 、Keras、Pytorch)+Cuda+Cudnn+pycharm安装教程及避坑手册
- 利用TESLA GPU和MATLAB实现大规模型数据并行处理