提交 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):
for r in node.outputs:
if r not in r_vals:
idx = order.index(node)
assert thunks_py[idx] is None
assert thunks_c[idx] is None
assert thunks_py[idx] is None, node
assert thunks_c[idx] is None, node
raise Exception("No code run for %s" % node)
if False:
......
......@@ -3054,6 +3054,21 @@ static PyGetSetDef CudaNdarray_getset[] = {
{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 =
{
#if PY_MAJOR_VERSION >= 3
......@@ -3070,7 +3085,7 @@ static PyTypeObject CudaNdarrayType =
0, /*tp_getattr*/
0, /*tp_setattr*/
0, /*tp_compare*/
0, /*tp_repr*/
CudaNdarray_repr, /*tp_repr*/
&CudaNdarrayNumberMethods, /*tp_as_number*/
0, /*tp_as_sequence*/
&CudaNdarrayMappingMethods,/*tp_as_mapping*/
......
......@@ -44,9 +44,6 @@ class _operators(tensor.basic._tensor_py_operators):
class CudaNdarrayVariable(_operators, Variable):
pass
# override default
def __repr_test_value__(self):
return repr(numpy.array(theano.gof.op.get_test_value(self)))
CudaNdarrayType.Variable = CudaNdarrayVariable
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论