在本地利用服务器显卡跑代码

简介: 在本地利用服务器显卡跑代码

写在最前面

原文发布时间:2022-12-03 12:59:51

质量分过低,进行完善

原文

除了使用xshell等连接服务器以外,pycharm也可以连接服务器,在服务器上运行代码,上传下载文件等操作。

参考:https://cloud.tencent.com/developer/article/1738482

步骤如下:

1、pycharm工具栏:Tools– Deployment– Configuration

2、左上角:点击+加号– SFTP(最好选择这个)

3、给连接命名(自定义)

4、选择新建的连接– Connection– 输入服务器、登录信息– Test connection,测试能否连接成功。

点击三点配置服务器信息

连接成功后,会弹出如下窗口,否则是其他信息:

5、在上面的窗口中:点击– Mappings,设置工作目录路径设置好后,点击确定

先新建文件夹wyt(可以自命名)

路径为/home/tjh/wyt

sudo mkdir wyt

6、现在可以进行文件的上传和下载工作了(此时还不能进行代码运行,因为还没有配置解释器环境–见步骤7)

7、配置解释器

要想运行代码,还需要配置python(根据自己的语言定)解释器环境:

File– Settings

Project:…– Project Interpreter — Add

SSH Interpreter– 输入服务器地址,端口号,用户名– next

输入密码– next

选择解释器目录,点击完成即可。

查找解释器目录

>>> import os
>>> print(os.__file__)

8、检测能否成功运行(这个地方我没成功,但代码能跑就没管了)

可以通过os,看能否浏览服务器上的文件目录

import osos.listdir(“//home//tjh//wyt”) # 随便输入一个你的服务器文件目录

如果输出的文件列表是你的服务器上的文件,那么恭喜你完成了配置。

9、其他说明:

1)、设置好本地工作目录和自动上传后,文件会自动上传当前(设置了服务器解释器的工程)到设置的目录。

然后操作本地的文件(重命名、修改编写代码、删除文件),服务器也会同步修改。但这些都要保证是在pycharm里面操作。如果是在windows里面操作的话,不会自动同步。

同步日志详情可以在左下角的 File Transfer 里面看到

2)运行生成的文件会保存在服务器目录下,需要手动从服务器下载

以上就是本文的全部内容,希望对大家的学习有所帮助。

完善

充分发挥GPU潜力:在PyCharm中远程运行代码

在机器学习、深度学习和数据科学领域,利用GPU进行计算已成为标配。然而,许多开发者的本地机器不具备强大的GPU资源,这使得运行计算密集型任务变得困难。好在有一个解决方案,即通过PyCharm远程运行代码,利用远程服务器上的GPU资源。本文将详细介绍如何在PyCharm中配置和运行代码以充分利用服务器的显卡资源。

步骤 1:准备服务器

首先,您需要访问一台拥有强大GPU的远程服务器。这可以是您自己的服务器,也可以租用云服务提供商(如AWS、Google Cloud、Azure等)的虚拟机实例,这些虚拟机通常配备了高性能的GPU。确保您可以通过SSH远程连接到服务器,因为我们将需要在服务器上执行代码。

步骤 2:配置PyCharm

安装 PyCharm

如果尚未安装PyCharm,您需要在本地计算机上安装它。PyCharm提供了免费的社区版和付费的专业版可供选择。您可以从官方网站https://www.jetbrains.com/pycharm/下载并安装PyCharm。

配置远程解释器

  1. 打开PyCharm并创建或打开您的Python项目。
  2. 转到PyCharm的设置(Settings)或首选项(Preferences)窗口。
  3. 在设置窗口中,找到“解释器”选项。点击“解释器”选项,然后点击右上角的齿轮图标,选择“Add Remote”。在弹出的窗口中,选择SSH配置。
  4. 在SSH配置中,提供远程服务器的SSH连接信息,包括服务器地址、用户名和SSH密钥(如果有的话)。确保您已经设置好了SSH密钥对,以便无需密码登录到远程服务器。完成配置后,点击“OK”。
  5. 回到“解释器”选项,您应该能够看到您刚刚配置的远程解释器。选择它作为您的项目解释器。

项目设置

在项目设置中,您可以配置各种参数,例如Python解释器、项目根目录等。确保您的项目设置中正确指定了远程解释器。

步骤 3:运行代码

一旦您完成了配置,您可以开始在PyCharm中编写和运行代码。您的代码将在远程服务器上执行,并可以利用服务器的GPU资源。请确保您的代码中包含GPU加速的库(如TensorFlow、PyTorch等),并在代码中正确配置以使用GPU。

参考代码

当使用PyCharm在本地利用远程服务器的显卡运行代码时,通常不需要在代码中做特殊的修改。您只需确保在PyCharm的项目设置中正确配置了远程解释器,然后在项目中正常编写代码。

下面是一些示例代码,用于在PyCharm中配置和运行代码以充分利用远程服务器的GPU资源。请注意,以下示例仅演示了一些基本的设置和代码结构,实际情况可能因项目的性质而有所不同。

步骤 1: 配置远程解释器

首先,确保您已配置了远程解释器,如上文所述。

步骤 2: 编写示例代码

以下是一个使用PyTorch库的示例代码,该代码在远程服务器上利用GPU执行神经网络训练任务。假设您的项目中已安装了PyTorch,并且正确配置了GPU支持。

import torch
import torch.nn as nn
import torch.optim as optim
# 定义一个简单的神经网络
class SimpleNet(nn.Module):
    def __init__(self):
        super(SimpleNet, self).__init()
        self.fc1 = nn.Linear(64, 128)
        self.fc2 = nn.Linear(128, 10)
    def forward(self, x):
        x = torch.relu(self.fc1(x))
        x = self.fc2(x)
        return x
# 创建神经网络实例
net = SimpleNet()
# 指定GPU设备
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
# 将神经网络移动到GPU
net.to(device)
# 定义损失函数和优化器
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.001)
# 虚拟数据(请替换为您的实际数据加载代码)
inputs = torch.randn(32, 64).to(device)
labels = torch.randint(10, (32,)).to(device)
# 训练循环
for epoch in range(100):
    # 正向传播
    outputs = net(inputs)
    loss = criterion(outputs, labels)
    # 反向传播和优化
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
print("训练完成!")

这个示例代码演示了如何在PyCharm中编写深度学习任务,并利用服务器上的GPU资源。请确保您的代码中包含了GPU支持的库(如PyTorch),并且将神经网络和数据移到GPU设备上以进行训练。

步骤 3: 运行代码

在PyCharm中,您只需正常运行代码,PyCharm会自动将代码发送到远程服务器并执行。请确保您的远程服务器上已正确安装和配置了所需的Python库和GPU驱动程序。

这样,您就可以充分利用服务器的显卡资源来加速您的深度学习和机器学习任务。在PyCharm的集成开发环境中编写和运行代码,使整个过程更加方便和高效。

注意事项和建议

当在远程服务器上运行代码时,需要特别注意一些注意事项和建议,以确保您的工作顺利进行。以下是一些重要的事项和建议,以帮助您有效利用远程服务器的GPU资源。

1. 监控资源利用率

使用远程服务器上的GPU资源时,请定期监控资源的利用率。这对于确保您的任务正在进行,并且没有发生资源争用非常重要。您可以使用命令行工具如nvidia-smi来查看GPU的使用情况和资源占用情况。这个工具提供了GPU的详细信息,包括GPU的使用率、温度、内存占用等。

nvidia-smi

通过运行上述命令,您可以实时监控GPU资源的使用情况,以及当前运行的进程。这有助于及时发现问题并采取必要的措施。

2. 合理分配资源

如果多人共享同一台远程服务器,尤其是共享GPU资源时,请确保合理分配资源,以避免争用和资源浪费。如果您共享服务器,建议在使用GPU之前检查GPU是否已被占用。您可以使用工具如nvidia-smi或GPU管理软件来查看GPU的占用情况。如果GPU资源已被占用,可以等待其他任务完成后再开始您的任务,或者与其他用户协调资源的使用。

3. 备份代码和数据

在远程服务器上运行代码时,定期备份您的代码和数据非常重要。远程服务器上的数据不如本地计算机容易恢复,因此确保定期将代码、模型和数据文件复制到安全的地方,以防止意外数据丢失。您可以使用工具如rsyncscp来定期备份文件。

# 使用rsync备份文件到本地目录
rsync -avz username@remote_server:/path/to/data /local/backup/directory

4. 使用tmux或screen

为了在SSH会话中保持代码运行,建议使用工具如tmuxscreen。这些工具允许您创建会话,以便在断开SSH连接后继续运行代码。这对于长时间运行的任务非常有用,因为它们不会因为SSH连接的中断而中止。

使用tmux:
  1. 安装tmux(如果尚未安装):sudo apt-get install tmux(对于Ubuntu)。
  2. 启动新tmux会话:tmux new -s session_name
  3. 在tmux会话中运行您的代码。
  4. 当SSH连接中断后,可以重新连接到服务器,然后使用tmux attach-session -t session_name来恢复会话。
使用screen:
  1. 安装screen(如果尚未安装):sudo apt-get install screen(对于Ubuntu)。
  2. 启动新screen会话:screen -S session_name
  3. 在screen会话中运行您的代码。
  4. 当SSH连接中断后,可以重新连接到服务器,然后使用screen -r session_name来恢复会话。

这些注意事项和建议有助于确保您能够有效地在远程服务器上利用GPU资源并顺利运行您的代码。通过监控资源、合理分配、备份数据和使用会话管理工具,您可以更好地管理您的远程开发环境。

通过配置PyCharm和远程服务器,您可以充分利用服务器的GPU资源,加速深度学习和机器学习任务,而无需在本地机器上拥有强大的显卡。这种方法可使您在更大规模的项目中更高效地工作,并处理更复杂的任务。一切尽在PyCharm掌握中!

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
相关文章
|
23天前
|
IDE 网络安全 开发工具
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
本文介绍了如何使用VS Code通过Remote-SSH插件连接远程服务器进行代码开发,并与PyCharm进行了对比。作者认为VS Code在连接和配置多个服务器时更为简单,推荐使用VS Code。文章详细说明了VS Code的安装、远程插件安装、SSH配置文件编写、服务器连接以及如何在连接后切换文件夹。此外,还提供了使用密钥进行免密登录的方法和解决权限问题的步骤。
199 0
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
|
24天前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
196 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
1月前
|
Linux C语言 C++
vsCode远程执行c和c++代码并操控linux服务器完整教程
这篇文章提供了一个完整的教程,介绍如何在Visual Studio Code中配置和使用插件来远程执行C和C++代码,并操控Linux服务器,包括安装VSCode、安装插件、配置插件、配置编译工具、升级glibc和编写代码进行调试的步骤。
157 0
vsCode远程执行c和c++代码并操控linux服务器完整教程
|
1月前
|
前端开发 Java
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
文章介绍了如何使用SpringBoot创建简单的后端服务器来处理HTTP请求,包括建立连接、编写Controller处理请求,并返回响应给前端或网址。
50 0
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
|
2月前
|
设计模式 数据库连接 PHP
PHP中的设计模式:如何提高代码的可维护性与扩展性在软件开发领域,PHP 是一种广泛使用的服务器端脚本语言。随着项目规模的扩大和复杂性的增加,保持代码的可维护性和可扩展性变得越来越重要。本文将探讨 PHP 中的设计模式,并通过实例展示如何应用这些模式来提高代码质量。
设计模式是经过验证的解决软件设计问题的方法。它们不是具体的代码,而是一种编码和设计经验的总结。在PHP开发中,合理地使用设计模式可以显著提高代码的可维护性、复用性和扩展性。本文将介绍几种常见的设计模式,包括单例模式、工厂模式和观察者模式,并通过具体的例子展示如何在PHP项目中应用这些模式。
|
1月前
|
机器学习/深度学习 人工智能 并行计算
StableDiffusion-01本地服务器部署服务 10分钟上手 底显存 中等显存机器 加载模型测试效果 附带安装指令 多显卡 2070Super 8GB*2
StableDiffusion-01本地服务器部署服务 10分钟上手 底显存 中等显存机器 加载模型测试效果 附带安装指令 多显卡 2070Super 8GB*2
27 0
|
2月前
|
网络安全 开发工具 云计算
服务器看代码阿里云
随着云计算技术的发展,阿里云作为国内领先的云计算服务提供商,其服务器受到广大用户青睐。本文主要介绍如何在阿里云服务器上便捷地查看与管理代码,如使用SSH连接服务器并通过命令行工具打开文件,以及利用Git进行版本控制和协作开发,提高代码管理效率。无论个人开发者还是企业团队,都能借助阿里云服务器高效地部署与管理应用程序,提升工作效率及产品质量。
64 10
|
2月前
|
存储 Linux 网络安全
存放位置阿里云服务器代码的
阿里云服务器提供虚拟化计算、存储与网络服务。创建服务器时,可基于不同需求选择代码存放位置:文件系统支持直接通过SSH访问与编辑;公共目录如 `/var/www/html` 适合Web应用;对象存储OSS适用于大数据处理;代码托管服务如 GitLab 则利于版本控制与团队协作。合理选择有助于提升开发效率。
64 7
|
2月前
|
开发者
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
31 1
|
2月前
|
网络安全 云计算
阿里云服务器代码
阿里云作为中国领先的云计算服务提供商,为用户提供了丰富的云服务器实例。本文详细介绍如何在阿里云上定位服务器代码,包括利用控制台搜索实例并访问详细页面查找相关信息,使用`ssh`和`cat`等命令行工具远程连接及读取文件内容,以及在遇到困难时及时联系阿里云技术支持获取帮助的具体方法。无论您的实例类型与操作系统有何不同,总有一种方式能帮您顺利找到所需的服务器代码。
32 3