【发布时间】:2021-01-01 22:11:22
【问题描述】:
我在笔记本中使用 AWS 提供的语义分割算法训练了一个模型。 将大小为 512x512 的图像输入到这个在相同大小的图像上训练的网络大约需要 10 秒。输入 1024x512 大小的图像所需的时间大约是原来的两倍。
这感觉像是一个荒谬的时间,所以我挖得更深,使用 gluoncv 和 mxnet 将模型加载到 EC2 实例中,AWS 语义分割是基于该实例的。
在这里我找到了一个 ctx 的标志,声明我想使用 CPU 还是 GPU。 我在 AWS 上找不到这个标志,所以我的假设是这必须在后台处理,具体取决于我选择运行的实例。
但是,当将我在笔记本上训练的模型加载到为 GPU 设置的 EC2 实例中时,我收到以下错误: “RuntimeError:参数'fcn0_resnetv1s_conv0_weight'未在上下文gpu(0)上初始化。它仅在[cpu(0)]上初始化。”
我将其解释为仅在 CPU 上运行的网络,进而解释了为什么通过网络提供 512x512 图像需要 10 秒。
我在这里遗漏了什么吗? 如何让 AWS 提供的语义分割算法使用 GPU 运行?
问候, C
【问题讨论】:
标签: amazon-web-services amazon-sagemaker mxnet semantic-segmentation