我想训练一个神经网络,同时使用MXNet在我的g2.8xarge EC2实例上使用所有4个GPU。我正在使用以下AWS深度学习Linux社区AMI:
深度学习AMI亚马逊Linux-3.3_Oct2017-AMI-999844e0)
根据这些说明,当我连接到实例时,我通过发出以下命令切换到带有MXNet后端的keras v1:
source ~/src/anaconda3/bin/activate keras1.2_p2
我还在python模型编译代码中添加了上下文标志,以利用MXNet:中的GPU
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'], context=gpu_list)
其中gpu_list意味着利用所有4个gpu。
然而,每次我运行代码时,我都会收到以下错误消息:
Epoch 1/300[15:09:52]/home/travis/build/dmlc/mxnet distro/mxnet build/dmlc-core/include/dmlc/logging.h:308:[15:09:52]src/storage/storage.cc:113:使用USE_CUDA=1编译以启用GPU使用
和
RuntimeError:simple_bind错误。参数:dense_input_1:(25,34L)[15:09:52]src/storage/storage.cc:113:使用USE_CUDA=1编译以启用GPU使用
我已经检查了/home/ec2 user/src/mxnet中的config.mk文件,它包含USE_CUDA=1。我还发出了"maked"命令,尝试使用USE_CUDA=1标志重新编译MXNet——没有更改。
我在使用AWS文档规定要使用的虚拟环境时是否遇到了这个问题?其他人使用这个虚拟环境在AWS深度学习Ubuntu AMI上使用MXNet时遇到过这个问题吗?
非常感谢任何建议-
这是因为Keras Conda环境依赖于mxnet cpu pip包。您可以在Conda环境中安装gpu版本,使用:
pip install mxnet-cu80