Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pytensor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
testgroup
pytensor
Commits
64bd8434
提交
64bd8434
authored
9月 12, 2012
作者:
Frederic
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
changed many PyArray_INT64 that are deprecated to NPY_INT64. There is many macro renamed like that.
上级
6156cb5c
显示空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
111 行增加
和
111 行删除
+111
-111
test_debugmode.py
theano/compile/tests/test_debugmode.py
+4
-4
blas.py
theano/sandbox/cuda/blas.py
+3
-3
rng_curand.py
theano/sandbox/cuda/rng_curand.py
+1
-1
rng_mrg.py
theano/sandbox/rng_mrg.py
+3
-3
basic.py
theano/sparse/basic.py
+4
-4
opt.py
theano/sparse/opt.py
+20
-20
blas.py
theano/tensor/blas.py
+22
-22
blas_c.py
theano/tensor/blas_c.py
+16
-16
blas_headers.py
theano/tensor/blas_headers.py
+8
-8
elemwise_cgen.py
theano/tensor/elemwise_cgen.py
+1
-1
conv.py
theano/tensor/nnet/conv.py
+7
-7
nnet.py
theano/tensor/nnet/nnet.py
+20
-20
opt.py
theano/tensor/opt.py
+2
-2
没有找到文件。
theano/compile/tests/test_debugmode.py
浏览文件 @
64bd8434
...
@@ -59,10 +59,10 @@ class BROKEN_ON_PURPOSE_Add(gof.Op):
...
@@ -59,10 +59,10 @@ class BROKEN_ON_PURPOSE_Add(gof.Op):
if (
%(a)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(a) != 1");
%(fail)
s;}
if (
%(a)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(a) != 1");
%(fail)
s;}
if (
%(b)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(b) != 1");
%(fail)
s;}
if (
%(b)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(b) != 1");
%(fail)
s;}
if (
%(a)
s->descr->type_num !=
PyArray
_DOUBLE)
if (
%(a)
s->descr->type_num !=
NPY
_DOUBLE)
{PyErr_SetString(PyExc_NotImplementedError, "a dtype not NPY_DOUBLE");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "a dtype not NPY_DOUBLE");
%(fail)
s;}
if (
%(b)
s->descr->type_num !=
PyArray
_DOUBLE)
if (
%(b)
s->descr->type_num !=
NPY
_DOUBLE)
{PyErr_SetString(PyExc_NotImplementedError, "b's dtype not NPY_DOUBLE");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "b's dtype not NPY_DOUBLE");
%(fail)
s;}
if (
%(a)
s->dimensions[0] !=
%(b)
s->dimensions[0])
if (
%(a)
s->dimensions[0] !=
%(b)
s->dimensions[0])
...
@@ -606,10 +606,10 @@ class BrokenCImplementationAdd(gof.Op):
...
@@ -606,10 +606,10 @@ class BrokenCImplementationAdd(gof.Op):
if (
%(a)
s->nd != 2) {PyErr_SetString(PyExc_NotImplementedError, "rank(a) != 2");
%(fail)
s;}
if (
%(a)
s->nd != 2) {PyErr_SetString(PyExc_NotImplementedError, "rank(a) != 2");
%(fail)
s;}
if (
%(b)
s->nd != 2) {PyErr_SetString(PyExc_NotImplementedError, "rank(b) != 2");
%(fail)
s;}
if (
%(b)
s->nd != 2) {PyErr_SetString(PyExc_NotImplementedError, "rank(b) != 2");
%(fail)
s;}
if (
%(a)
s->descr->type_num !=
PyArray
_FLOAT)
if (
%(a)
s->descr->type_num !=
NPY
_FLOAT)
{PyErr_SetString(PyExc_NotImplementedError, "a dtype not NPY_FLOAT");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "a dtype not NPY_FLOAT");
%(fail)
s;}
if (
%(b)
s->descr->type_num !=
PyArray
_FLOAT)
if (
%(b)
s->descr->type_num !=
NPY
_FLOAT)
{PyErr_SetString(PyExc_NotImplementedError, "b's dtype not NPY_FLOAT");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "b's dtype not NPY_FLOAT");
%(fail)
s;}
if (
%(a)
s->dimensions[0] !=
%(a)
s->dimensions[1])
if (
%(a)
s->dimensions[0] !=
%(a)
s->dimensions[1])
...
...
theano/sandbox/cuda/blas.py
浏览文件 @
64bd8434
...
@@ -123,7 +123,7 @@ class GpuDot22Scalar(GpuOp):
...
@@ -123,7 +123,7 @@ class GpuDot22Scalar(GpuOp):
fail
=
sub
[
'fail'
]
fail
=
sub
[
'fail'
]
return
"""
return
"""
#define REAL float
#define REAL float
float
%(name)
s_a = (
%(a)
s->descr->type_num ==
PyArray
_FLOAT)
float
%(name)
s_a = (
%(a)
s->descr->type_num ==
NPY
_FLOAT)
? (REAL)(((float*)
%(a)
s->data)[0])
? (REAL)(((float*)
%(a)
s->data)[0])
: (REAL)(((double*)
%(a)
s->data)[0]);
: (REAL)(((double*)
%(a)
s->data)[0]);
#undef REAL
#undef REAL
...
@@ -231,11 +231,11 @@ class GpuGemm(GpuOp):
...
@@ -231,11 +231,11 @@ class GpuGemm(GpuOp):
print
>>
sio
,
"""
print
>>
sio
,
"""
#define REAL float
#define REAL float
float
%(name)
s_a = (
%(a)
s->descr->type_num ==
PyArray
_FLOAT)
float
%(name)
s_a = (
%(a)
s->descr->type_num ==
NPY
_FLOAT)
? (REAL)(((float*)
%(a)
s->data)[0])
? (REAL)(((float*)
%(a)
s->data)[0])
: (REAL)(((double*)
%(a)
s->data)[0]);
: (REAL)(((double*)
%(a)
s->data)[0]);
float
%(name)
s_b = (
%(b)
s->descr->type_num ==
PyArray
_FLOAT) ?
float
%(name)
s_b = (
%(b)
s->descr->type_num ==
NPY
_FLOAT) ?
(REAL)(((float*)
%(b)
s->data)[0])
(REAL)(((float*)
%(b)
s->data)[0])
: (REAL)(((double*)
%(b)
s->data)[0]);
: (REAL)(((double*)
%(b)
s->data)[0]);
#undef REAL
#undef REAL
...
...
theano/sandbox/cuda/rng_curand.py
浏览文件 @
64bd8434
...
@@ -153,7 +153,7 @@ class CURAND_Base(GpuOp):
...
@@ -153,7 +153,7 @@ class CURAND_Base(GpuOp):
%(ndim)
s,
%(size)
s->dimensions[0]);
%(ndim)
s,
%(size)
s->dimensions[0]);
%(fail)
s
%(fail)
s
}
}
if (
%(size)
s->descr->type_num !=
PyArray
_INT32)
if (
%(size)
s->descr->type_num !=
NPY
_INT32)
{
{
PyErr_SetString(PyExc_ValueError, "size must be int32");
PyErr_SetString(PyExc_ValueError, "size must be int32");
%(fail)
s
%(fail)
s
...
...
theano/sandbox/rng_mrg.py
浏览文件 @
64bd8434
...
@@ -272,7 +272,7 @@ class mrg_uniform(mrg_uniform_base):
...
@@ -272,7 +272,7 @@ class mrg_uniform(mrg_uniform_base):
%(ndim)
s, int(
%(size)
s->dimensions[0]));
%(ndim)
s, int(
%(size)
s->dimensions[0]));
%(fail)
s
%(fail)
s
}
}
if (
%(size)
s->descr->type_num !=
PyArray
_INT32)
if (
%(size)
s->descr->type_num !=
NPY
_INT32)
{
{
PyErr_SetString(PyExc_ValueError, "size must be int32");
PyErr_SetString(PyExc_ValueError, "size must be int32");
%(fail)
s
%(fail)
s
...
@@ -306,7 +306,7 @@ class mrg_uniform(mrg_uniform_base):
...
@@ -306,7 +306,7 @@ class mrg_uniform(mrg_uniform_base):
PyErr_Format(PyExc_ValueError, "rstate must have 6 columns");
PyErr_Format(PyExc_ValueError, "rstate must have 6 columns");
%(fail)
s
%(fail)
s
}
}
if (
%(o_rstate)
s->descr->type_num !=
PyArray
_INT32)
if (
%(o_rstate)
s->descr->type_num !=
NPY
_INT32)
{
{
PyErr_SetString(PyExc_ValueError, "rstate must be int32");
PyErr_SetString(PyExc_ValueError, "rstate must be int32");
%(fail)
s
%(fail)
s
...
@@ -514,7 +514,7 @@ class GPU_mrg_uniform(mrg_uniform_base, GpuOp):
...
@@ -514,7 +514,7 @@ class GPU_mrg_uniform(mrg_uniform_base, GpuOp):
%(ndim)
s,
%(size)
s->dimensions[0]);
%(ndim)
s,
%(size)
s->dimensions[0]);
%(fail)
s
%(fail)
s
}
}
if (
%(size)
s->descr->type_num !=
PyArray
_INT32)
if (
%(size)
s->descr->type_num !=
NPY
_INT32)
{
{
PyErr_SetString(PyExc_ValueError, "size must be int32");
PyErr_SetString(PyExc_ValueError, "size must be int32");
%(fail)
s
%(fail)
s
...
...
theano/sparse/basic.py
浏览文件 @
64bd8434
...
@@ -3011,10 +3011,10 @@ class StructuredDotGradCSC(gof.Op):
...
@@ -3011,10 +3011,10 @@ class StructuredDotGradCSC(gof.Op):
if (
%(_indices)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(indices) != 1");
%(fail)
s;}
if (
%(_indices)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(indices) != 1");
%(fail)
s;}
if (
%(_indptr)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(indptr) != 1");
%(fail)
s;}
if (
%(_indptr)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(indptr) != 1");
%(fail)
s;}
if(
%(_indices)
s->descr->type_num !=
PyArray
_INT32) {
if(
%(_indices)
s->descr->type_num !=
NPY
_INT32) {
PyErr_SetString(PyExc_NotImplementedError, "C");
%(fail)
s;}
PyErr_SetString(PyExc_NotImplementedError, "C");
%(fail)
s;}
if(
%(_indptr)
s->descr->type_num !=
PyArray
_INT32)
if(
%(_indptr)
s->descr->type_num !=
NPY
_INT32)
{PyErr_SetString(PyExc_NotImplementedError, "D");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "D");
%(fail)
s;}
if(
%(_d)
s->dimensions[1] !=
%(_g)
s->dimensions[1])
if(
%(_d)
s->dimensions[1] !=
%(_g)
s->dimensions[1])
...
@@ -3147,10 +3147,10 @@ class StructuredDotGradCSR(gof.Op):
...
@@ -3147,10 +3147,10 @@ class StructuredDotGradCSR(gof.Op):
if (
%(_indices)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(indices) != 1");
%(fail)
s;}
if (
%(_indices)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(indices) != 1");
%(fail)
s;}
if (
%(_indptr)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(indptr) != 1");
%(fail)
s;}
if (
%(_indptr)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(indptr) != 1");
%(fail)
s;}
if(
%(_indices)
s->descr->type_num !=
PyArray
_INT32) {
if(
%(_indices)
s->descr->type_num !=
NPY
_INT32) {
PyErr_SetString(PyExc_NotImplementedError, "C");
%(fail)
s;}
PyErr_SetString(PyExc_NotImplementedError, "C");
%(fail)
s;}
if(
%(_indptr)
s->descr->type_num !=
PyArray
_INT32)
if(
%(_indptr)
s->descr->type_num !=
NPY
_INT32)
{PyErr_SetString(PyExc_NotImplementedError, "D");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "D");
%(fail)
s;}
if(
%(_d)
s->dimensions[1] !=
%(_g)
s->dimensions[1])
if(
%(_d)
s->dimensions[1] !=
%(_g)
s->dimensions[1])
...
...
theano/sparse/opt.py
浏览文件 @
64bd8434
...
@@ -124,13 +124,13 @@ class StructuredDotCSC(gof.Op):
...
@@ -124,13 +124,13 @@ class StructuredDotCSC(gof.Op):
if (
%(b)
s->descr->type_num !=
%(typenum_b)
s) {
if (
%(b)
s->descr->type_num !=
%(typenum_b)
s) {
PyErr_SetString(PyExc_NotImplementedError, "Invalid type for b");
%(fail)
s;}
PyErr_SetString(PyExc_NotImplementedError, "Invalid type for b");
%(fail)
s;}
if (
%(a_ind)
s->descr->type_num !=
PyArray
_INT32) {
if (
%(a_ind)
s->descr->type_num !=
NPY
_INT32) {
PyErr_SetString(PyExc_NotImplementedError, "a_ind dtype not INT32");
%(fail)
s;}
PyErr_SetString(PyExc_NotImplementedError, "a_ind dtype not INT32");
%(fail)
s;}
if (
%(a_ptr)
s->descr->type_num !=
PyArray
_INT32)
if (
%(a_ptr)
s->descr->type_num !=
NPY
_INT32)
{PyErr_SetString(PyExc_NotImplementedError, "a_ptr dtype not INT32");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "a_ptr dtype not INT32");
%(fail)
s;}
if (
%(a_nrows)
s->descr->type_num !=
PyArray
_INT32)
if (
%(a_nrows)
s->descr->type_num !=
NPY
_INT32)
{PyErr_SetString(PyExc_NotImplementedError, "a_nrows dtype not INT32");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "a_nrows dtype not INT32");
%(fail)
s;}
if (
%(a_val)
s->dimensions[0] !=
%(a_ind)
s->dimensions[0])
if (
%(a_val)
s->dimensions[0] !=
%(a_ind)
s->dimensions[0])
...
@@ -306,10 +306,10 @@ class StructuredDotCSR(gof.Op):
...
@@ -306,10 +306,10 @@ class StructuredDotCSR(gof.Op):
if (
%(a_ptr)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(a_ptr) != 1");
%(fail)
s;}
if (
%(a_ptr)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(a_ptr) != 1");
%(fail)
s;}
if (
%(b)
s->nd != 2) {PyErr_SetString(PyExc_NotImplementedError, "rank(b) != 2");
%(fail)
s;}
if (
%(b)
s->nd != 2) {PyErr_SetString(PyExc_NotImplementedError, "rank(b) != 2");
%(fail)
s;}
if (
%(a_ind)
s->descr->type_num !=
PyArray
_INT32) {
if (
%(a_ind)
s->descr->type_num !=
NPY
_INT32) {
PyErr_SetString(PyExc_NotImplementedError, "a_ind dtype not INT32");
%(fail)
s;}
PyErr_SetString(PyExc_NotImplementedError, "a_ind dtype not INT32");
%(fail)
s;}
if (
%(a_ptr)
s->descr->type_num !=
PyArray
_INT32)
if (
%(a_ptr)
s->descr->type_num !=
NPY
_INT32)
{PyErr_SetString(PyExc_NotImplementedError, "a_ptr dtype not INT32");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "a_ptr dtype not INT32");
%(fail)
s;}
if (
%(a_val)
s->dimensions[0] !=
%(a_ind)
s->dimensions[0])
if (
%(a_val)
s->dimensions[0] !=
%(a_ind)
s->dimensions[0])
...
@@ -553,13 +553,13 @@ class UsmmCscDense(gof.Op):
...
@@ -553,13 +553,13 @@ class UsmmCscDense(gof.Op):
if (
%(alpha)
s->descr->type_num !=
%(typenum_alpha)
s) {
if (
%(alpha)
s->descr->type_num !=
%(typenum_alpha)
s) {
PyErr_SetString(PyExc_NotImplementedError, "Invalid type for alpha");
%(fail)
s;}
PyErr_SetString(PyExc_NotImplementedError, "Invalid type for alpha");
%(fail)
s;}
if (
%(x_ind)
s->descr->type_num !=
PyArray
_INT32) {
if (
%(x_ind)
s->descr->type_num !=
NPY
_INT32) {
PyErr_SetString(PyExc_NotImplementedError, "x_ind dtype not INT32");
%(fail)
s;}
PyErr_SetString(PyExc_NotImplementedError, "x_ind dtype not INT32");
%(fail)
s;}
if (
%(x_ptr)
s->descr->type_num !=
PyArray
_INT32)
if (
%(x_ptr)
s->descr->type_num !=
NPY
_INT32)
{PyErr_SetString(PyExc_NotImplementedError, "x_ptr dtype not INT32");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "x_ptr dtype not INT32");
%(fail)
s;}
if (
%(x_nrows)
s->descr->type_num !=
PyArray
_INT32)
if (
%(x_nrows)
s->descr->type_num !=
NPY
_INT32)
{PyErr_SetString(PyExc_NotImplementedError, "x_nrows dtype not INT32");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "x_nrows dtype not INT32");
%(fail)
s;}
if (
%(x_val)
s->dimensions[0] !=
%(x_ind)
s->dimensions[0])
if (
%(x_val)
s->dimensions[0] !=
%(x_ind)
s->dimensions[0])
...
@@ -749,16 +749,16 @@ class CSMGradC(gof.Op):
...
@@ -749,16 +749,16 @@ class CSMGradC(gof.Op):
if (
%(b_ind)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(b_ind) != 1");
%(fail)
s;}
if (
%(b_ind)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(b_ind) != 1");
%(fail)
s;}
if (
%(b_ptr)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(b_ptr) != 1");
%(fail)
s;}
if (
%(b_ptr)
s->nd != 1) {PyErr_SetString(PyExc_NotImplementedError, "rank(b_ptr) != 1");
%(fail)
s;}
if (
%(a_ind)
s->descr->type_num !=
PyArray
_INT32) {
if (
%(a_ind)
s->descr->type_num !=
NPY
_INT32) {
PyErr_SetString(PyExc_NotImplementedError, "a_ind dtype not INT32");
%(fail)
s;}
PyErr_SetString(PyExc_NotImplementedError, "a_ind dtype not INT32");
%(fail)
s;}
if (
%(a_ptr)
s->descr->type_num !=
PyArray
_INT32)
if (
%(a_ptr)
s->descr->type_num !=
NPY
_INT32)
{PyErr_SetString(PyExc_NotImplementedError, "a_ptr dtype not INT32");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "a_ptr dtype not INT32");
%(fail)
s;}
if (
%(b_ind)
s->descr->type_num !=
PyArray
_INT32) {
if (
%(b_ind)
s->descr->type_num !=
NPY
_INT32) {
PyErr_SetString(PyExc_NotImplementedError, "b_ind dtype not INT32");
%(fail)
s;}
PyErr_SetString(PyExc_NotImplementedError, "b_ind dtype not INT32");
%(fail)
s;}
if (
%(b_ptr)
s->descr->type_num !=
PyArray
_INT32)
if (
%(b_ptr)
s->descr->type_num !=
NPY
_INT32)
{PyErr_SetString(PyExc_NotImplementedError, "b_ptr dtype not INT32");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "b_ptr dtype not INT32");
%(fail)
s;}
if (
%(a_val)
s->dimensions[0] !=
%(a_ind)
s->dimensions[0])
if (
%(a_val)
s->dimensions[0] !=
%(a_ind)
s->dimensions[0])
...
@@ -910,10 +910,10 @@ class MulSDCSC(gof.Op):
...
@@ -910,10 +910,10 @@ class MulSDCSC(gof.Op):
PyErr_SetString(PyExc_NotImplementedError, "rank(indptr) != 1");
PyErr_SetString(PyExc_NotImplementedError, "rank(indptr) != 1");
%(fail)
s;}
%(fail)
s;}
if(
%(_indices)
s->descr->type_num !=
PyArray
_INT32) {
if(
%(_indices)
s->descr->type_num !=
NPY
_INT32) {
PyErr_SetString(PyExc_NotImplementedError, "C");
%(fail)
s;}
PyErr_SetString(PyExc_NotImplementedError, "C");
%(fail)
s;}
if(
%(_indptr)
s->descr->type_num !=
PyArray
_INT32)
if(
%(_indptr)
s->descr->type_num !=
NPY
_INT32)
{PyErr_SetString(PyExc_NotImplementedError, "D");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "D");
%(fail)
s;}
if (!
%(_zout)
s)
if (!
%(_zout)
s)
...
@@ -1024,10 +1024,10 @@ class MulSDCSR(gof.Op):
...
@@ -1024,10 +1024,10 @@ class MulSDCSR(gof.Op):
PyErr_SetString(PyExc_NotImplementedError, "rank(indptr) != 1");
PyErr_SetString(PyExc_NotImplementedError, "rank(indptr) != 1");
%(fail)
s;}
%(fail)
s;}
if(
%(_indices)
s->descr->type_num !=
PyArray
_INT32) {
if(
%(_indices)
s->descr->type_num !=
NPY
_INT32) {
PyErr_SetString(PyExc_NotImplementedError, "C");
%(fail)
s;}
PyErr_SetString(PyExc_NotImplementedError, "C");
%(fail)
s;}
if(
%(_indptr)
s->descr->type_num !=
PyArray
_INT32)
if(
%(_indptr)
s->descr->type_num !=
NPY
_INT32)
{PyErr_SetString(PyExc_NotImplementedError, "D");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "D");
%(fail)
s;}
if (!
%(_zout)
s)
if (!
%(_zout)
s)
...
@@ -1178,10 +1178,10 @@ class MulSVCSR(gof.Op):
...
@@ -1178,10 +1178,10 @@ class MulSVCSR(gof.Op):
%(fail)
s;
%(fail)
s;
}
}
if(
%(_indices)
s->descr->type_num !=
PyArray
_INT32) {
if(
%(_indices)
s->descr->type_num !=
NPY
_INT32) {
PyErr_SetString(PyExc_NotImplementedError, "C");
%(fail)
s;}
PyErr_SetString(PyExc_NotImplementedError, "C");
%(fail)
s;}
if(
%(_indptr)
s->descr->type_num !=
PyArray
_INT32)
if(
%(_indptr)
s->descr->type_num !=
NPY
_INT32)
{PyErr_SetString(PyExc_NotImplementedError, "D");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "D");
%(fail)
s;}
if (!
%(_zout)
s
if (!
%(_zout)
s
...
@@ -1328,10 +1328,10 @@ class StructuredAddSVCSR(gof.Op):
...
@@ -1328,10 +1328,10 @@ class StructuredAddSVCSR(gof.Op):
%(fail)
s;
%(fail)
s;
}
}
if(
%(_indices)
s->descr->type_num !=
PyArray
_INT32) {
if(
%(_indices)
s->descr->type_num !=
NPY
_INT32) {
PyErr_SetString(PyExc_NotImplementedError, "C");
%(fail)
s;}
PyErr_SetString(PyExc_NotImplementedError, "C");
%(fail)
s;}
if(
%(_indptr)
s->descr->type_num !=
PyArray
_INT32)
if(
%(_indptr)
s->descr->type_num !=
NPY
_INT32)
{PyErr_SetString(PyExc_NotImplementedError, "D");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "D");
%(fail)
s;}
if (!
%(_zout)
s)
if (!
%(_zout)
s)
...
...
theano/tensor/blas.py
浏览文件 @
64bd8434
...
@@ -519,16 +519,16 @@ class GemmRelated(Op):
...
@@ -519,16 +519,16 @@ class GemmRelated(Op):
PyErr_Format(PyExc_NotImplementedError, "rank(z) != 2. rank(z) is
%%
d.",
%(_zout)
s->nd);
%(fail)
s;}
PyErr_Format(PyExc_NotImplementedError, "rank(z) != 2. rank(z) is
%%
d.",
%(_zout)
s->nd);
%(fail)
s;}
"""
"""
check_xyz_double_or_float
=
"""
check_xyz_double_or_float
=
"""
if ((
%(_x)
s->descr->type_num !=
PyArray
_DOUBLE)
if ((
%(_x)
s->descr->type_num !=
NPY
_DOUBLE)
&& (
%(_x)
s->descr->type_num !=
PyArray
_FLOAT))
&& (
%(_x)
s->descr->type_num !=
NPY
_FLOAT))
{PyErr_SetString(PyExc_NotImplementedError, "type(x) is not double or float");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "type(x) is not double or float");
%(fail)
s;}
if ((
%(_y)
s->descr->type_num !=
PyArray
_DOUBLE)
if ((
%(_y)
s->descr->type_num !=
NPY
_DOUBLE)
&& (
%(_y)
s->descr->type_num !=
PyArray
_FLOAT))
&& (
%(_y)
s->descr->type_num !=
NPY
_FLOAT))
{PyErr_SetString(PyExc_NotImplementedError, "type(y) is not double or float");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "type(y) is not double or float");
%(fail)
s;}
if ((
%(_zout)
s->descr->type_num !=
PyArray
_DOUBLE)
if ((
%(_zout)
s->descr->type_num !=
NPY
_DOUBLE)
&& (
%(_zout)
s->descr->type_num !=
PyArray
_FLOAT))
&& (
%(_zout)
s->descr->type_num !=
NPY
_FLOAT))
{PyErr_SetString(PyExc_NotImplementedError, "type(z) is not double or float");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "type(z) is not double or float");
%(fail)
s;}
if ((
%(_x)
s->descr->type_num !=
%(_y)
s->descr->type_num)
if ((
%(_x)
s->descr->type_num !=
%(_y)
s->descr->type_num)
...
@@ -538,12 +538,12 @@ class GemmRelated(Op):
...
@@ -538,12 +538,12 @@ class GemmRelated(Op):
#it is not necessary that a or b have the same type as x,y,z
#it is not necessary that a or b have the same type as x,y,z
check_ab_double_or_float
=
"""
check_ab_double_or_float
=
"""
if ((
%(_a)
s->descr->type_num !=
PyArray
_DOUBLE)
if ((
%(_a)
s->descr->type_num !=
NPY
_DOUBLE)
&& (
%(_a)
s->descr->type_num !=
PyArray
_FLOAT))
&& (
%(_a)
s->descr->type_num !=
NPY
_FLOAT))
{PyErr_SetString(PyExc_NotImplementedError, "type(a) is not double or float");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "type(a) is not double or float");
%(fail)
s;}
if ((
%(_b)
s->descr->type_num !=
PyArray
_DOUBLE)
if ((
%(_b)
s->descr->type_num !=
NPY
_DOUBLE)
&& (
%(_b)
s->descr->type_num !=
PyArray
_FLOAT))
&& (
%(_b)
s->descr->type_num !=
NPY
_FLOAT))
{PyErr_SetString(PyExc_NotImplementedError, "type(b) is not double or float");
%(fail)
s;}
{PyErr_SetString(PyExc_NotImplementedError, "type(b) is not double or float");
%(fail)
s;}
"""
"""
...
@@ -644,7 +644,7 @@ class GemmRelated(Op):
...
@@ -644,7 +644,7 @@ class GemmRelated(Op):
"""
"""
case_float
=
"""
case_float
=
"""
case
PyArray
_FLOAT:
case
NPY
_FLOAT:
{
{
"""
"""
...
@@ -677,7 +677,7 @@ class GemmRelated(Op):
...
@@ -677,7 +677,7 @@ class GemmRelated(Op):
case_double
=
"""
case_double
=
"""
}
}
break;
break;
case
PyArray
_DOUBLE:
case
NPY
_DOUBLE:
{
{
"""
"""
...
@@ -909,7 +909,7 @@ class Gemm(GemmRelated):
...
@@ -909,7 +909,7 @@ class Gemm(GemmRelated):
Nz =
%(_zout)
s->dimensions;
Nz =
%(_zout)
s->dimensions;
Sz =
%(_zout)
s->strides;
Sz =
%(_zout)
s->strides;
if (
%(_zout)
s->descr->type_num ==
PyArray
_FLOAT)
if (
%(_zout)
s->descr->type_num ==
NPY
_FLOAT)
{
{
float * zoutdata = (float*)
%(_zout)
s->data;
float * zoutdata = (float*)
%(_zout)
s->data;
int zoi = Sz[0] / sizeof(float);
int zoi = Sz[0] / sizeof(float);
...
@@ -925,7 +925,7 @@ class Gemm(GemmRelated):
...
@@ -925,7 +925,7 @@ class Gemm(GemmRelated):
}
}
}
}
}
}
else if (
%(_zout)
s->descr->type_num ==
PyArray
_DOUBLE)
else if (
%(_zout)
s->descr->type_num ==
NPY
_DOUBLE)
{
{
double * zoutdata = (double*)
%(_zout)
s->data;
double * zoutdata = (double*)
%(_zout)
s->data;
int zoi = Sz[0] / sizeof(double);
int zoi = Sz[0] / sizeof(double);
...
@@ -951,20 +951,20 @@ class Gemm(GemmRelated):
...
@@ -951,20 +951,20 @@ class Gemm(GemmRelated):
case_float_ab_constants
=
"""
case_float_ab_constants
=
"""
#define REAL float
#define REAL float
float a = (
%(_a)
s->descr->type_num ==
PyArray
_FLOAT)
float a = (
%(_a)
s->descr->type_num ==
NPY
_FLOAT)
? (REAL)(((float*)
%(_a)
s->data)[0])
? (REAL)(((float*)
%(_a)
s->data)[0])
: (REAL)(((double*)
%(_a)
s->data)[0]);
: (REAL)(((double*)
%(_a)
s->data)[0]);
float b = (
%(_b)
s->descr->type_num ==
PyArray
_FLOAT) ?
float b = (
%(_b)
s->descr->type_num ==
NPY
_FLOAT) ?
(REAL)(((float*)
%(_b)
s->data)[0])
(REAL)(((float*)
%(_b)
s->data)[0])
: (REAL)(((double*)
%(_b)
s->data)[0]);
: (REAL)(((double*)
%(_b)
s->data)[0]);
#undef REAL
#undef REAL
"""
"""
case_double_ab_constants
=
"""
case_double_ab_constants
=
"""
#define REAL double
#define REAL double
double a = (
%(_a)
s->descr->type_num ==
PyArray
_FLOAT)
double a = (
%(_a)
s->descr->type_num ==
NPY
_FLOAT)
? (REAL)(((float*)
%(_a)
s->data)[0])
? (REAL)(((float*)
%(_a)
s->data)[0])
: (REAL)(((double*)
%(_a)
s->data)[0]);
: (REAL)(((double*)
%(_a)
s->data)[0]);
double b = (
%(_b)
s->descr->type_num ==
PyArray
_FLOAT) ?
double b = (
%(_b)
s->descr->type_num ==
NPY
_FLOAT) ?
(REAL)(((float*)
%(_b)
s->data)[0])
(REAL)(((float*)
%(_b)
s->data)[0])
: (REAL)(((double*)
%(_b)
s->data)[0]);
: (REAL)(((double*)
%(_b)
s->data)[0]);
#undef REAL
#undef REAL
...
@@ -1743,15 +1743,15 @@ class Dot22Scalar(GemmRelated):
...
@@ -1743,15 +1743,15 @@ class Dot22Scalar(GemmRelated):
setup_z_Nz_Sz
=
Dot22
.
setup_z_Nz_Sz
setup_z_Nz_Sz
=
Dot22
.
setup_z_Nz_Sz
check_ab_double_or_float
=
"""
check_ab_double_or_float
=
"""
if ((
%(_a)
s->descr->type_num !=
PyArray
_DOUBLE)
if ((
%(_a)
s->descr->type_num !=
NPY
_DOUBLE)
&& (
%(_a)
s->descr->type_num !=
PyArray
_FLOAT))
&& (
%(_a)
s->descr->type_num !=
NPY
_FLOAT))
{PyErr_SetString(PyExc_NotImplementedError,
{PyErr_SetString(PyExc_NotImplementedError,
"type(a) is not double or float");
%(fail)
s;}
"type(a) is not double or float");
%(fail)
s;}
"""
"""
case_float_ab_constants
=
"""
case_float_ab_constants
=
"""
#define REAL float
#define REAL float
float a = (
%(_a)
s->descr->type_num ==
PyArray
_FLOAT)
float a = (
%(_a)
s->descr->type_num ==
NPY
_FLOAT)
? (REAL)(((float*)
%(_a)
s->data)[0])
? (REAL)(((float*)
%(_a)
s->data)[0])
: (REAL)(((double*)
%(_a)
s->data)[0]);
: (REAL)(((double*)
%(_a)
s->data)[0]);
#undef REAL
#undef REAL
...
@@ -1760,7 +1760,7 @@ class Dot22Scalar(GemmRelated):
...
@@ -1760,7 +1760,7 @@ class Dot22Scalar(GemmRelated):
case_double_ab_constants
=
"""
case_double_ab_constants
=
"""
#define REAL double
#define REAL double
double a = (
%(_a)
s->descr->type_num ==
PyArray
_FLOAT)
double a = (
%(_a)
s->descr->type_num ==
NPY
_FLOAT)
? (REAL)(((float*)
%(_a)
s->data)[0])
? (REAL)(((float*)
%(_a)
s->data)[0])
: (REAL)(((double*)
%(_a)
s->data)[0]);
: (REAL)(((double*)
%(_a)
s->data)[0]);
#undef REAL
#undef REAL
...
...
theano/tensor/blas_c.py
浏览文件 @
64bd8434
...
@@ -60,8 +60,8 @@ def ger_c_code(A, a, x, y, Z, destructive, fail):
...
@@ -60,8 +60,8 @@ def ger_c_code(A, a, x, y, Z, destructive, fail):
%(fail)
s;
%(fail)
s;
}
}
if (
%(A)
s->descr->type_num ==
PyArray
_DOUBLE) { elemsize = 8; }
if (
%(A)
s->descr->type_num ==
NPY
_DOUBLE) { elemsize = 8; }
else if (
%(A)
s->descr->type_num ==
PyArray
_FLOAT) { elemsize = 4;}
else if (
%(A)
s->descr->type_num ==
NPY
_FLOAT) { elemsize = 4;}
else
else
{
{
PyErr_SetString(PyExc_NotImplementedError, "complex CGer");
PyErr_SetString(PyExc_NotImplementedError, "complex CGer");
...
@@ -101,7 +101,7 @@ def ger_c_code(A, a, x, y, Z, destructive, fail):
...
@@ -101,7 +101,7 @@ def ger_c_code(A, a, x, y, Z, destructive, fail):
PyErr_SetString(PyExc_AssertionError, "
%(Z)
s !=
%(A)
s");
PyErr_SetString(PyExc_AssertionError, "
%(Z)
s !=
%(A)
s");
%(fail)
s
%(fail)
s
}
}
if (
%(Z)
s->descr->type_num ==
PyArray
_FLOAT)
if (
%(Z)
s->descr->type_num ==
NPY
_FLOAT)
{
{
float * zoutdata = (float*)
%(Z)
s->data;
float * zoutdata = (float*)
%(Z)
s->data;
const float * zdata = (float*)
%(A)
s->data;
const float * zdata = (float*)
%(A)
s->data;
...
@@ -117,7 +117,7 @@ def ger_c_code(A, a, x, y, Z, destructive, fail):
...
@@ -117,7 +117,7 @@ def ger_c_code(A, a, x, y, Z, destructive, fail):
}
}
}
}
}
}
else if (
%(Z)
s->descr->type_num ==
PyArray
_DOUBLE)
else if (
%(Z)
s->descr->type_num ==
NPY
_DOUBLE)
{
{
double * zoutdata = (double*)
%(Z)
s->data;
double * zoutdata = (double*)
%(Z)
s->data;
const double * zdata = (double*)
%(A)
s->data;
const double * zdata = (double*)
%(A)
s->data;
...
@@ -178,7 +178,7 @@ def ger_c_code(A, a, x, y, Z, destructive, fail):
...
@@ -178,7 +178,7 @@ def ger_c_code(A, a, x, y, Z, destructive, fail):
if (
%(Z)
s->strides[0] == elemsize)
if (
%(Z)
s->strides[0] == elemsize)
{
{
if (
%(Z)
s->descr->type_num ==
PyArray
_FLOAT)
if (
%(Z)
s->descr->type_num ==
NPY
_FLOAT)
{
{
//fprintf(stderr, "A
\\
n");
//fprintf(stderr, "A
\\
n");
float alpha = ((dtype_
%(a)
s*)
%(a)
s->data)[0];
float alpha = ((dtype_
%(a)
s*)
%(a)
s->data)[0];
...
@@ -187,7 +187,7 @@ def ger_c_code(A, a, x, y, Z, destructive, fail):
...
@@ -187,7 +187,7 @@ def ger_c_code(A, a, x, y, Z, destructive, fail):
(float*)y_data, &Sy,
(float*)y_data, &Sy,
(float*)(
%(Z)
s->data), &Sz1);
(float*)(
%(Z)
s->data), &Sz1);
}
}
else if (
%(Z)
s->descr->type_num ==
PyArray
_DOUBLE)
else if (
%(Z)
s->descr->type_num ==
NPY
_DOUBLE)
{
{
double alpha = ((dtype_
%(a)
s*)
%(a)
s->data)[0];
double alpha = ((dtype_
%(a)
s*)
%(a)
s->data)[0];
dger_(&Nz0, &Nz1, &alpha,
dger_(&Nz0, &Nz1, &alpha,
...
@@ -203,7 +203,7 @@ def ger_c_code(A, a, x, y, Z, destructive, fail):
...
@@ -203,7 +203,7 @@ def ger_c_code(A, a, x, y, Z, destructive, fail):
}
}
else if (
%(Z)
s->strides[1] == elemsize)
else if (
%(Z)
s->strides[1] == elemsize)
{
{
if (
%(Z)
s->descr->type_num ==
PyArray
_FLOAT)
if (
%(Z)
s->descr->type_num ==
NPY
_FLOAT)
{
{
//fprintf(stderr, "B
%%
i
%%
i
%%
i
%%
i
\\
n", Nz0, Nz1, Sz0, Sz1);
//fprintf(stderr, "B
%%
i
%%
i
%%
i
%%
i
\\
n", Nz0, Nz1, Sz0, Sz1);
float alpha = ((dtype_
%(a)
s*)(
%(a)
s->data))[0];
float alpha = ((dtype_
%(a)
s*)(
%(a)
s->data))[0];
...
@@ -214,7 +214,7 @@ def ger_c_code(A, a, x, y, Z, destructive, fail):
...
@@ -214,7 +214,7 @@ def ger_c_code(A, a, x, y, Z, destructive, fail):
(float*)x_data, &Sx,
(float*)x_data, &Sx,
(float*)(
%(Z)
s->data), &Sz0);
(float*)(
%(Z)
s->data), &Sz0);
}
}
else if (
%(Z)
s->descr->type_num ==
PyArray
_DOUBLE)
else if (
%(Z)
s->descr->type_num ==
NPY
_DOUBLE)
{
{
double alpha = ((dtype_
%(a)
s*)
%(a)
s->data)[0];
double alpha = ((dtype_
%(a)
s*)
%(a)
s->data)[0];
dger_(&Nz1, &Nz0, &alpha,
dger_(&Nz1, &Nz0, &alpha,
...
@@ -334,8 +334,8 @@ def gemv_c_code(aa, xx, yy, zz, alpha, beta, destructive, fail):
...
@@ -334,8 +334,8 @@ def gemv_c_code(aa, xx, yy, zz, alpha, beta, destructive, fail):
%(fail)
s;
%(fail)
s;
}
}
if (
%(aa)
s->descr->type_num ==
PyArray
_DOUBLE) { elemsize = 8; }
if (
%(aa)
s->descr->type_num ==
NPY
_DOUBLE) { elemsize = 8; }
else if (
%(aa)
s->descr->type_num ==
PyArray
_FLOAT) { elemsize = 4;}
else if (
%(aa)
s->descr->type_num ==
NPY
_FLOAT) { elemsize = 4;}
else {
else {
PyErr_SetString(PyExc_NotImplementedError, "complex Gemv");
PyErr_SetString(PyExc_NotImplementedError, "complex Gemv");
%(fail)
s;
%(fail)
s;
...
@@ -365,7 +365,7 @@ def gemv_c_code(aa, xx, yy, zz, alpha, beta, destructive, fail):
...
@@ -365,7 +365,7 @@ def gemv_c_code(aa, xx, yy, zz, alpha, beta, destructive, fail):
}
}
if (dbeta != 0)
if (dbeta != 0)
{
{
if (
%(zz)
s->descr->type_num ==
PyArray
_FLOAT)
if (
%(zz)
s->descr->type_num ==
NPY
_FLOAT)
{
{
float * zoutdata = (float*)
%(zz)
s->data;
float * zoutdata = (float*)
%(zz)
s->data;
const float * zdata = (float*)
%(aa)
s->data;
const float * zdata = (float*)
%(aa)
s->data;
...
@@ -376,7 +376,7 @@ def gemv_c_code(aa, xx, yy, zz, alpha, beta, destructive, fail):
...
@@ -376,7 +376,7 @@ def gemv_c_code(aa, xx, yy, zz, alpha, beta, destructive, fail):
zoutdata[Zi*i] = fbeta * zdata[Ai*i];
zoutdata[Zi*i] = fbeta * zdata[Ai*i];
}
}
}
}
else if (
%(xx)
s->descr->type_num ==
PyArray
_DOUBLE)
else if (
%(xx)
s->descr->type_num ==
NPY
_DOUBLE)
{
{
double * zoutdata = (double*)
%(zz)
s->data;
double * zoutdata = (double*)
%(zz)
s->data;
const double * zdata = (double*)
%(aa)
s->data;
const double * zdata = (double*)
%(aa)
s->data;
...
@@ -460,7 +460,7 @@ def gemv_c_code(aa, xx, yy, zz, alpha, beta, destructive, fail):
...
@@ -460,7 +460,7 @@ def gemv_c_code(aa, xx, yy, zz, alpha, beta, destructive, fail):
if (
%(xx)
s->strides[0] == elemsize)
if (
%(xx)
s->strides[0] == elemsize)
{
{
if (
%(xx)
s->descr->type_num ==
PyArray
_FLOAT)
if (
%(xx)
s->descr->type_num ==
NPY
_FLOAT)
{
{
//fprintf(stderr, "A
\\
n");
//fprintf(stderr, "A
\\
n");
float alpha = ((dtype_
%(alpha)
s*)
%(alpha)
s->data)[0];
float alpha = ((dtype_
%(alpha)
s*)
%(alpha)
s->data)[0];
...
@@ -471,7 +471,7 @@ def gemv_c_code(aa, xx, yy, zz, alpha, beta, destructive, fail):
...
@@ -471,7 +471,7 @@ def gemv_c_code(aa, xx, yy, zz, alpha, beta, destructive, fail):
&fbeta,
&fbeta,
(float*)zz_data, &Sz);
(float*)zz_data, &Sz);
}
}
else if (
%(xx)
s->descr->type_num ==
PyArray
_DOUBLE)
else if (
%(xx)
s->descr->type_num ==
NPY
_DOUBLE)
{
{
double alpha = ((dtype_
%(alpha)
s*)
%(alpha)
s->data)[0];
double alpha = ((dtype_
%(alpha)
s*)
%(alpha)
s->data)[0];
dgemv_(&NOTRANS, &Nx0, &Nx1,
dgemv_(&NOTRANS, &Nx0, &Nx1,
...
@@ -490,7 +490,7 @@ def gemv_c_code(aa, xx, yy, zz, alpha, beta, destructive, fail):
...
@@ -490,7 +490,7 @@ def gemv_c_code(aa, xx, yy, zz, alpha, beta, destructive, fail):
}
}
else if (
%(xx)
s->strides[1] == elemsize)
else if (
%(xx)
s->strides[1] == elemsize)
{
{
if (
%(xx)
s->descr->type_num ==
PyArray
_FLOAT)
if (
%(xx)
s->descr->type_num ==
NPY
_FLOAT)
{
{
//fprintf(stderr, "B
%%
i
%%
i
%%
i
%%
i
\\
n",
//fprintf(stderr, "B
%%
i
%%
i
%%
i
%%
i
\\
n",
// Nz0, Nz1, Sz0, Sz1);
// Nz0, Nz1, Sz0, Sz1);
...
@@ -504,7 +504,7 @@ def gemv_c_code(aa, xx, yy, zz, alpha, beta, destructive, fail):
...
@@ -504,7 +504,7 @@ def gemv_c_code(aa, xx, yy, zz, alpha, beta, destructive, fail):
&fbeta,
&fbeta,
(float*)zz_data, &Sz);
(float*)zz_data, &Sz);
}
}
else if (
%(xx)
s->descr->type_num ==
PyArray
_DOUBLE)
else if (
%(xx)
s->descr->type_num ==
NPY
_DOUBLE)
{
{
double alpha = ((dtype_
%(alpha)
s*)
%(alpha)
s->data)[0];
double alpha = ((dtype_
%(alpha)
s*)
%(alpha)
s->data)[0];
dgemv_(&TRANS, &Nx1, &Nx0,
dgemv_(&TRANS, &Nx1, &Nx0,
...
...
theano/tensor/blas_headers.py
浏览文件 @
64bd8434
...
@@ -815,16 +815,16 @@ def ____gemm_code(check_ab, a_init, b_init):
...
@@ -815,16 +815,16 @@ def ____gemm_code(check_ab, a_init, b_init):
%(check_ab)
s
%(check_ab)
s
if ((_x->descr->type_num !=
PyArray
_DOUBLE)
if ((_x->descr->type_num !=
NPY
_DOUBLE)
&& (_x->descr->type_num !=
PyArray
_FLOAT))
&& (_x->descr->type_num !=
NPY
_FLOAT))
goto _dot_execute_fallback;
goto _dot_execute_fallback;
if ((_y->descr->type_num !=
PyArray
_DOUBLE)
if ((_y->descr->type_num !=
NPY
_DOUBLE)
&& (_y->descr->type_num !=
PyArray
_FLOAT))
&& (_y->descr->type_num !=
NPY
_FLOAT))
goto _dot_execute_fallback;
goto _dot_execute_fallback;
if ((_y->descr->type_num !=
PyArray
_DOUBLE)
if ((_y->descr->type_num !=
NPY
_DOUBLE)
&& (_y->descr->type_num !=
PyArray
_FLOAT))
&& (_y->descr->type_num !=
NPY
_FLOAT))
goto _dot_execute_fallback;
goto _dot_execute_fallback;
if ((_x->descr->type_num != _y->descr->type_num)
if ((_x->descr->type_num != _y->descr->type_num)
...
@@ -863,7 +863,7 @@ def ____gemm_code(check_ab, a_init, b_init):
...
@@ -863,7 +863,7 @@ def ____gemm_code(check_ab, a_init, b_init):
switch (type_num)
switch (type_num)
{
{
case
PyArray
_FLOAT:
case
NPY
_FLOAT:
{
{
#define REAL float
#define REAL float
float a =
%(a_init)
s;
float a =
%(a_init)
s;
...
@@ -888,7 +888,7 @@ def ____gemm_code(check_ab, a_init, b_init):
...
@@ -888,7 +888,7 @@ def ____gemm_code(check_ab, a_init, b_init):
#undef REAL
#undef REAL
}
}
break;
break;
case
PyArray
_DOUBLE:
case
NPY
_DOUBLE:
{
{
#define REAL double
#define REAL double
double a =
%(a_init)
s;
double a =
%(a_init)
s;
...
...
theano/tensor/elemwise_cgen.py
浏览文件 @
64bd8434
...
@@ -152,7 +152,7 @@ def make_alloc(loop_orders, dtype, sub):
...
@@ -152,7 +152,7 @@ def make_alloc(loop_orders, dtype, sub):
PyArray_Dims new_dims;
PyArray_Dims new_dims;
new_dims.len =
%(nd)
s;
new_dims.len =
%(nd)
s;
new_dims.ptr = dims;
new_dims.ptr = dims;
PyObject* success = PyArray_Resize(
%(olv)
s, &new_dims, 0,
PyArray
_CORDER);
PyObject* success = PyArray_Resize(
%(olv)
s, &new_dims, 0,
NPY
_CORDER);
if (!success) {
if (!success) {
// If we can't resize the ndarray we have we can allocate a new one.
// If we can't resize the ndarray we have we can allocate a new one.
PyErr_Clear();
PyErr_Clear();
...
...
theano/tensor/nnet/conv.py
浏览文件 @
64bd8434
...
@@ -1303,7 +1303,7 @@ if(%(filtersflipped)s->nd==3){
...
@@ -1303,7 +1303,7 @@ if(%(filtersflipped)s->nd==3){
%(assert_size)
s
%(assert_size)
s
img2d = PyArray_Newshape(
%(img2d)
s,&img2d_shape,
PyArray
_CORDER);
img2d = PyArray_Newshape(
%(img2d)
s,&img2d_shape,
NPY
_CORDER);
img2d_arr = (PyArrayObject*)img2d;
img2d_arr = (PyArrayObject*)img2d;
if ((img2d_arr->strides[3] != (npy_intp)sizeof(
%(type)
s))
if ((img2d_arr->strides[3] != (npy_intp)sizeof(
%(type)
s))
|| (img2d_arr->strides[2] != img2d_arr->dimensions[3]*(npy_intp)sizeof(
%(type)
s))){
|| (img2d_arr->strides[2] != img2d_arr->dimensions[3]*(npy_intp)sizeof(
%(type)
s))){
...
@@ -1317,7 +1317,7 @@ if ((img2d_arr->strides[3] != (npy_intp)sizeof(%(type)s))
...
@@ -1317,7 +1317,7 @@ if ((img2d_arr->strides[3] != (npy_intp)sizeof(%(type)s))
}
}
img2d_arr = (PyArrayObject*)img2d;
img2d_arr = (PyArrayObject*)img2d;
filtersflipped = PyArray_Newshape(
%(filtersflipped)
s,&kerns_shape,
PyArray
_CORDER);
filtersflipped = PyArray_Newshape(
%(filtersflipped)
s,&kerns_shape,
NPY
_CORDER);
filtersflipped_arr = (PyArrayObject*)filtersflipped;
filtersflipped_arr = (PyArrayObject*)filtersflipped;
if ((filtersflipped_arr->strides[3] != (npy_intp)sizeof(
%(type)
s))
if ((filtersflipped_arr->strides[3] != (npy_intp)sizeof(
%(type)
s))
|| (filtersflipped_arr->strides[2] != filtersflipped_arr->dimensions[3]*(npy_intp)sizeof(
%(type)
s))){
|| (filtersflipped_arr->strides[2] != filtersflipped_arr->dimensions[3]*(npy_intp)sizeof(
%(type)
s))){
...
@@ -1576,7 +1576,7 @@ if (NKERN != kerns_dim[0])
...
@@ -1576,7 +1576,7 @@ if (NKERN != kerns_dim[0])
%(fail)
s;
%(fail)
s;
}
}
img2d = PyArray_Newshape(
%(img2d)
s,&img2d_shape,
PyArray
_CORDER);
img2d = PyArray_Newshape(
%(img2d)
s,&img2d_shape,
NPY
_CORDER);
img2d_arr = (PyArrayObject*)img2d;
img2d_arr = (PyArrayObject*)img2d;
if ((img2d_arr->strides[3] != (npy_intp)sizeof(
%(type)
s))
if ((img2d_arr->strides[3] != (npy_intp)sizeof(
%(type)
s))
|| (img2d_arr->strides[2] != img2d_arr->dimensions[3]*(npy_intp)sizeof(
%(type)
s))){
|| (img2d_arr->strides[2] != img2d_arr->dimensions[3]*(npy_intp)sizeof(
%(type)
s))){
...
@@ -1825,7 +1825,7 @@ if(%(filtersflipped)s->nd==3){
...
@@ -1825,7 +1825,7 @@ if(%(filtersflipped)s->nd==3){
%(assert_size)
s
%(assert_size)
s
img2d = PyArray_Newshape(
%(img2d)
s,&img2d_shape,
PyArray
_CORDER);
img2d = PyArray_Newshape(
%(img2d)
s,&img2d_shape,
NPY
_CORDER);
img2d_arr = (PyArrayObject*)img2d;
img2d_arr = (PyArrayObject*)img2d;
if ((img2d_arr->strides[3] != (npy_intp)sizeof(
%(type)
s))
if ((img2d_arr->strides[3] != (npy_intp)sizeof(
%(type)
s))
|| (img2d_arr->strides[2] != img2d_arr->dimensions[3]*(npy_intp)sizeof(
%(type)
s))){
|| (img2d_arr->strides[2] != img2d_arr->dimensions[3]*(npy_intp)sizeof(
%(type)
s))){
...
@@ -1839,7 +1839,7 @@ if ((img2d_arr->strides[3] != (npy_intp)sizeof(%(type)s))
...
@@ -1839,7 +1839,7 @@ if ((img2d_arr->strides[3] != (npy_intp)sizeof(%(type)s))
}
}
img2d_arr = (PyArrayObject*)img2d;
img2d_arr = (PyArrayObject*)img2d;
filtersflipped = PyArray_Newshape(
%(filtersflipped)
s,&kerns_shape,
PyArray
_CORDER);
filtersflipped = PyArray_Newshape(
%(filtersflipped)
s,&kerns_shape,
NPY
_CORDER);
filtersflipped_arr = (PyArrayObject*)filtersflipped;
filtersflipped_arr = (PyArrayObject*)filtersflipped;
if ((filtersflipped_arr->strides[3] != (npy_intp)sizeof(
%(type)
s))
if ((filtersflipped_arr->strides[3] != (npy_intp)sizeof(
%(type)
s))
|| (filtersflipped_arr->strides[2] != filtersflipped_arr->dimensions[3]*(npy_intp)sizeof(
%(type)
s))){
|| (filtersflipped_arr->strides[2] != filtersflipped_arr->dimensions[3]*(npy_intp)sizeof(
%(type)
s))){
...
@@ -2060,7 +2060,7 @@ if(%(filtersflipped)s->nd==3){
...
@@ -2060,7 +2060,7 @@ if(%(filtersflipped)s->nd==3){
%(assert_size)
s
%(assert_size)
s
img2d = PyArray_Newshape(
%(img2d)
s,&img2d_shape,
PyArray
_CORDER);
img2d = PyArray_Newshape(
%(img2d)
s,&img2d_shape,
NPY
_CORDER);
img2d_arr = (PyArrayObject*)img2d;
img2d_arr = (PyArrayObject*)img2d;
if ((img2d_arr->strides[3] != sizeof(
%(type)
s))
if ((img2d_arr->strides[3] != sizeof(
%(type)
s))
|| (img2d_arr->strides[2] != img2d_arr->dimensions[3]*sizeof(
%(type)
s))){
|| (img2d_arr->strides[2] != img2d_arr->dimensions[3]*sizeof(
%(type)
s))){
...
@@ -2074,7 +2074,7 @@ if ((img2d_arr->strides[3] != sizeof(%(type)s))
...
@@ -2074,7 +2074,7 @@ if ((img2d_arr->strides[3] != sizeof(%(type)s))
}
}
img2d_arr = (PyArrayObject*)img2d;
img2d_arr = (PyArrayObject*)img2d;
filtersflipped = PyArray_Newshape(
%(filtersflipped)
s,&kerns_shape,
PyArray
_CORDER);
filtersflipped = PyArray_Newshape(
%(filtersflipped)
s,&kerns_shape,
NPY
_CORDER);
filtersflipped_arr = (PyArrayObject*)filtersflipped;
filtersflipped_arr = (PyArrayObject*)filtersflipped;
if ((filtersflipped_arr->strides[3] != sizeof(
%(type)
s))
if ((filtersflipped_arr->strides[3] != sizeof(
%(type)
s))
|| (filtersflipped_arr->strides[2] != filtersflipped_arr->dimensions[3]*sizeof(
%(type)
s))){
|| (filtersflipped_arr->strides[2] != filtersflipped_arr->dimensions[3]*sizeof(
%(type)
s))){
...
...
theano/tensor/nnet/nnet.py
浏览文件 @
64bd8434
...
@@ -117,14 +117,14 @@ class SoftmaxWithBias(gof.Op):
...
@@ -117,14 +117,14 @@ class SoftmaxWithBias(gof.Op):
PyErr_SetString(PyExc_ValueError, "b not 1d tensor");
PyErr_SetString(PyExc_ValueError, "b not 1d tensor");
%(fail)
s;
%(fail)
s;
}
}
if ((
%(x)
s->descr->type_num !=
PyArray
_DOUBLE) &&
if ((
%(x)
s->descr->type_num !=
NPY
_DOUBLE) &&
(
%(x)
s->descr->type_num !=
PyArray
_FLOAT))
(
%(x)
s->descr->type_num !=
NPY
_FLOAT))
{
{
PyErr_SetString(PyExc_TypeError, "a not float");
PyErr_SetString(PyExc_TypeError, "a not float");
%(fail)
s;
%(fail)
s;
}
}
if ((
%(b)
s->descr->type_num !=
PyArray
_DOUBLE) &&
if ((
%(b)
s->descr->type_num !=
NPY
_DOUBLE) &&
(
%(b)
s->descr->type_num !=
PyArray
_FLOAT))
(
%(b)
s->descr->type_num !=
NPY
_FLOAT))
{
{
PyErr_SetString(PyExc_TypeError, "b not float");
PyErr_SetString(PyExc_TypeError, "b not float");
%(fail)
s;
%(fail)
s;
...
@@ -263,15 +263,15 @@ class SoftmaxGrad(gof.Op):
...
@@ -263,15 +263,15 @@ class SoftmaxGrad(gof.Op):
dy
,
sm
=
inp
dy
,
sm
=
inp
dx
,
=
out
dx
,
=
out
return
'''
return
'''
if ((
%(dy)
s->descr->type_num !=
PyArray
_DOUBLE) &&
if ((
%(dy)
s->descr->type_num !=
NPY
_DOUBLE) &&
(
%(dy)
s->descr->type_num !=
PyArray
_FLOAT))
(
%(dy)
s->descr->type_num !=
NPY
_FLOAT))
{
{
PyErr_SetString(PyExc_TypeError,
PyErr_SetString(PyExc_TypeError,
"types should be float or float64");
"types should be float or float64");
%(fail)
s;
%(fail)
s;
}
}
if ((
%(sm)
s->descr->type_num !=
PyArray
_DOUBLE) &&
if ((
%(sm)
s->descr->type_num !=
NPY
_DOUBLE) &&
(
%(sm)
s->descr->type_num !=
PyArray
_FLOAT))
(
%(sm)
s->descr->type_num !=
NPY
_FLOAT))
{
{
PyErr_SetString(PyExc_TypeError,
PyErr_SetString(PyExc_TypeError,
"types should be float or float64");
"types should be float or float64");
...
@@ -778,10 +778,10 @@ class CrossentropySoftmaxArgmax1HotWithBias(gof.Op):
...
@@ -778,10 +778,10 @@ class CrossentropySoftmaxArgmax1HotWithBias(gof.Op):
PyErr_SetString(PyExc_ValueError, "y_idx not 1d tensor");
PyErr_SetString(PyExc_ValueError, "y_idx not 1d tensor");
%(fail)
s;
%(fail)
s;
}
}
if ((
%(y_idx)
s->descr->type_num !=
PyArray
_INT64)
if ((
%(y_idx)
s->descr->type_num !=
NPY
_INT64)
&& (
%(y_idx)
s->descr->type_num !=
PyArray
_INT32)
&& (
%(y_idx)
s->descr->type_num !=
NPY
_INT32)
&& (
%(y_idx)
s->descr->type_num !=
PyArray
_INT16)
&& (
%(y_idx)
s->descr->type_num !=
NPY
_INT16)
&& (
%(y_idx)
s->descr->type_num !=
PyArray
_INT8))
&& (
%(y_idx)
s->descr->type_num !=
NPY
_INT8))
{
{
PyErr_SetString(PyExc_TypeError,
PyErr_SetString(PyExc_TypeError,
"y_idx not int8, int16, int32, or int64");
"y_idx not int8, int16, int32, or int64");
...
@@ -914,24 +914,24 @@ class CrossentropySoftmax1HotWithBiasDx (gof.Op):
...
@@ -914,24 +914,24 @@ class CrossentropySoftmax1HotWithBiasDx (gof.Op):
y_idx_type
=
node
.
inputs
[
2
]
.
type
.
dtype_specs
()[
1
]
y_idx_type
=
node
.
inputs
[
2
]
.
type
.
dtype_specs
()[
1
]
return
"""
return
"""
if ((
%(dnll)
s->descr->type_num !=
PyArray
_DOUBLE) &&
if ((
%(dnll)
s->descr->type_num !=
NPY
_DOUBLE) &&
(
%(dnll)
s->descr->type_num !=
PyArray
_FLOAT))
(
%(dnll)
s->descr->type_num !=
NPY
_FLOAT))
{
{
PyErr_SetString(PyExc_TypeError,
PyErr_SetString(PyExc_TypeError,
"dnll type should be float32 or float64");
"dnll type should be float32 or float64");
%(fail)
s;
%(fail)
s;
}
}
if ((
%(sm)
s->descr->type_num !=
PyArray
_DOUBLE) &&
if ((
%(sm)
s->descr->type_num !=
NPY
_DOUBLE) &&
(
%(sm)
s->descr->type_num !=
PyArray
_FLOAT))
(
%(sm)
s->descr->type_num !=
NPY
_FLOAT))
{
{
PyErr_SetString(PyExc_TypeError,
PyErr_SetString(PyExc_TypeError,
"sm type should be float32 or float64");
"sm type should be float32 or float64");
%(fail)
s;
%(fail)
s;
}
}
if ((
%(y_idx)
s->descr->type_num !=
PyArray
_INT64)
if ((
%(y_idx)
s->descr->type_num !=
NPY
_INT64)
&& (
%(y_idx)
s->descr->type_num !=
PyArray
_INT32)
&& (
%(y_idx)
s->descr->type_num !=
NPY
_INT32)
&& (
%(y_idx)
s->descr->type_num !=
PyArray
_INT16)
&& (
%(y_idx)
s->descr->type_num !=
NPY
_INT16)
&& (
%(y_idx)
s->descr->type_num !=
PyArray
_INT8))
&& (
%(y_idx)
s->descr->type_num !=
NPY
_INT8))
{
{
PyErr_SetString(PyExc_TypeError,
PyErr_SetString(PyExc_TypeError,
"y_idx not int8, int16, int32, or int64");
"y_idx not int8, int16, int32, or int64");
...
...
theano/tensor/opt.py
浏览文件 @
64bd8434
...
@@ -619,7 +619,7 @@ class Shape_i(T.Op):
...
@@ -619,7 +619,7 @@ class Shape_i(T.Op):
if
isinstance
(
node
.
inputs
[
0
]
.
type
,
T
.
TensorType
):
if
isinstance
(
node
.
inputs
[
0
]
.
type
,
T
.
TensorType
):
return
"""
return
"""
if(!
%(out)
s)
if(!
%(out)
s)
%(out)
s=(PyArrayObject*)PyArray_ZEROS(0, NULL,
PyArray
_INT64, 0);
%(out)
s=(PyArrayObject*)PyArray_ZEROS(0, NULL,
NPY
_INT64, 0);
((npy_int64*)PyArray_DATA(
%(out)
s))[0]=
%(x)
s->dimensions[
%(i)
s];
((npy_int64*)PyArray_DATA(
%(out)
s))[0]=
%(x)
s->dimensions[
%(i)
s];
"""
%
locals
()
"""
%
locals
()
...
@@ -627,7 +627,7 @@ class Shape_i(T.Op):
...
@@ -627,7 +627,7 @@ class Shape_i(T.Op):
#Don't want to import cuda stuff here.
#Don't want to import cuda stuff here.
return
"""
return
"""
if(!
%(out)
s)
if(!
%(out)
s)
%(out)
s=(PyArrayObject*)PyArray_ZEROS(0, NULL,
PyArray
_INT64, 0);
%(out)
s=(PyArrayObject*)PyArray_ZEROS(0, NULL,
NPY
_INT64, 0);
((npy_int64*)PyArray_DATA(
%(out)
s))[0]=
((npy_int64*)PyArray_DATA(
%(out)
s))[0]=
CudaNdarray_HOST_DIMS(
%(x)
s)[
%(i)
s];
CudaNdarray_HOST_DIMS(
%(x)
s)[
%(i)
s];
"""
%
locals
()
"""
%
locals
()
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论