您的位置:首页 > 娱乐 > 明星 > 北京南站在哪个街道_app开发定制的公司哪家好_文件外链_今日小说搜索风云榜

北京南站在哪个街道_app开发定制的公司哪家好_文件外链_今日小说搜索风云榜

2025/5/9 16:46:45 来源:https://blog.csdn.net/weixin_53036073/article/details/147161905  浏览:    关键词:北京南站在哪个街道_app开发定制的公司哪家好_文件外链_今日小说搜索风云榜
北京南站在哪个街道_app开发定制的公司哪家好_文件外链_今日小说搜索风云榜

第二部分  测试本地pycharm通过程序连接远程服务器autodl

模型的推理需要借助远程服务器autodl,但是界面的运行是在pycharm中,我的设想是按钮调用一个py文件就好了。

1. 本地运行PyQt5界面。

2. 当需要载入权重时,通过SSH连接到AutodL服务器,执行模型推理。

3. 服务器返回结果到本地,更新界面。

这样服务器只需要YOLOv11的环境,不需要PyQt5。因此,不需要在AutodL上配置PyQt5。

我首先在本地pycharm中配置了两个环境,一个有pyqt,一个通过SSH连接算力云,后来我发现我不会联合使用这两个环境,我跟着一些教程改了一些设置,也是没有成功,最后还是豆包解决的。豆包yyds!你一直问一直疑惑,他就会慢慢理解你的困惑了。

我现在的想法是先实现点击一个按钮就能执行云端相应的文件去调用权重,最终发现根本不需要创建SSH连接的环境,直接在pyqt那个环境中,写代码连接服务器。

以下是我本地pycharm连接autodl算力云的代码,给大家做一个参考:

import sys
import paramiko
from PyQt5.QtWidgets import QApplication, QMainWindow
from system_design_ui import Ui_MainWindowif __name__ == "__main__":###这里是我调用pyqt界面的代码try:ssh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 替换为你的远程服务器连接信息sshssh.connect('服务器地址', username='名称', password='密码', port=编号)#这里就是SSH连接服务器的步骤# 先切换到你需要的目录,再执行你要执行的文件command = f"cd /root/xxx && /root/miniconda3/bin/python(这个大家应该都是一样的) jiance.py"print(f"即将执行命令: {command}")stdin, stdout, stderr = ssh.exec_command(command)result = stdout.read().decode('utf-8')error = stderr.read().decode('utf-8')print(f"命令执行结果:\n{result}")if error:print(f"执行 jiance.py 时出错: {error}")else:print("jiance.py 脚本执行成功,未发现错误信息。")ssh.close()except Exception as e:print(f"执行过程中发生错误: {e}")sys.exit(app.exec_())

因为这个代码是我一步一步试出来的,里面有很多输出信息来检查哪里发生了错误。

执行后观察输出信息,如果云端上找不到执行后生成的东西,比如我出现的问题就是本地通过 SSH 执行 jiance.py 时,当前工作目录是 /root ;而在云端直接执行时,当前工作目录是 /root/ultralytics-main 。工作目录的差异或许会影响到脚本里相对路径的解析,进而致使保存路径出现问题。 

修改本地代码和云端执行路径一致,当然不改也行,记住存放的路径方便后面用到的时候去找,再次运行本地代码,jiance.py 执行时的工作目录就和云端直接执行时一致了,已经成功连接服务器进行检测。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com