问题:
a = gpuarray.to_gpu(np.array(features1)) # [5,2]
b = gpuarray.to_gpu(np.array([features2]).T) #[2,1]
gpuarray.dot(a,b)
<<< 0.46748456456
<<< 实际上 应该是个 [5,1]维度的数组
解决方法:
- 方法1
for features in features1:
gpuarray.dot(features,b)
- 方法2
pip install scikit-cuda
import skcuda.linalg as sklin
from pycuda import gpuarray
a = gpuarray.to_gpu(np.array(features1)) # [5,2]
b = gpuarray.to_gpu(np.array([features2]).T) #[2,1]
sklin.dot(a,b)