提交 5a3526cb authored 作者: abergeron's avatar abergeron

Merge pull request #4005 from nouiz/cudandarray_repr

Add tp_repr to CudaNdarray.
...@@ -2255,8 +2255,8 @@ class _Linker(gof.link.LocalLinker): ...@@ -2255,8 +2255,8 @@ class _Linker(gof.link.LocalLinker):
for r in node.outputs: for r in node.outputs:
if r not in r_vals: if r not in r_vals:
idx = order.index(node) idx = order.index(node)
assert thunks_py[idx] is None assert thunks_py[idx] is None, node
assert thunks_c[idx] is None assert thunks_c[idx] is None, node
raise Exception("No code run for %s" % node) raise Exception("No code run for %s" % node)
if False: if False:
......
...@@ -3054,6 +3054,21 @@ static PyGetSetDef CudaNdarray_getset[] = { ...@@ -3054,6 +3054,21 @@ static PyGetSetDef CudaNdarray_getset[] = {
{NULL, NULL, NULL, NULL} /* Sentinel */ {NULL, NULL, NULL, NULL} /* Sentinel */
}; };
PyObject *CudaNdarray_repr(PyObject *self)
{
CudaNdarray *object = (CudaNdarray *)self;
PyObject * np_object = CudaNdarray_CreateArrayObj(object);
PyObject * str = PyObject_Str((PyObject *) np_object);
char * cstr = PyString_AsString(str);
PyObject * out = PyString_FromFormat("%s%s%s",
"CudaNdarray(",
cstr,
")");
Py_DECREF(str);
Py_DECREF(np_object);
return out;
}
static PyTypeObject CudaNdarrayType = static PyTypeObject CudaNdarrayType =
{ {
#if PY_MAJOR_VERSION >= 3 #if PY_MAJOR_VERSION >= 3
...@@ -3070,7 +3085,7 @@ static PyTypeObject CudaNdarrayType = ...@@ -3070,7 +3085,7 @@ static PyTypeObject CudaNdarrayType =
0, /*tp_getattr*/ 0, /*tp_getattr*/
0, /*tp_setattr*/ 0, /*tp_setattr*/
0, /*tp_compare*/ 0, /*tp_compare*/
0, /*tp_repr*/ CudaNdarray_repr, /*tp_repr*/
&CudaNdarrayNumberMethods, /*tp_as_number*/ &CudaNdarrayNumberMethods, /*tp_as_number*/
0, /*tp_as_sequence*/ 0, /*tp_as_sequence*/
&CudaNdarrayMappingMethods,/*tp_as_mapping*/ &CudaNdarrayMappingMethods,/*tp_as_mapping*/
......
...@@ -44,9 +44,6 @@ class _operators(tensor.basic._tensor_py_operators): ...@@ -44,9 +44,6 @@ class _operators(tensor.basic._tensor_py_operators):
class CudaNdarrayVariable(_operators, Variable): class CudaNdarrayVariable(_operators, Variable):
pass pass
# override default
def __repr_test_value__(self):
return repr(numpy.array(theano.gof.op.get_test_value(self)))
CudaNdarrayType.Variable = CudaNdarrayVariable CudaNdarrayType.Variable = CudaNdarrayVariable
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论