From 10ce5d4f55f7472984b04f82c66ea5abf1ffe22e Mon Sep 17 00:00:00 2001 From: 2wins Date: Sun, 13 May 2018 21:19:00 +0900 Subject: [PATCH 01/21] Update utils.py Fix #565 --- tensorlayer/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tensorlayer/utils.py b/tensorlayer/utils.py index e316ca0d7..2edb7c5e2 100644 --- a/tensorlayer/utils.py +++ b/tensorlayer/utils.py @@ -320,7 +320,7 @@ def predict(sess, network, X, x, y_op, batch_size=None): if result is None: result = result_a else: - result = np.hstack((result, result_a)) # TODO: https://github.com/tensorlayer/tensorlayer/issues/288 + result = np.vstack((result, result_a)) if result is None: if len(X) % batch_size != 0: dp_dict = dict_to_one(network.all_drop) @@ -338,7 +338,7 @@ def predict(sess, network, X, x, y_op, batch_size=None): } feed_dict.update(dp_dict) result_a = sess.run(y_op, feed_dict=feed_dict) - result = np.hstack((result, result_a)) # TODO: https://github.com/tensorlayer/tensorlayer/issues/288 + result = np.vstack((result, result_a)) return result From 151958e69967198de98fc9a177de31aa110883b6 Mon Sep 17 00:00:00 2001 From: 2wins Date: Sun, 13 May 2018 22:26:19 +0900 Subject: [PATCH 02/21] Update utils.py --- tensorlayer/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tensorlayer/utils.py b/tensorlayer/utils.py index 2edb7c5e2..6363149fa 100644 --- a/tensorlayer/utils.py +++ b/tensorlayer/utils.py @@ -320,7 +320,7 @@ def predict(sess, network, X, x, y_op, batch_size=None): if result is None: result = result_a else: - result = np.vstack((result, result_a)) + result = np.stack((result, result_a)) if result is None: if len(X) % batch_size != 0: dp_dict = dict_to_one(network.all_drop) @@ -338,7 +338,7 @@ def predict(sess, network, X, x, y_op, batch_size=None): } feed_dict.update(dp_dict) result_a = sess.run(y_op, feed_dict=feed_dict) - result = np.vstack((result, result_a)) + result = np.stack((result, result_a)) return result From ce3ef6122bf3160bd22b30bb26a133f438aadf89 Mon Sep 17 00:00:00 2001 From: Dongkyu Kim Date: Mon, 14 May 2018 15:19:41 +0900 Subject: [PATCH 03/21] Create test_utils_predict.py --- tests/test_utils_predict.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tests/test_utils_predict.py diff --git a/tests/test_utils_predict.py b/tests/test_utils_predict.py new file mode 100644 index 000000000..e3ea15069 --- /dev/null +++ b/tests/test_utils_predict.py @@ -0,0 +1,31 @@ +import tensorflow as tf +import tensorlayer as tl +import numpy as np + +sess = tf.InteractiveSession() + +# case 1: No. of examples is not divisible by batch_size but the input placeholder's first dim is None. +x = tf.placeholder(tf.float32, [None, 5, 5, 3]) +X = np.ones([127, 5, 5, 3]) +net = tl.layers.InputLayer(x) +y = net.outputs +y_op = tf.nn.softmax(y) +result = tl.utils.predict(sess, net, X, x, y_op, batch_size=8) + +# case 2: No. of examples > batch_size & not divisible by batch_size +# ValueError: Cannot feed value of shape (7, 5, 5, 3) for Tensor 'Placeholder_1:0', which has shape '(8, 5, 5, 3)' +x = tf.placeholder(tf.float32, [8, 5, 5, 3]) +X = np.ones([127, 5, 5, 3]) +net = tl.layers.InputLayer(x) +y = net.outputs +y_op = tf.nn.softmax(y) +result = tl.utils.predict(sess, net, X, x, y_op, batch_size=8) + +# case 3: No. of examples < batch_size (actually same with the last mini-batch in case 2) +# ValueError: Cannot feed value of shape (7, 5, 5, 3) for Tensor 'Placeholder_2:0', which has shape '(8, 5, 5, 3)' +x = tf.placeholder(tf.float32, [8, 5, 5, 3]) +X = np.ones([7, 5, 5, 3]) +net = tl.layers.InputLayer(x) +y = net.outputs +y_op = tf.nn.softmax(y) +result = tl.utils.predict(sess, net, X, x, y_op, batch_size=8) \ No newline at end of file From d274464e24e92150cef1555113b3574029202f4f Mon Sep 17 00:00:00 2001 From: 2wins Date: Mon, 14 May 2018 16:14:05 +0900 Subject: [PATCH 04/21] Update utils.py --- tensorlayer/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tensorlayer/utils.py b/tensorlayer/utils.py index 6363149fa..d65d36396 100644 --- a/tensorlayer/utils.py +++ b/tensorlayer/utils.py @@ -320,7 +320,7 @@ def predict(sess, network, X, x, y_op, batch_size=None): if result is None: result = result_a else: - result = np.stack((result, result_a)) + result = np.concatenate((result, result_a)) if result is None: if len(X) % batch_size != 0: dp_dict = dict_to_one(network.all_drop) @@ -338,7 +338,7 @@ def predict(sess, network, X, x, y_op, batch_size=None): } feed_dict.update(dp_dict) result_a = sess.run(y_op, feed_dict=feed_dict) - result = np.stack((result, result_a)) + result = np.concatenate((result, result_a)) return result From f494d8cdd19f27b5fb3603a267cf0101a3f7075b Mon Sep 17 00:00:00 2001 From: 2wins Date: Mon, 14 May 2018 16:14:51 +0900 Subject: [PATCH 05/21] Update test_utils_predict.py --- tests/test_utils_predict.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/tests/test_utils_predict.py b/tests/test_utils_predict.py index e3ea15069..db44ae372 100644 --- a/tests/test_utils_predict.py +++ b/tests/test_utils_predict.py @@ -14,18 +14,18 @@ # case 2: No. of examples > batch_size & not divisible by batch_size # ValueError: Cannot feed value of shape (7, 5, 5, 3) for Tensor 'Placeholder_1:0', which has shape '(8, 5, 5, 3)' -x = tf.placeholder(tf.float32, [8, 5, 5, 3]) -X = np.ones([127, 5, 5, 3]) -net = tl.layers.InputLayer(x) -y = net.outputs -y_op = tf.nn.softmax(y) -result = tl.utils.predict(sess, net, X, x, y_op, batch_size=8) +# x = tf.placeholder(tf.float32, [8, 5, 5, 3]) +# X = np.ones([127, 5, 5, 3]) +# net = tl.layers.InputLayer(x) +# y = net.outputs +# y_op = tf.nn.softmax(y) +# result = tl.utils.predict(sess, net, X, x, y_op, batch_size=8) # case 3: No. of examples < batch_size (actually same with the last mini-batch in case 2) # ValueError: Cannot feed value of shape (7, 5, 5, 3) for Tensor 'Placeholder_2:0', which has shape '(8, 5, 5, 3)' -x = tf.placeholder(tf.float32, [8, 5, 5, 3]) -X = np.ones([7, 5, 5, 3]) -net = tl.layers.InputLayer(x) -y = net.outputs -y_op = tf.nn.softmax(y) -result = tl.utils.predict(sess, net, X, x, y_op, batch_size=8) \ No newline at end of file +# x = tf.placeholder(tf.float32, [8, 5, 5, 3]) +# X = np.ones([7, 5, 5, 3]) +# net = tl.layers.InputLayer(x) +# y = net.outputs +# y_op = tf.nn.softmax(y) +# result = tl.utils.predict(sess, net, X, x, y_op, batch_size=8) From 619c08f3336e18d885d290a7802c913a9bd4b692 Mon Sep 17 00:00:00 2001 From: 2wins Date: Mon, 14 May 2018 16:23:31 +0900 Subject: [PATCH 06/21] Update CHANGELOG.md related to #566 --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a4c21472e..9c7bf92b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -72,9 +72,13 @@ To release a new version, please update the changelog as followed: - Repository: - Danger CI has been added to enforce the update of the changelog (by @lgarithm and @DEKHTIARJonathan) - Tutorials: - - `tutorial_tfslim` added by (@2wins). + - `tutorial_tfslim` added (by @2wins). +- Tests: + - `test_utils_predict.py` added (by @2wins). ### Changed +- Util: + - `predict` function updated (by @2wins). ### Deprecated From e259cfe09d61c5ac392113d9ad8a1d380c7f88de Mon Sep 17 00:00:00 2001 From: 2wins Date: Mon, 14 May 2018 17:00:20 +0900 Subject: [PATCH 07/21] Update test_utils_predict.py --- tests/test_utils_predict.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/tests/test_utils_predict.py b/tests/test_utils_predict.py index db44ae372..5453843e9 100644 --- a/tests/test_utils_predict.py +++ b/tests/test_utils_predict.py @@ -14,18 +14,18 @@ # case 2: No. of examples > batch_size & not divisible by batch_size # ValueError: Cannot feed value of shape (7, 5, 5, 3) for Tensor 'Placeholder_1:0', which has shape '(8, 5, 5, 3)' -# x = tf.placeholder(tf.float32, [8, 5, 5, 3]) -# X = np.ones([127, 5, 5, 3]) -# net = tl.layers.InputLayer(x) -# y = net.outputs -# y_op = tf.nn.softmax(y) -# result = tl.utils.predict(sess, net, X, x, y_op, batch_size=8) +x = tf.placeholder(tf.float32, [8, 5, 5, 3]) +X = np.ones([127, 5, 5, 3]) +net = tl.layers.InputLayer(x) +y = net.outputs +y_op = tf.nn.softmax(y) +result = tl.utils.predict(sess, net, X, x, y_op, batch_size=8) # case 3: No. of examples < batch_size (actually same with the last mini-batch in case 2) # ValueError: Cannot feed value of shape (7, 5, 5, 3) for Tensor 'Placeholder_2:0', which has shape '(8, 5, 5, 3)' -# x = tf.placeholder(tf.float32, [8, 5, 5, 3]) -# X = np.ones([7, 5, 5, 3]) -# net = tl.layers.InputLayer(x) -# y = net.outputs -# y_op = tf.nn.softmax(y) -# result = tl.utils.predict(sess, net, X, x, y_op, batch_size=8) +x = tf.placeholder(tf.float32, [8, 5, 5, 3]) +X = np.ones([7, 5, 5, 3]) +net = tl.layers.InputLayer(x) +y = net.outputs +y_op = tf.nn.softmax(y) +result = tl.utils.predict(sess, net, X, x, y_op, batch_size=8) From 5ccc7a912331cc5061a7722af0f448049d0a941b Mon Sep 17 00:00:00 2001 From: 2wins Date: Mon, 14 May 2018 17:24:35 +0900 Subject: [PATCH 08/21] Update CHANGELOG.md --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c7bf92b8..92dd52d51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -74,11 +74,11 @@ To release a new version, please update the changelog as followed: - Tutorials: - `tutorial_tfslim` added (by @2wins). - Tests: - - `test_utils_predict.py` added (by @2wins). + - `test_utils_predict.py` added to reproduce and fix issue #288 (by @2wins). ### Changed - Util: - - `predict` function updated (by @2wins). + - `predict` function modified to fix #565 (by @2wins). ### Deprecated From a904ae74359286c4acba2768450b42afd74bb95a Mon Sep 17 00:00:00 2001 From: 2wins Date: Mon, 14 May 2018 18:48:58 +0900 Subject: [PATCH 09/21] Update CHANGELOG.md --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92dd52d51..c6c6aaee2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,14 +77,14 @@ To release a new version, please update the changelog as followed: - `test_utils_predict.py` added to reproduce and fix issue #288 (by @2wins). ### Changed -- Util: - - `predict` function modified to fix #565 (by @2wins). ### Deprecated ### Removed ### Fixed +- Util: + - `predict` function modified to fix #565 (by @2wins). ### Security From a0be0c9aa7e800412a1939c549b3e6c1866a9e20 Mon Sep 17 00:00:00 2001 From: 2wins Date: Mon, 14 May 2018 19:24:23 +0900 Subject: [PATCH 10/21] Update CHANGELOG.md --- CHANGELOG.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c6c6aaee2..ade833d7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -72,9 +72,9 @@ To release a new version, please update the changelog as followed: - Repository: - Danger CI has been added to enforce the update of the changelog (by @lgarithm and @DEKHTIARJonathan) - Tutorials: - - `tutorial_tfslim` added (by @2wins). + - `tutorial_tfslim` added (by @2wins) - Tests: - - `test_utils_predict.py` added to reproduce and fix issue #288 (by @2wins). + - `test_utils_predict.py` added to reproduce and fix issue #288 (by @2wins) ### Changed @@ -83,8 +83,7 @@ To release a new version, please update the changelog as followed: ### Removed ### Fixed -- Util: - - `predict` function modified to fix #565 (by @2wins). +- Issue #565 related to `tl.utils.predict` fixed - `np.hstack` problem in which the results for multiple batches are stacked along `dim=1` (by @2wins) ### Security From 346f23bb01ea180ccbb437e10e06ffccebc2b879 Mon Sep 17 00:00:00 2001 From: Dongkyu Kim Date: Mon, 14 May 2018 22:44:31 +0900 Subject: [PATCH 11/21] Update test_utils_predict.py --- tests/test_utils_predict.py | 81 ++++++++++++++++++++++++------------- 1 file changed, 54 insertions(+), 27 deletions(-) diff --git a/tests/test_utils_predict.py b/tests/test_utils_predict.py index db44ae372..0d604929a 100644 --- a/tests/test_utils_predict.py +++ b/tests/test_utils_predict.py @@ -1,31 +1,58 @@ +import unittest + +try: + from tests.unittests_helper import CustomTestCase +except ImportError: + from unittests_helper import CustomTestCase + import tensorflow as tf import tensorlayer as tl import numpy as np -sess = tf.InteractiveSession() - -# case 1: No. of examples is not divisible by batch_size but the input placeholder's first dim is None. -x = tf.placeholder(tf.float32, [None, 5, 5, 3]) -X = np.ones([127, 5, 5, 3]) -net = tl.layers.InputLayer(x) -y = net.outputs -y_op = tf.nn.softmax(y) -result = tl.utils.predict(sess, net, X, x, y_op, batch_size=8) - -# case 2: No. of examples > batch_size & not divisible by batch_size -# ValueError: Cannot feed value of shape (7, 5, 5, 3) for Tensor 'Placeholder_1:0', which has shape '(8, 5, 5, 3)' -# x = tf.placeholder(tf.float32, [8, 5, 5, 3]) -# X = np.ones([127, 5, 5, 3]) -# net = tl.layers.InputLayer(x) -# y = net.outputs -# y_op = tf.nn.softmax(y) -# result = tl.utils.predict(sess, net, X, x, y_op, batch_size=8) - -# case 3: No. of examples < batch_size (actually same with the last mini-batch in case 2) -# ValueError: Cannot feed value of shape (7, 5, 5, 3) for Tensor 'Placeholder_2:0', which has shape '(8, 5, 5, 3)' -# x = tf.placeholder(tf.float32, [8, 5, 5, 3]) -# X = np.ones([7, 5, 5, 3]) -# net = tl.layers.InputLayer(x) -# y = net.outputs -# y_op = tf.nn.softmax(y) -# result = tl.utils.predict(sess, net, X, x, y_op, batch_size=8) +def test_model(x): + n = tl.layers.InputLayer(x) + y = n.outputs + y_op = tf.nn.softmax(y) + + return n, y, y_op + +class Util_Predict_Test(CustomTestCase): + + @classmethod + def setUpClass(cls): + cls.x1 = tf.placeholder(tf.float32, [None, 5, 5, 3]) + cls.x2 = tf.placeholder(tf.float32, [8, 5, 5, 3]) + cls.X1 = np.ones([127, 5, 5, 3]) + cls.X2 = np.ones([7, 5, 5, 3]) + cls.batch_size = 8 + + # n2 = tl.layers.InputLayer(x2) + # y2 = n1.outputs + # y_op2 = tf.nn.softmax(y2) + # res2 = tl.utils.predict(tf.get_default_session(), n2, cls.X2, x2, y_op2, batch_size=8) + + + @classmethod + def tearDownClass(cls): + tf.reset_default_graph() + + def test_case1(self): + with self.assertNotRaises(Exception): + with tf.Session() as sess: + n, y, y_op = test_model(self.x1) + res = tl.utils.predict(sess, n, self.X1, self.x1, y_op, batch_size=self.batch_size) + sess.close() + + def test_case2(self): + with self.assertNotRaises(Exception): + with tf.Session() as sess: + n, y, y_op = test_model(self.x2) + res = tl.utils.predict(sess, n, self.X2, self.x2, y_op, batch_size=self.batch_size) + sess.close() + +if __name__ == '__main__': + + # tf.logging.set_verbosity(tf.logging.INFO) + tf.logging.set_verbosity(tf.logging.DEBUG) + + unittest.main() From 147e893d06c6e1c5c76b7dbccdbd10b4f08bfd15 Mon Sep 17 00:00:00 2001 From: 2wins Date: Mon, 14 May 2018 22:48:31 +0900 Subject: [PATCH 12/21] Update test_utils_predict.py --- tests/test_utils_predict.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_utils_predict.py b/tests/test_utils_predict.py index b2bf156f6..a855c8a68 100644 --- a/tests/test_utils_predict.py +++ b/tests/test_utils_predict.py @@ -50,4 +50,5 @@ def test_case2(self): # tf.logging.set_verbosity(tf.logging.INFO) tf.logging.set_verbosity(tf.logging.DEBUG) - unittest.main() \ No newline at end of file + unittest.main() + From f9bd69f395fc15c536d04682c730d690a11f1d0a Mon Sep 17 00:00:00 2001 From: 2wins Date: Mon, 14 May 2018 22:58:57 +0900 Subject: [PATCH 13/21] Update test_utils_predict.py --- tests/test_utils_predict.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/test_utils_predict.py b/tests/test_utils_predict.py index a855c8a68..165238242 100644 --- a/tests/test_utils_predict.py +++ b/tests/test_utils_predict.py @@ -34,14 +34,18 @@ def tearDownClass(cls): def test_case1(self): with self.assertNotRaises(Exception): with tf.Session() as sess: - n, y, y_op = test_model(self.x1) + n = tl.layers.InputLayer(self.x1) + y = n.outputs + y_op = tf.nn.softmax(y) res = tl.utils.predict(sess, n, self.X1, self.x1, y_op, batch_size=self.batch_size) sess.close() def test_case2(self): with self.assertNotRaises(Exception): with tf.Session() as sess: - n, y, y_op = test_model(self.x2) + n = tl.layers.InputLayer(self.x2) + y = n.outputs + y_op = tf.nn.softmax(y) res = tl.utils.predict(sess, n, self.X2, self.x2, y_op, batch_size=self.batch_size) sess.close() @@ -51,4 +55,3 @@ def test_case2(self): tf.logging.set_verbosity(tf.logging.DEBUG) unittest.main() - From be46a1ba97bfa37f69f652a8dd0d37cc2b7d7c81 Mon Sep 17 00:00:00 2001 From: 2wins Date: Mon, 14 May 2018 22:59:15 +0900 Subject: [PATCH 14/21] Update test_utils_predict.py --- tests/test_utils_predict.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/tests/test_utils_predict.py b/tests/test_utils_predict.py index 165238242..e6db870dd 100644 --- a/tests/test_utils_predict.py +++ b/tests/test_utils_predict.py @@ -10,13 +10,6 @@ import numpy as np -def test_model(x): - n = tl.layers.InputLayer(x) - y = n.outputs - y_op = tf.nn.softmax(y) - - return n, y, y_op - class Util_Predict_Test(CustomTestCase): @classmethod From c31bc436935d124f53bbf2bf5260bf1457d46460 Mon Sep 17 00:00:00 2001 From: 2wins Date: Mon, 14 May 2018 23:07:18 +0900 Subject: [PATCH 15/21] Update test_utils_predict.py --- tests/test_utils_predict.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_utils_predict.py b/tests/test_utils_predict.py index e6db870dd..b1dd210fd 100644 --- a/tests/test_utils_predict.py +++ b/tests/test_utils_predict.py @@ -30,7 +30,7 @@ def test_case1(self): n = tl.layers.InputLayer(self.x1) y = n.outputs y_op = tf.nn.softmax(y) - res = tl.utils.predict(sess, n, self.X1, self.x1, y_op, batch_size=self.batch_size) + tl.utils.predict(sess, n, self.X1, self.x1, y_op, batch_size=self.batch_size) sess.close() def test_case2(self): @@ -39,7 +39,7 @@ def test_case2(self): n = tl.layers.InputLayer(self.x2) y = n.outputs y_op = tf.nn.softmax(y) - res = tl.utils.predict(sess, n, self.X2, self.x2, y_op, batch_size=self.batch_size) + tl.utils.predict(sess, n, self.X2, self.x2, y_op, batch_size=self.batch_size) sess.close() if __name__ == '__main__': From 532c3b82734c3c9bfcb674eaafd9cf50c00997d2 Mon Sep 17 00:00:00 2001 From: Dongkyu Kim Date: Mon, 14 May 2018 23:35:00 +0900 Subject: [PATCH 16/21] Update test_utils_predict.py (fix Bad Coding Style) --- tests/test_utils_predict.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test_utils_predict.py b/tests/test_utils_predict.py index b1dd210fd..81e796f1d 100644 --- a/tests/test_utils_predict.py +++ b/tests/test_utils_predict.py @@ -42,6 +42,7 @@ def test_case2(self): tl.utils.predict(sess, n, self.X2, self.x2, y_op, batch_size=self.batch_size) sess.close() + if __name__ == '__main__': # tf.logging.set_verbosity(tf.logging.INFO) From 0cb228ffdee1cf4b30c051ae53176779291fbd55 Mon Sep 17 00:00:00 2001 From: Dongkyu Kim Date: Tue, 15 May 2018 22:58:22 +0900 Subject: [PATCH 17/21] Update test_utils_predict.py --- tests/test_utils_predict.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_utils_predict.py b/tests/test_utils_predict.py index 81e796f1d..dce212588 100644 --- a/tests/test_utils_predict.py +++ b/tests/test_utils_predict.py @@ -34,7 +34,7 @@ def test_case1(self): sess.close() def test_case2(self): - with self.assertNotRaises(Exception): + with self.assertRaises(Exception): with tf.Session() as sess: n = tl.layers.InputLayer(self.x2) y = n.outputs From cee22dfa3d7757fa29cd60e09aa6ceb7f86d6276 Mon Sep 17 00:00:00 2001 From: Dongkyu Kim Date: Tue, 15 May 2018 23:08:51 +0900 Subject: [PATCH 18/21] Update CHANGELOG.md --- CHANGELOG.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ade833d7e..6a6ac657d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -69,21 +69,28 @@ To release a new version, please update the changelog as followed: ## [Unreleased] ### Added -- Repository: - - Danger CI has been added to enforce the update of the changelog (by @lgarithm and @DEKHTIARJonathan) - Tutorials: - - `tutorial_tfslim` added (by @2wins) -- Tests: - - `test_utils_predict.py` added to reproduce and fix issue #288 (by @2wins) + - `tutorial_tfslim` has been introduced to show how to use `SlimNetsLayer` (by @2wins in #560). +- Test: + - `Layer_DeformableConvolution_Test` added to reproduce issue #572 with deformable convolution (by @DEKHTIARJonathan in #573) + - `test_utils_predict.py` added to reproduce and fix issue #288 (by @2wins in #566) +- CI Tool: + - Danger CI has been added to enforce the update of the changelog (by @lgarithm and @DEKHTIARJonathan in #563) + - https://github.com/apps/stale/ added to clean stale issues (by @DEKHTIARJonathan in #573) +>>>>>>> master ### Changed +- Tensorflow CPU & GPU dependencies moved to separated requirement files in order to allow PyUP.io to parse them (by @DEKHTIARJonathan in #573) ### Deprecated ### Removed ### Fixed -- Issue #565 related to `tl.utils.predict` fixed - `np.hstack` problem in which the results for multiple batches are stacked along `dim=1` (by @2wins) +- Issue #498 - Deprecation Warning Fix in `tl.layers.RNNLayer` with `inspect` (by @DEKHTIARJonathan in #574) +- Issue #498 - Deprecation Warning Fix in `tl.files` with truth value of an empty array is ambiguous (by @DEKHTIARJonathan in #575) +- Issue #572 with deformable convolution fixed (by @DEKHTIARJonathan in #573) +- Issue #565 related to `tl.utils.predict` fixed - `np.hstack` problem in which the results for multiple batches are stacked along `dim=1` (by @2wins in #566) ### Security From d3c43468d93f075af1215d19a1d441ae87b6cfe1 Mon Sep 17 00:00:00 2001 From: Dongkyu Kim Date: Tue, 15 May 2018 23:10:06 +0900 Subject: [PATCH 19/21] Update CHANGELOG.md --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a6ac657d..b98b574df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,7 +77,6 @@ To release a new version, please update the changelog as followed: - CI Tool: - Danger CI has been added to enforce the update of the changelog (by @lgarithm and @DEKHTIARJonathan in #563) - https://github.com/apps/stale/ added to clean stale issues (by @DEKHTIARJonathan in #573) ->>>>>>> master ### Changed - Tensorflow CPU & GPU dependencies moved to separated requirement files in order to allow PyUP.io to parse them (by @DEKHTIARJonathan in #573) From 99fa99b1af4c4f0455ad8f217bb43cbca715b54f Mon Sep 17 00:00:00 2001 From: Dongkyu Kim Date: Tue, 15 May 2018 23:18:03 +0900 Subject: [PATCH 20/21] Update CHANGELOG.md --- CHANGELOG.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55fb5dc3d..67ae60939 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -72,7 +72,6 @@ To release a new version, please update the changelog as followed: - Tutorials: - `tutorial_tfslim` has been introduced to show how to use `SlimNetsLayer` (by @2wins in #560). - Test: - - `Layer_DeformableConvolution_Test` added to reproduce issue #572 with deformable convolution (by @DEKHTIARJonathan in #573) - `test_utils_predict.py` added to reproduce and fix issue #288 (by @2wins in #566) - `Layer_DeformableConvolution_Test` added to reproduce issue #572 with deformable convolution (by @DEKHTIARJonathan in #573) - CI Tool: @@ -89,7 +88,7 @@ To release a new version, please update the changelog as followed: ### Fixed - Issue #498 - Deprecation Warning Fix in `tl.layers.RNNLayer` with `inspect` (by @DEKHTIARJonathan in #574) - Issue #498 - Deprecation Warning Fix in `tl.files` with truth value of an empty array is ambiguous (by @DEKHTIARJonathan in #575) -- Issue #572 with deformable convolution fixed (by @DEKHTIARJonathan in #573) +- Issue #572 with `tl.layers.DeformableConv2d` fixed (by @DEKHTIARJonathan in #573) - Issue #565 related to `tl.utils.predict` fixed - `np.hstack` problem in which the results for multiple batches are stacked along `dim=1` (by @2wins in #566) ### Security From fd4a01c59b0cf32721bb4138b398cdd483db6d5c Mon Sep 17 00:00:00 2001 From: Dongkyu Kim Date: Wed, 16 May 2018 00:02:30 +0900 Subject: [PATCH 21/21] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 67ae60939..b0310fd78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -89,7 +89,7 @@ To release a new version, please update the changelog as followed: - Issue #498 - Deprecation Warning Fix in `tl.layers.RNNLayer` with `inspect` (by @DEKHTIARJonathan in #574) - Issue #498 - Deprecation Warning Fix in `tl.files` with truth value of an empty array is ambiguous (by @DEKHTIARJonathan in #575) - Issue #572 with `tl.layers.DeformableConv2d` fixed (by @DEKHTIARJonathan in #573) -- Issue #565 related to `tl.utils.predict` fixed - `np.hstack` problem in which the results for multiple batches are stacked along `dim=1` (by @2wins in #566) +- Issue #565 related to `tl.utils.predict` fixed - `np.hstack` problem in which the results for multiple batches are stacked along `axis=1` (by @2wins in #566) ### Security