Skip to content

Commit ccf0f40

Browse files
Merge pull request #208 from JingyuanZhang/master
fix(webgl): fix pool2d ksize params and conv2d fuse op with relu6
2 parents c64d1da + 65e96d4 commit ccf0f40

File tree

5 files changed

+11
-7
lines changed

5 files changed

+11
-7
lines changed

packages/paddlejs-backend-webgl/src/ops/atom/common_func.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ float prelu(float x, float p, float b) {
1717

1818
const relu6 = `
1919
float relu6(float x, float threshold, float b) {
20-
float result = max(0.0, x);
21-
result = min(result, threshold);
20+
float result = min(max(0.0, x), threshold);
2221
return result;
2322
}`;
2423

packages/paddlejs-backend-webgl/src/ops/shader/conv2d.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ function mainFunc(
1212
dilations = [],
1313
fuse_relu,
1414
filter_nearest_vec4,
15-
filter_remainder_vec4
15+
filter_remainder_vec4,
16+
act_type
1617
}
1718
) {
1819
const [stride_v = 1, stride_h = 1] = strides;
@@ -105,6 +106,9 @@ function mainFunc(
105106
if (${fuse_relu}) {
106107
res = max(0.0, res);
107108
}
109+
else if (${act_type === 'relu6'}) {
110+
res = min(max(0.0, res), 6.0);
111+
}
108112
109113
setOutput(res);
110114
}
@@ -119,7 +123,8 @@ export default {
119123
'dilations',
120124
'groups',
121125
'filter_nearest_vec4',
122-
'filter_remainder_vec4'
126+
'filter_remainder_vec4',
127+
'act_type'
123128
],
124129
textureFuncConf: {
125130
filter: ['getValueFromTensorPos'],

packages/paddlejs-backend-webgl/src/ops/shader/pool2d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ function mainFunc(
88
) {
99
const [stride_v = 1, stride_h = 1] = strides;
1010
const [padTop = 0, padLeft = 0] = paddings;
11-
const [ksize_x, ksize_y] = ksize;
11+
const [ksize_y, ksize_x] = ksize;
1212
return `
1313
// start函数
1414
void main(void) {

packages/paddlejs-backend-webgl/src/ops/shader/pool2d_avg.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ function mainFunc(
88
) {
99
const [stride_v = 1, stride_h = 1] = strides;
1010
const [padTop = 0, padLeft = 0] = paddings;
11-
const [ksize_x, ksize_y] = ksize;
11+
const [ksize_y, ksize_x] = ksize;
1212
return `
1313
// start函数
1414
void main(void) {

packages/paddlejs-backend-webgl/src/ops/shader/pool2d_max.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ function mainFunc(
1212
) {
1313
const [stride_v = 1, stride_h = 1] = strides;
1414
const [padTop = 0, padLeft = 0] = paddings;
15-
const [ksize_x, ksize_y] = ksize;
15+
const [ksize_y, ksize_x] = ksize;
1616
const originShape = recoverShape(origin);
1717
let computedIndex = '';
1818
let outputCode = 'setOutput(float(res));';

0 commit comments

Comments
 (0)