提交 0250e5ee authored 作者: Frederic's avatar Frederic

Added the test in reverse order.

上级 ffa4e84c
import numpy
import theano
from theano.misc.gnumpy_utils import gnumpy_available
......@@ -20,8 +22,12 @@ Make sure that the gnumpy conversion is exact.
A = gnumpy.rand(*shape)
A_cnd = garray_to_cudandarray(A)
assert A_cnd.shape == A.shape
# assert A_cnd.dtype == A_gar.dtype # dtype always float32
# assert A_cnd._strides == A_gar.strides, garray don't have strides
B_cnd = ii(A_cnd)
B = cudandarray_to_garray(B_cnd)
assert A_cnd.shape == A.shape
from numpy import array
B2 = array(B_cnd)
......@@ -30,3 +36,30 @@ Make sure that the gnumpy conversion is exact.
w = B2
assert abs(u-v).max() == 0
assert abs(u-w).max() == 0
def test2(shape=(3,4,5)):
"""
Make sure that the gnumpy conversion is exact.
"""
gpu = theano.sandbox.cuda.basic_ops.gpu_from_host
U = gpu(theano.tensor.ftensor3('U'))
ii = theano.function([U], gpu(U+1))
A = numpy.random.rand(*shape).astype('float32')
A_cnd = theano.sandbox.cuda.CudaNdarray(A)
A_gar = cudandarray_to_garray(A_cnd)
assert A_cnd.shape == A_gar.shape
# assert A_cnd.dtype == A_gar.dtype # dtype always float32
# assert A_cnd._strides == A_gar.strides, garray don't have strides
B = garray_to_cudandarray(A_gar)
from numpy import array
B2 = array(B)
assert A_cnd.shape == B.shape
# assert A_cnd.dtype == B.dtype # dtype always float32
assert A_cnd._strides == B._strides
assert A_cnd.gpudata == B.gpudata
v = numpy.asarray(B)
assert abs(v-A).max() == 0
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论