From 8ef6564167da1b582b658f8579e4f64e3081008d Mon Sep 17 00:00:00 2001 From: Junbo Chen Date: Wed, 3 Jun 2015 15:00:42 +0800 Subject: [PATCH 1/3] fix bug: while the task of csv dataset is classification, the type of y is still float, so there is exception arise --- pylearn2/datasets/csv_dataset.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pylearn2/datasets/csv_dataset.py b/pylearn2/datasets/csv_dataset.py index d7b1845f11..fd5b9439b3 100644 --- a/pylearn2/datasets/csv_dataset.py +++ b/pylearn2/datasets/csv_dataset.py @@ -125,6 +125,7 @@ def __init__(self, if self.task == 'regression': super(CSVDataset, self).__init__(X=X, y=y, **kwargs) else: + y = y.astype('int64') super(CSVDataset, self).__init__(X=X, y=y, y_labels=np.max(y) + 1, **kwargs) From 5073b57bc3907e23833101acd923132087f9f077 Mon Sep 17 00:00:00 2001 From: Junbo Chen Date: Wed, 3 Jun 2015 16:35:54 +0800 Subject: [PATCH 2/3] change int64 to int32, so that the algorithm could work on gpu --- pylearn2/datasets/csv_dataset.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pylearn2/datasets/csv_dataset.py b/pylearn2/datasets/csv_dataset.py index fd5b9439b3..b2cbc48d15 100644 --- a/pylearn2/datasets/csv_dataset.py +++ b/pylearn2/datasets/csv_dataset.py @@ -125,7 +125,7 @@ def __init__(self, if self.task == 'regression': super(CSVDataset, self).__init__(X=X, y=y, **kwargs) else: - y = y.astype('int64') + y = y.astype('int32') super(CSVDataset, self).__init__(X=X, y=y, y_labels=np.max(y) + 1, **kwargs) From b48afbfa72b657a6a92fba590a25177a364db1d8 Mon Sep 17 00:00:00 2001 From: Junbo Chen Date: Fri, 26 Jun 2015 15:47:40 +0800 Subject: [PATCH 3/3] add test for csv dataset in classification mode --- pylearn2/datasets/tests/test_csv_dataset.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pylearn2/datasets/tests/test_csv_dataset.py b/pylearn2/datasets/tests/test_csv_dataset.py index 30bc204ef1..3a8d9c519d 100644 --- a/pylearn2/datasets/tests/test_csv_dataset.py +++ b/pylearn2/datasets/tests/test_csv_dataset.py @@ -9,7 +9,8 @@ def test_loading_classification(): 'datasets', 'tests', 'test.csv') d = CSVDataset(path=test_path, expect_headers=False) assert(np.array_equal(d.X, np.array([[1., 2., 3.], [4., 5., 6.]]))) - assert(np.array_equal(d.y, np.array([[0.], [1.]]))) + assert(np.array_equal(d.y, np.array([[0], [1]]))) + assert (d.y.dtype == 'int32') def test_loading_regression():