GPU用于为矩阵运算进行加速开始在工业界和研究人员中获得了广泛关注。尤其是近来推出的各种深度学习框架,如mxnet、TensorFlow等,GPU加速更是不可或缺,成了提升运算速度的法宝。
然而,作为在Python中占据基础地位的numpy却始终没能提供这一功能,我们无法灵活地使用GPU为numpy的矩阵运算进行加速。不过,近来,作为mxnet的开发者,dmlc在mxnet的基础上,进一步开发了minpy,其为矩阵运算提供了GPU加速,而且可以做到与numpy近乎完美兼容;甚至有时,不需改动一行代码,只需在程序的开头将import numpy as npimport numpy as np改为import minpy.numpy as npimport minpy.numpy as np即可实现GPU加速,可谓十分省事儿方便。
1. 安装minpy
首先需要注意的是,以下内容是基于Ubuntu进行描述的,如果是其他操作系统,可能需要作相应的修改。
其次,因为要用GPU加速运算,自然要确保你的计算机上有NVIDIA的GPU,而且安装好GPU的诸如CUDA和cudnn驱动。
minpy是基于mxnet进行运算的,所以它离不开mxnet。安装minpy之前,需要先安装mxnet。现在的深度学习框架,再也不像早期的caffe那样毫无人性了,安装都十分方便快捷。具体来说,只需首先执行如下命令进行编译:
sudo apt-get update
sudo apt-get install -y build-essential git libatlas-base-dev libopencv-dev
git clone --recursive -b engine https://gi