Repository: incubator-singa Updated Branches: refs/heads/master 8cf18e5b0 -> 80555151a
update docs for image_tool.py and data.py Project: http://git-wip-us.apache.org/repos/asf/incubator-singa/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-singa/commit/80555151 Tree: http://git-wip-us.apache.org/repos/asf/incubator-singa/tree/80555151 Diff: http://git-wip-us.apache.org/repos/asf/incubator-singa/diff/80555151 Branch: refs/heads/master Commit: 80555151a272ea4b73a09901fa144590ec80f4da Parents: 8cf18e5 Author: Wei Wang <[email protected]> Authored: Fri Oct 7 11:53:26 2016 +0800 Committer: Wei Wang <[email protected]> Committed: Fri Oct 7 11:53:26 2016 +0800 ---------------------------------------------------------------------- doc/en/docs/data.rst | 25 +++++++++++++++++++++++++ doc/en/docs/image_tool.rst | 23 +++++++++++++++++++++++ doc/en/docs/index.rst | 2 ++ python/singa/data.py | 33 ++++++++++++++++++++++++++++++++- python/singa/image_tool.py | 15 ++++++++++++++- 5 files changed, 96 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/80555151/doc/en/docs/data.rst ---------------------------------------------------------------------- diff --git a/doc/en/docs/data.rst b/doc/en/docs/data.rst new file mode 100644 index 0000000..d495dfd --- /dev/null +++ b/doc/en/docs/data.rst @@ -0,0 +1,25 @@ +.. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you 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. + + +Data +======== + + + +.. automodule:: singa.data + :members: http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/80555151/doc/en/docs/image_tool.rst ---------------------------------------------------------------------- diff --git a/doc/en/docs/image_tool.rst b/doc/en/docs/image_tool.rst new file mode 100644 index 0000000..764f036 --- /dev/null +++ b/doc/en/docs/image_tool.rst @@ -0,0 +1,23 @@ +.. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you 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. + + +Image Tool +========== + +.. automodule:: singa.image_tool + :members: http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/80555151/doc/en/docs/index.rst ---------------------------------------------------------------------- diff --git a/doc/en/docs/index.rst b/doc/en/docs/index.rst index d6d7516..29417d6 100644 --- a/doc/en/docs/index.rst +++ b/doc/en/docs/index.rst @@ -30,4 +30,6 @@ Documentation loss metric optimizer + data + image_tool examples/index http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/80555151/python/singa/data.py ---------------------------------------------------------------------- diff --git a/python/singa/data.py b/python/singa/data.py index 725b175..f9f6c78 100644 --- a/python/singa/data.py +++ b/python/singa/data.py @@ -16,7 +16,38 @@ # specific language governing permissions and limitations # under the License. # -'''Utilities for data loading and preprocessing''' +''' +This module includes classes for loading and prefetching data batches. + +Example usage:: + + import image_tool + from PIL import Image + + tool = image_tool.ImageTool() + + def image_transform(img_path): + global tool + return tool.load(img_path).resize_by_range( + (112, 128)).random_crop( + (96, 96)).flip().get() + + data = ImageBatchIter('train.txt', 3, + image_transform, shuffle=True, delimeter=',', + image_folder='images/', + capacity=10) + data.start() + # imgs is a numpy array for a batch of images, + # shape: batch_size, 3 (RGB), height, width + imgs, labels = data.next() + + # convert numpy array back into images + for idx in range(imgs.shape[0]): + img = Image.fromarray(imgs[idx].astype(np.uint8).transpose(1, 2, 0), + 'RGB') + img.save('img%d.png' % idx) + data.end() +''' import os import random http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/80555151/python/singa/image_tool.py ---------------------------------------------------------------------- diff --git a/python/singa/image_tool.py b/python/singa/image_tool.py index 9c1741d..42fbf09 100644 --- a/python/singa/image_tool.py +++ b/python/singa/image_tool.py @@ -14,6 +14,20 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================= +''' +An utility model for image augmentation. + +Example usage:: + + from singa import image_tool + + tool = image_tool.ImageTool() + imgs = tool.load('input.png').\ + resize_by_list([112]).crop5((96, 96), 5).enhance().flip().get() + for idx, img in enumerate(imgs): + img.save('%d.png' % idx) + +''' import random import numpy as np @@ -246,7 +260,6 @@ class ImageTool(): else: return new_imgs - def rotate_by_range(self, rng, inplace=True): ''' Args:
