chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
file(
|
||||
GLOB TEST_OPS
|
||||
RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
"test_*.py")
|
||||
string(REPLACE ".py" "" TEST_OPS "${TEST_OPS}")
|
||||
|
||||
foreach(src ${TEST_OPS})
|
||||
py_test(${src} SRCS ${src}.py)
|
||||
endforeach()
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 56 KiB |
@@ -0,0 +1,63 @@
|
||||
# Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import unittest
|
||||
|
||||
import paddle.dataset.cifar
|
||||
|
||||
__all__ = []
|
||||
|
||||
|
||||
class TestCIFAR(unittest.TestCase):
|
||||
def check_reader(self, reader):
|
||||
sum = 0
|
||||
label = 0
|
||||
for l in reader():
|
||||
self.assertEqual(l[0].size, 3072)
|
||||
if l[1] > label:
|
||||
label = l[1]
|
||||
sum += 1
|
||||
return sum, label
|
||||
|
||||
def test_test10(self):
|
||||
instances, max_label_value = self.check_reader(
|
||||
paddle.dataset.cifar.test10()
|
||||
)
|
||||
self.assertEqual(instances, 10000)
|
||||
self.assertEqual(max_label_value, 9)
|
||||
|
||||
def test_train10(self):
|
||||
instances, max_label_value = self.check_reader(
|
||||
paddle.dataset.cifar.train10()
|
||||
)
|
||||
self.assertEqual(instances, 50000)
|
||||
self.assertEqual(max_label_value, 9)
|
||||
|
||||
def test_test100(self):
|
||||
instances, max_label_value = self.check_reader(
|
||||
paddle.dataset.cifar.test100()
|
||||
)
|
||||
self.assertEqual(instances, 10000)
|
||||
self.assertEqual(max_label_value, 99)
|
||||
|
||||
def test_train100(self):
|
||||
instances, max_label_value = self.check_reader(
|
||||
paddle.dataset.cifar.train100()
|
||||
)
|
||||
self.assertEqual(instances, 50000)
|
||||
self.assertEqual(max_label_value, 99)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,57 @@
|
||||
# Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import unittest
|
||||
|
||||
import paddle.dataset.flowers
|
||||
|
||||
__all__ = []
|
||||
|
||||
|
||||
class TestFlowers(unittest.TestCase):
|
||||
def check_reader(self, reader):
|
||||
sum = 0
|
||||
label = 0
|
||||
size = 224 * 224 * 3
|
||||
for l in reader():
|
||||
self.assertEqual(l[0].size, size)
|
||||
if l[1] > label:
|
||||
label = l[1]
|
||||
sum += 1
|
||||
return sum, label
|
||||
|
||||
def test_train(self):
|
||||
instances, max_label_value = self.check_reader(
|
||||
paddle.dataset.flowers.train()
|
||||
)
|
||||
self.assertEqual(instances, 6149)
|
||||
self.assertEqual(max_label_value, 102)
|
||||
|
||||
def test_test(self):
|
||||
instances, max_label_value = self.check_reader(
|
||||
paddle.dataset.flowers.test()
|
||||
)
|
||||
self.assertEqual(instances, 1020)
|
||||
self.assertEqual(max_label_value, 102)
|
||||
|
||||
def test_valid(self):
|
||||
instances, max_label_value = self.check_reader(
|
||||
paddle.dataset.flowers.valid()
|
||||
)
|
||||
self.assertEqual(instances, 1020)
|
||||
self.assertEqual(max_label_value, 102)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,58 @@
|
||||
# Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import re
|
||||
import unittest
|
||||
|
||||
import paddle.dataset.imdb
|
||||
|
||||
__all__ = []
|
||||
|
||||
TRAIN_POS_PATTERN = re.compile(r"aclImdb/train/pos/.*\.txt$")
|
||||
TRAIN_NEG_PATTERN = re.compile(r"aclImdb/train/neg/.*\.txt$")
|
||||
TRAIN_PATTERN = re.compile(r"aclImdb/train/.*\.txt$")
|
||||
|
||||
TEST_POS_PATTERN = re.compile(r"aclImdb/test/pos/.*\.txt$")
|
||||
TEST_NEG_PATTERN = re.compile(r"aclImdb/test/neg/.*\.txt$")
|
||||
TEST_PATTERN = re.compile(r"aclImdb/test/.*\.txt$")
|
||||
|
||||
|
||||
class TestIMDB(unittest.TestCase):
|
||||
word_idx = None
|
||||
|
||||
def test_build_dict(self):
|
||||
if self.word_idx is None:
|
||||
self.word_idx = paddle.dataset.imdb.build_dict(TRAIN_PATTERN, 150)
|
||||
|
||||
self.assertEqual(len(self.word_idx), 7036)
|
||||
|
||||
def check_dataset(self, dataset, expected_size):
|
||||
if self.word_idx is None:
|
||||
self.word_idx = paddle.dataset.imdb.build_dict(TRAIN_PATTERN, 150)
|
||||
|
||||
sum = 0
|
||||
for l in dataset(self.word_idx):
|
||||
self.assertEqual(l[1], sum % 2)
|
||||
sum += 1
|
||||
self.assertEqual(sum, expected_size)
|
||||
|
||||
def test_train(self):
|
||||
self.check_dataset(paddle.dataset.imdb.train, 25000)
|
||||
|
||||
def test_test(self):
|
||||
self.check_dataset(paddle.dataset.imdb.test, 25000)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,74 @@
|
||||
# Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import unittest
|
||||
|
||||
import paddle.dataset.imikolov
|
||||
|
||||
WORD_DICT = paddle.dataset.imikolov.build_dict()
|
||||
|
||||
__all__ = []
|
||||
|
||||
|
||||
class TestMikolov(unittest.TestCase):
|
||||
def check_reader(self, reader, n):
|
||||
for l in reader():
|
||||
self.assertEqual(len(l), n)
|
||||
|
||||
def test_train(self):
|
||||
n = 5
|
||||
self.check_reader(paddle.dataset.imikolov.train(WORD_DICT, n), n)
|
||||
|
||||
first_line = (
|
||||
'aer banknote berlitz calloway centrust cluett fromstein '
|
||||
'gitano guterman hydro-quebec ipo kia memotec mlx nahb punts '
|
||||
'rake regatta rubens sim snack-food ssangyong swapo wachter'
|
||||
)
|
||||
first_line = [
|
||||
WORD_DICT.get(ch, WORD_DICT['<unk>'])
|
||||
for ch in first_line.split(' ')
|
||||
]
|
||||
for l in paddle.dataset.imikolov.train(
|
||||
WORD_DICT, n=-1, data_type=paddle.dataset.imikolov.DataType.SEQ
|
||||
)():
|
||||
read_line = l[0][1:]
|
||||
break
|
||||
self.assertEqual(first_line, read_line)
|
||||
|
||||
def test_test(self):
|
||||
n = 5
|
||||
self.check_reader(paddle.dataset.imikolov.test(WORD_DICT, n), n)
|
||||
|
||||
first_line = (
|
||||
'consumers may want to move their telephones a little '
|
||||
'closer to the tv set'
|
||||
)
|
||||
first_line = [
|
||||
WORD_DICT.get(ch, WORD_DICT['<unk>'])
|
||||
for ch in first_line.split(' ')
|
||||
]
|
||||
for l in paddle.dataset.imikolov.test(
|
||||
WORD_DICT, n=-1, data_type=paddle.dataset.imikolov.DataType.SEQ
|
||||
)():
|
||||
read_line = l[0][1:]
|
||||
break
|
||||
self.assertEqual(first_line, read_line)
|
||||
|
||||
def test_total(self):
|
||||
_, idx = list(zip(*list(WORD_DICT.items())))
|
||||
self.assertEqual(sorted(idx)[-1], len(WORD_DICT) - 1)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,49 @@
|
||||
# Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import unittest
|
||||
|
||||
import paddle.dataset.mnist
|
||||
|
||||
__all__ = []
|
||||
|
||||
|
||||
class TestMNIST(unittest.TestCase):
|
||||
def check_reader(self, reader):
|
||||
sum = 0
|
||||
label = 0
|
||||
for l in reader():
|
||||
self.assertEqual(l[0].size, 784)
|
||||
if l[1] > label:
|
||||
label = l[1]
|
||||
sum += 1
|
||||
return sum, label
|
||||
|
||||
def test_train(self):
|
||||
instances, max_label_value = self.check_reader(
|
||||
paddle.dataset.mnist.train()
|
||||
)
|
||||
self.assertEqual(instances, 60000)
|
||||
self.assertEqual(max_label_value, 9)
|
||||
|
||||
def test_test(self):
|
||||
instances, max_label_value = self.check_reader(
|
||||
paddle.dataset.mnist.test()
|
||||
)
|
||||
self.assertEqual(instances, 10000)
|
||||
self.assertEqual(max_label_value, 9)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,60 @@
|
||||
# Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
"""
|
||||
Filename:
|
||||
test_image.py
|
||||
Description:
|
||||
This script test image resize,flip and chw.
|
||||
"""
|
||||
|
||||
import os
|
||||
import unittest
|
||||
|
||||
import numpy as np
|
||||
|
||||
from paddle.dataset import image
|
||||
|
||||
__all__ = []
|
||||
|
||||
|
||||
class Image(unittest.TestCase):
|
||||
"""
|
||||
This function is test image resize,flip and chw.
|
||||
"""
|
||||
|
||||
def test_resize_flip_chw(self):
|
||||
"""resize"""
|
||||
img_dir = os.path.join(
|
||||
os.path.dirname(os.path.abspath(__file__)), 'cat.jpg'
|
||||
)
|
||||
images = image.load_image(img_dir)
|
||||
images = image.resize_short(images, 256)
|
||||
self.assertEqual(256, min(images.shape[:2]))
|
||||
self.assertEqual(3, images.shape[2])
|
||||
|
||||
# flip
|
||||
images = image.left_right_flip(images)
|
||||
images2 = np.flip(images, 1)
|
||||
self.assertEqual(images.all(), images2.all())
|
||||
|
||||
# to_chw
|
||||
height, width, channel = images.shape
|
||||
images = image.to_chw(images)
|
||||
self.assertEqual(channel, images.shape[0])
|
||||
self.assertEqual(height, images.shape[1])
|
||||
self.assertEqual(width, images.shape[2])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,45 @@
|
||||
# Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import unittest
|
||||
|
||||
import paddle.dataset.voc2012
|
||||
|
||||
__all__ = []
|
||||
|
||||
|
||||
class TestVOC(unittest.TestCase):
|
||||
def check_reader(self, reader):
|
||||
sum = 0
|
||||
label = 0
|
||||
for l in reader():
|
||||
self.assertEqual(l[0].size, 3 * l[1].size)
|
||||
sum += 1
|
||||
return sum
|
||||
|
||||
def test_train(self):
|
||||
count = self.check_reader(paddle.dataset.voc_seg.train())
|
||||
self.assertEqual(count, 2913)
|
||||
|
||||
def test_test(self):
|
||||
count = self.check_reader(paddle.dataset.voc_seg.test())
|
||||
self.assertEqual(count, 1464)
|
||||
|
||||
def test_val(self):
|
||||
count = self.check_reader(paddle.dataset.voc_seg.val())
|
||||
self.assertEqual(count, 1449)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,76 @@
|
||||
# Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import unittest
|
||||
|
||||
import paddle.dataset.wmt16
|
||||
|
||||
__all__ = []
|
||||
|
||||
|
||||
class TestWMT16(unittest.TestCase):
|
||||
def checkout_one_sample(self, sample):
|
||||
# train data has 3 field: source language word indices,
|
||||
# target language word indices, and target next word indices.
|
||||
self.assertEqual(len(sample), 3)
|
||||
|
||||
# test start mark and end mark in source word indices.
|
||||
self.assertEqual(sample[0][0], 0)
|
||||
self.assertEqual(sample[0][-1], 1)
|
||||
|
||||
# test start mask in target word indices
|
||||
self.assertEqual(sample[1][0], 0)
|
||||
|
||||
# test en mask in target next word indices
|
||||
self.assertEqual(sample[2][-1], 1)
|
||||
|
||||
def test_train(self):
|
||||
for idx, sample in enumerate(
|
||||
paddle.dataset.wmt16.train(
|
||||
src_dict_size=100000, trg_dict_size=100000
|
||||
)()
|
||||
):
|
||||
if idx >= 10:
|
||||
break
|
||||
self.checkout_one_sample(sample)
|
||||
|
||||
def test_test(self):
|
||||
for idx, sample in enumerate(
|
||||
paddle.dataset.wmt16.test(src_dict_size=1000, trg_dict_size=1000)()
|
||||
):
|
||||
if idx >= 10:
|
||||
break
|
||||
self.checkout_one_sample(sample)
|
||||
|
||||
def test_val(self):
|
||||
for idx, sample in enumerate(
|
||||
paddle.dataset.wmt16.validation(
|
||||
src_dict_size=1000, trg_dict_size=1000
|
||||
)()
|
||||
):
|
||||
if idx >= 10:
|
||||
break
|
||||
self.checkout_one_sample(sample)
|
||||
|
||||
def test_get_dict(self):
|
||||
dict_size = 1000
|
||||
word_dict = paddle.dataset.wmt16.get_dict("en", dict_size, True)
|
||||
self.assertEqual(len(word_dict), dict_size)
|
||||
self.assertEqual(word_dict[0], "<s>")
|
||||
self.assertEqual(word_dict[1], "<e>")
|
||||
self.assertEqual(word_dict[2], "<unk>")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user