我想训练一个神经网络,同时使用MXNet在我的g2.8xarge EC2实例上使用所有4个GPU。我正在使用以下AWS Deep Learning Linux社区AMI:
深度学习AMI亚马逊Linux - 3.3_Oct2017 - ami-999844e0)
根据这些instructions,当我连接到实例时,我通过发出以下命令切换到带有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。
但是每次运行我的代码时,都会收到以下错误消息:
大纪元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。我还发出了'made'命令来尝试使用USE_CUDA = 1标志重新编译MXNet - 没有变化。
我是否遇到此问题,因为我正在使用AWS文档说要使用的虚拟环境?有没有其他人在使用此虚拟环境的AWS深度学习Ubuntu AMI上遇到MXNet这个问题?
非常感谢任何建议 -
答案 0 :(得分:3)
这是因为Keras Conda环境依赖于mxnet cpu pip包。您可以使用以下命令在Conda环境中安装gpu版本:
pip install mxnet-cu80