先说一下我是 Mac OS 系统,要在 Mac 上编译 MatConvNet 需要 Xcode,但是高版本的 Xcode,Matlab 不支持,换了低版本的 Xcode,OS系统不支持,我是卡死在这,转去 Windows 服务器的。

安装 Matlab

我的服务器系统是 Windows Server 2016,可以先查一下各版本 Matlab 的支持系统和支持编译器,选一个合适的,我的是 R2018a,安装包链接,提取码:n63y

现在说下我走过的坑,本来我是在本机下载安装包再传给服务器,但是在传压缩包的过程中总是出现未知错误导致失败,然后我又在本地解压再传给服务器,文件倒是可以传过去,但是安装程序报错,提示不支持 16-bit 应用程序,最终用最麻烦的办法解决了:

  1. 本地下载百度网盘安装包,复制粘贴到服务器,服务器安装百云网盘
  2. 在服务器上下载 Matlab 和 WinRAR,WinRAR 链接,提取码:i1am
  3. 用 WinRAR 解压安装包,正常安装
  4. 安装密匙:09806-07443-53955-64350-21751-41297
  5. 将安装包解压后的 Crack 文件夹里的 license_standalone.lic 复制到安装路径下的 licenses 文件夹里
  6. 将安装包解压后的 Crack 文件夹里的 R2018a 文件夹下的 bin 文件夹复制到安装目录下,选择替换,最后可以将安装目录下 bin 文件夹里的 Matlab 图标发送到桌面快捷方式
  7. 如果出现 License Manager Error-103 问题(十有八九会出现),修改 license_standalone.lic 文件,用记事本打开,Ctrl + H,将 SIGH= 全部替换为 TS_OK SIGN= 再打开 Matlab 就没问题了

云服务器 跑matlab模型 云服务器可以跑matlab吗_安装包

编译 MatConvNet

MatConvNet 可以到官网下载,上面也有安装和编译过程,目前我只做了 CPU 编译,所以没有装 CUDA 现在说下我走过的坑,一开始我用的是 MinGW64 C/C++ 编译器,但是 MatConvNet 应该是不支持,所以又安装了 Microsoft Visual 2017,我装的社区版,免费

  1. 下载,提取码:1545,安装时我只选了使用 C++ 的桌面开发

云服务器 跑matlab模型 云服务器可以跑matlab吗_服务器_02

  1. 在 Matlab 命令行输入 mex -setup 可以查看当前使用的编译器,可以根据提示修改

云服务器 跑matlab模型 云服务器可以跑matlab吗_安装包_03

  1. 修改后查看 C++ 编译器,确认是 Microsoft Visual C++ 后继续
mex -setup C++
  1. 将 MatConvNet 文件位置作为工作路径,添加路径 matlab
addpath matlab
  1. 编译 MatConvNet
vl_compilenn
  1. 如果出现问题:Unable to find cl.exe,我试了添加环境变量,还是不行,最后解决方法: 在 VS 安装目录下找到自己对应系统的 cl.exe,我的路径是 Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64,复制到 MatConvNet 目录下的 matlab 文件夹

终于成了,enjoy