如何解决实验室GPU不够用,远程连接服务器教程

作为一个深度学习的学生,实验室的GPU显卡是排不上号的,于是乎本人就找到了一个很好用的GPU平台----恒源云
远程连接ssh软件:
在这里插入图片描述
第一步:我们先启动服务器
第二步: 端口 ip地址填写好
在这里插入图片描述
登录成功了!
在这里插入图片描述
先来一个CNN minist手写字识别试试水吧!

import torch
from torch.nn import Linear, ReLU
import torch.nn as nn
import numpy as np
from torch.autograd import Variable
from torchvision import datasets,transforms
from torch.autograd import Variable
import torch.optim as optim
transformation = transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.1307,),(0.3081,))])
#data/表示下载数据集到的目录,transformation表示对数据集进行的相关处理
train_dataset = datasets.MNIST('data/',train=True, transform=transformation,download=True)
test_dataset = datasets.MNIST('data/', train=False, transform=transformation,download=True)
train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=32, shuffle=True)
test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=32, shuffle=True)


import torch.nn.functional as F
class Mnist_Net(nn.Module):
  def __init__(self):
    super(Mnist_Net,self).__init__()
    self.conv1 = nn.Conv2d(1,10,kernel_size=5)
    self.conv2 = nn.Conv2d(10,20,kernel_size=5)
    self.conv2_drop = nn.Dropout2d()
    self.fc1 = nn.Linear(320, 50) #320是根据卷积计算而来4*4*20(4*4表示大小,20表示通道数)
    self.fc2 = nn.Linear(50, 10)
  def forward(self, x):
    x = F.relu(F.max_pool2d(self.conv1(x), 2))
    x = F.relu(F.max_pool2d(self.conv2_drop(self.conv2(x)), 2))
    
    x = x.view(-1, 320)
    x = F.relu(self.fc1(x))
    #x = F.dropout(x,p=0.1, training=self.training)
    x = self.fc2(x)
    return F.log_softmax(x,dim=1)



model = Mnist_Net()
model = model.cuda() #使用Gpu加速训练
optimizer = optim.SGD(model.parameters(), lr=0.01)#优化函数

#损失函数
criteon = nn.CrossEntropyLoss()
optimizer = optim.SGD(transfer_model.parameters(), lr=0.01)
transfer_model = transfer_model.cuda()
train_losses , train_accuracy = [],[]
val_losses , val_accuracy = [],[]
for epoch in range(10):
  transfer_model.train()
  running_loss =0.0
  running_correct =0
  for batch_idx,(x,target) in enumerate(train_loader):
    #预测值logits
    x,target = x.cuda(),target.cuda()
    x,target = Variable(x),Variable(target)
    logits = transfer_model(x)
 
    loss = criteon(logits,target)
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
    running_loss +=loss.item()
    preds = logits.data.max(dim=1,keepdim=True)[1]
    running_correct += preds.eq(target.data.view_as(preds)).cpu().sum()
  train_loss = running_loss/len(train_loader.dataset)
  train_acc = 100*running_correct/len(train_loader.dataset)
  train_losses.append(train_loss)
  train_accuracy.append(train_acc)
  print('epoch:{},train loss is{},train_acc is {}'.format(epoch,train_loss,train_acc))
 
  test_loss =0.0
  test_acc_num=0
  #模型test
  model.eval()
  for data,target in test_loader:
    data,target = data.cuda(),target.cuda()
    data,target = Variable(data),Variable(target)
    logits = transfer_model(data)
    test_loss +=criteon(logits,target).item()
    _,pred = torch.max(logits,1)
    test_acc_num += pred.eq(target).float().sum().item()
  test_los = test_loss/len(test_loader.dataset)
  test_acc = test_acc_num/len(test_loader.dataset)
  val_losses.append(test_los)
  val_accuracy.append(test_acc)
  print("epoch:{} total loss:{},acc:{}".format(epoch,test_los,test_acc))

新建一个python文件,直接训练!
在这里插入图片描述

在这里插入图片描述

平台里预装好了一些主流的深度学习框架,即开即用,对于不想配环境的我来说非常便利。
另外还赠有100G,免费数据存储,实例关机状态下也可以上传数据。Nice!!!
还有无卡启动,便宜,方便调试。
在这里插入图片描述

一些个性化功能如(无卡启动模式、实例可视化监控、支持公共网盘传输、共享数据集、镜像市场、备份镜像、团队共享、定时关机、实例升降配、小程序管理等)
在这里插入图片描述

另外在手机上也可以控制实例进行开关机操作。
活动丰富(新人100元礼券、会员专属折扣、学生100元礼包、邀请有礼、每日签到、每月限定活动)
使用文档详实、技术团队支持、客服响应快速
平台强大的社区和社群,聚集了上万炼丹师交流分享

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ricky_1999

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值