3

我正在使用 Matlab 中的机器学习任务(使用 Matlab 的神经网络工具箱)。因此,我需要运行对 RAM 和处理器时间要求非常高的计算。我的计算机不足以完成这项任务,但我可以访问足够强大的 Linux 服务器。

我正在寻找如何从在该服务器上我自己的计算机上运行的 Matlab GUI 运行计算任务的方法。理想情况下,它应该在以下条件下工作:

  • 我的电脑运行的是 Windows 7,服务器 Red Hat Linux
  • 我只能使用 SSH 协议连接到服务器(目前我正在使用 putty 来完成该任务)
  • 服务器没有安装 Matlab。我可以要求服务器管理员安装它,但这可能需要一些时间,如果不需要的话会更好。服务器上安装了 Java 虚拟机(和开发工具包)。
  • 我更喜欢在我的电脑上使用 Matlab GUI(不是 Matlab 命令行)

我怎样才能做到这一点?如果您需要有关设置的更多信息或知道其他解决方案,请发表评论。我很乐意回应。

4

3 回答 3

3

正如评论中所暗示的,Parallel Computing Toolbox + MATLAB Distributed Computing Server可以解决这个问题,如果您正在积极更新代码,它可能比该mcc方法更简单。但是,您必须在服务器上安装 MDCS 部件并进行设置。如果您不使用任何 MEX 文件,那么架构上的差异应该是无关紧要的。如果您使用的是 MEX 文件,则需要确保您可以针对服务器架构编译它们并使它们在那里可用。

于 2012-10-11T13:45:04.080 回答
3

如果服务器上没有 matlab,唯一的方法是:

我们都在我的实验室里这样做(除了我们在 ubuntu 上)

于 2012-10-11T12:51:20.800 回答
0

您可以从本地 PC 在远程 Linux 服务器上运行 MATLAB 作业,而无需设置 MDCS,但是对于大规模和多用户,强烈建议使用 MCDS。您可以使用 plink 从 MATLAB 自动执行 putty 命令行。

我们正在功能更强大的远程 Linux 服务器上执行多次迭代的 Simulink 模型仿真。您将需要以下内容:

1) 使用并行计算工具箱在客户​​端和服务器机器上安装 MATLAB

2)映射的Linux服务器共享网络驱动器(用于数据I/O)

3) Plink 用于自动化 Putty

4) 用于在远程机器上静默执行 MATLAB 的命令行脚本

MATLAB 代码示例:

plinkFile = which('plink.exe');

command = [plinkFile ' -ssh ' [ServerUrl] ' -l ' [Username] ...
                    ' -pw ' [Password] ' matlab -nodesktop -nosplash ' ...
                    '-r "' [RemoteScriptName] ...
                    '\(\''' InputDataSharedDriveFilePath] '\''\);" &'];  

[status,cmdout] = system(command);  
于 2018-07-27T07:52:11.323 回答