【发布时间】:2018-07-05 11:12:36
【问题描述】:
模型火车系统:AWS Ubuntu p2.xlarge、R 3.4.0、mxnet_1.0.1。 保存方式:
mx.model.save(A3.MXmodel, "Action/A3.MXmodel", iteration = 3000)
通过以下方式在同一系统上加载工作正常:
A3.MXmodel <- mx.model.load("A3.MXmodel", iteration=3000)
A3.pred <- predict(A3.MXmodel, as.matrix(nNewVector))
A3.pred.label = max.col(t(A3.pred))-1
将模型文件移动到新系统(第一个实例的 AMI 克隆但在 g2.xlarge 上)。并试图预测:
A3.pred <- predict(A3.MXmodel, as.matrix(nNewVector))
导致 rstudio 立即崩溃,没有数据保存或错误消息。 我可以通过安装检查确认 mxnet 正在处理新实例:
library(mxnet)
a <- mx.nd.ones(c(2,3), ctx = mx.gpu())
b <- a * 2 + 1
b
我是否必须在新实例的某个地方指定模型基于 GPU 设备? 在 GPU 实例上训练的模型能否在 CPU mxnet 构建的 CPU 实例上运行?
【问题讨论】:
-
这可能很明显,但您是否确认完全相同的代码在 p2.x 上也能正常工作?
-
好主意,似乎在 p3.xlarge 上运行良好。太糟糕了,因为g2便宜得多。可能会将系统移至仅 CPU 的 EC2。谢谢
-
对于模型推理@Garglesoap 只有 CPU 的 EC2 有什么运气吗?我的猜测是您的模型对于 g2.xlarge 实例来说太大了。它只有 4GB 的可用 GPU 内存,而训练模型的 p2.xlarge 上只有 12GB。
-
相同的模型在其他 p2 和 p3 实例上运行良好,所以我怀疑你关于 gpu ram 的想法可能是正确的:p2 和 p3 是不同的 gpu 架构
-
我同意模型可能太大。我建议您检查日志文件,如下所述:support.rstudio.com/hc/en-us/articles/… 或者,如果在日志中没有发现任何有趣的内容,您可以通过 R REPL 运行失败的脚本来查看发生了什么。只需在终端中输入 R,粘贴代码并回车即可。如果失败,它不会关闭终端,您将能够看到错误消息。
标签: r amazon-ec2 mxnet