You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@singa.apache.org by wa...@apache.org on 2017/08/15 15:16:58 UTC

incubator-singa git commit: SINGA-290 Upgrade to Python 3 [Forced Update!]

Repository: incubator-singa
Updated Branches:
  refs/heads/master 69d3513a6 -> 8d03bd8d0 (forced update)


SINGA-290 Upgrade to Python 3

Fix the bugs for kernel/pad setting for 1D conv/pool
Fix the bugs for python unit test (uneven padding for testing conv layers)


Project: http://git-wip-us.apache.org/repos/asf/incubator-singa/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-singa/commit/8d03bd8d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-singa/tree/8d03bd8d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-singa/diff/8d03bd8d

Branch: refs/heads/master
Commit: 8d03bd8d0373962cb1da5aee5aa96165f6d46e6b
Parents: 0330af0
Author: Wei Wang <wa...@comp.nus.edu.sg>
Authored: Tue Aug 15 23:02:46 2017 +0800
Committer: Wei Wang <wa...@comp.nus.edu.sg>
Committed: Tue Aug 15 23:16:39 2017 +0800

----------------------------------------------------------------------
 python/singa/layer.py     | 12 ++++++++----
 test/python/test_layer.py |  6 +++---
 2 files changed, 11 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/8d03bd8d/python/singa/layer.py
----------------------------------------------------------------------
diff --git a/python/singa/layer.py b/python/singa/layer.py
index 8a32279..348bedc 100644
--- a/python/singa/layer.py
+++ b/python/singa/layer.py
@@ -1214,10 +1214,14 @@ def _set_kernel_stride_pad(conf, kernel, stride, border_mode, pad, in_shape):
     if pad is None:
         # TODO(wangwei) check the border mode
         if mode == 'same':
-            out_h = in_shape[1] / conf.stride_h
-            out_w = in_shape[2] / conf.stride_w
-            ph = max((out_h - 1) * conf.stride_h + conf.kernel_h - in_shape[1],
-                     0)
+            if conf.stride_h != 0:
+                out_h = in_shape[1] // conf.stride_h
+                ph = max(
+                    (out_h - 1) * conf.stride_h + conf.kernel_h - in_shape[1],
+                    0)
+            else:
+                ph = 0
+            out_w = in_shape[2] // conf.stride_w
             pw = max((out_w - 1) * conf.stride_w + conf.kernel_w - in_shape[2],
                      0)
             assert ph % 2 == 0 and pw % 2 == 0, 'ph=%d and pw=%d are not even' \

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/8d03bd8d/test/python/test_layer.py
----------------------------------------------------------------------
diff --git a/test/python/test_layer.py b/test/python/test_layer.py
index ec5becf..b98065f 100644
--- a/test/python/test_layer.py
+++ b/test/python/test_layer.py
@@ -132,7 +132,7 @@ class TestPythonLayer(unittest.TestCase):
         self.check_shape(out_sample_shape, (64, 224,))
 
     def test_max_pooling2D(self):
-        in_sample_shape = (64, 224, 224)
+        in_sample_shape = (64, 225, 225)
         pooling = layer.MaxPooling2D('pool', 3, 2,
                                      input_sample_shape=in_sample_shape)
         out_sample_shape = pooling.get_output_sample_shape()
@@ -146,7 +146,7 @@ class TestPythonLayer(unittest.TestCase):
         self.check_shape(out_sample_shape, (112,))
 
     def test_avg_pooling2D(self):
-        in_sample_shape = (64, 224, 224)
+        in_sample_shape = (64, 225, 225)
         pooling = layer.AvgPooling2D('pool', 3, 2,
                                      input_sample_shape=in_sample_shape)
         out_sample_shape = pooling.get_output_sample_shape()
@@ -234,7 +234,7 @@ class TestPythonLayer(unittest.TestCase):
         t2 = tensor.Tensor((3, 1))
         t1.set_value(1)
         t2.set_value(2)
-        grad,_ = lyr.backward(model_pb2.kTrain, [t1, t2])
+        grad, _ = lyr.backward(model_pb2.kTrain, [t1, t2])
         gnp = tensor.to_numpy(grad)
         self.assertEquals(np.sum(gnp), 12)