diff --git a/.zenodo.json b/.zenodo.json new file mode 100644 index 0000000..65746fe --- /dev/null +++ b/.zenodo.json @@ -0,0 +1,61 @@ +{ + "upload_type": "software", + "title": "DT_SegNet", + "creators": [ + { + "name": "Xia, Zeyu", + "affiliation": "Queensland University of Technology", + "orcid": "0000-0003-0234-5857" + }, + { + "name": "Ma, Kan", + "affiliation": "University of Birmingham", + "orcid": "0000-0001-5729-5477" + }, + { + "name": "Cheng, Sibo", + "affiliation": "Imperial College London", + "orcid": "0000-0002-8707-2589" + }, + { + "name": "Blackburn, Thomas", + "affiliation": "University of Birmingham", + "orcid": "0000-0001-9160-3285" + }, + { + "name": "Peng, Ziling", + "affiliation": "Institute of Advanced Science Facilities" + }, + { + "name": "Zhu, Kewei", + "affiliation": "University of York" + }, + { + "name": "Zhang, Weihang", + "affiliation": "Imperial College London" + }, + { + "name": "Xiao, Dunhui", + "affiliation": "Tongji University" + }, + { + "name": "Knowles, Alexander J", + "affiliation": "University of Birmingham" + }, + { + "name": "Arcucci, Rossella", + "affiliation": "Imperial College London" + } + ], + "description": "A comprehensive, two-tiered deep learning approach designed for precise object detection and segmentation in electron microscopy (EM) images.", + "access_right": "open", + "license": "mit", + "related_identifiers": [ + { + "scheme": "doi", + "identifier": "10.1039/D3CP00402C", + "relation": "isSupplementTo", + "resource_type": "article" + } + ] +} diff --git a/0_Labelling_Tools/0_EISeg/eiseg/inference/predictor/base.py b/0_Labelling_Tools/0_EISeg/eiseg/inference/predictor/base.py index a7f8aa6..1eba0bf 100644 --- a/0_Labelling_Tools/0_EISeg/eiseg/inference/predictor/base.py +++ b/0_Labelling_Tools/0_EISeg/eiseg/inference/predictor/base.py @@ -243,7 +243,7 @@ def split_points_by_order(tpoints, groups): (bs, 2 * x, 3), -1, dtype=np.float32) for x in groups ] - last_point_indx_group = np.zeros((bs, num_groups, 2), dtype=np.int) + last_point_indx_group = np.zeros((bs, num_groups, 2), dtype=np.int32) for group_indx, group_size in enumerate(groups): last_point_indx_group[:, group_indx, 1] = group_size diff --git a/1_Detection_Model/requirements.txt b/1_Detection_Model/requirements.txt index 459616b..dc18f9c 100644 --- a/1_Detection_Model/requirements.txt +++ b/1_Detection_Model/requirements.txt @@ -11,8 +11,8 @@ requests>=2.23.0 scipy>=1.4.1 torch>=1.7.0 torchvision>=0.8.1 -tqdm -protobuf<=3.20.1 # https://github.com/ultralytics/yolov5/issues/8012 +tqdm>=4.64.0 +# protobuf<=3.20.1 # https://github.com/ultralytics/yolov5/issues/8012 # Logging ------------------------------------- tensorboard>=2.4.1 diff --git a/1_Detection_Model/utils/dataloaders.py b/1_Detection_Model/utils/dataloaders.py index 2c04040..b749e8c 100644 --- a/1_Detection_Model/utils/dataloaders.py +++ b/1_Detection_Model/utils/dataloaders.py @@ -484,7 +484,7 @@ def __init__(self, self.im_files = list(cache.keys()) # update self.label_files = img2label_paths(cache.keys()) # update n = len(shapes) # number of images - bi = np.floor(np.arange(n) / batch_size).astype(np.int) # batch index + bi = np.floor(np.arange(n) / batch_size).astype(np.int32) # batch index nb = bi[-1] + 1 # number of batches self.batch = bi # batch index of image self.n = n @@ -526,7 +526,7 @@ def __init__(self, elif mini > 1: shapes[i] = [1, 1 / mini] - self.batch_shapes = np.ceil(np.array(shapes) * img_size / stride + pad).astype(np.int) * stride + self.batch_shapes = np.ceil(np.array(shapes) * img_size / stride + pad).astype(np.int32) * stride # Cache images into RAM/disk for faster training (WARNING: large datasets may exceed system resources) self.ims = [None] * n @@ -896,7 +896,7 @@ def extract_boxes(path=DATASETS_DIR / 'coco128'): # from utils.dataloaders impo b = x[1:] * [w, h, w, h] # box # b[2:] = b[2:].max() # rectangle to square b[2:] = b[2:] * 1.2 + 3 # pad - b = xywh2xyxy(b.reshape(-1, 4)).ravel().astype(np.int) + b = xywh2xyxy(b.reshape(-1, 4)).ravel().astype(np.int32) b[[0, 2]] = np.clip(b[[0, 2]], 0, w) # clip boxes outside of image b[[1, 3]] = np.clip(b[[1, 3]], 0, h) diff --git a/3_Segmentation_Model/requirements.txt b/3_Segmentation_Model/requirements.txt index 069bf40..5111b7e 100644 --- a/3_Segmentation_Model/requirements.txt +++ b/3_Segmentation_Model/requirements.txt @@ -5,4 +5,4 @@ tqdm filelock scipy prettytable -sklearn == 0.0 +scikit-learn diff --git a/Inference_Colab.ipynb b/Inference_Colab.ipynb index 144ebd8..34a87c9 100644 --- a/Inference_Colab.ipynb +++ b/Inference_Colab.ipynb @@ -4,7 +4,8 @@ "metadata": { "colab": { "provenance": [], - "gpuType": "A100" + "gpuType": "T4", + "toc_visible": true }, "kernelspec": { "name": "python3", @@ -14,150 +15,34 @@ "name": "python" }, "accelerator": "GPU", - "gpuClass": "standard", "widgets": { "application/vnd.jupyter.widget-state+json": { - "dca9f660db3f477cbd9f24522b063081": { + "7f3adc7c663f4867a92f9c64ea33c037": { "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", + "model_name": "DropdownModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_4d850615fdd1435f88b8d3b93cad4e76", - "IPY_MODEL_8141f49b055b4c5a8a10cba89222c740", - "IPY_MODEL_23696f632c634aae87190b3f347b8366" + "_model_name": "DropdownModel", + "_options_labels": [ + "exp", + "---" ], - "layout": "IPY_MODEL_68dc78d1cef4474595b88ce788df7c36" - } - }, - "4d850615fdd1435f88b8d3b93cad4e76": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_a105f44719894debbbc55c8a06a8ba44", - "placeholder": "​", - "style": "IPY_MODEL_189c66aaac6f4dc09a55f7211f3a3ed6", - "value": "100%" - } - }, - "8141f49b055b4c5a8a10cba89222c740": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_d88d70ea8b274d25837973083059af46", - "max": 81, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_f40becf59f654087a5177584c08eaca7", - "value": 81 - } - }, - "23696f632c634aae87190b3f347b8366": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", + "_view_name": "DropdownView", + "description": "choose exp:", "description_tooltip": null, - "layout": "IPY_MODEL_45f7396c5d57461b9f2665b942bcdc9d", - "placeholder": "​", - "style": "IPY_MODEL_f419d8528f2043b796834cabc1c1a107", - "value": " 81/81 [00:00<00:00, 1505.21it/s]" - } - }, - "68dc78d1cef4474595b88ce788df7c36": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null + "disabled": false, + "index": 0, + "layout": "IPY_MODEL_f8484f4fe6cd48cfbcd6f254c22a16d0", + "style": "IPY_MODEL_24f6487a623a4dea86616d8293760582" } }, - "a105f44719894debbbc55c8a06a8ba44": { + "f8484f4fe6cd48cfbcd6f254c22a16d0": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -209,7 +94,7 @@ "width": null } }, - "189c66aaac6f4dc09a55f7211f3a3ed6": { + "24f6487a623a4dea86616d8293760582": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -224,7 +109,25 @@ "description_width": "" } }, - "d88d70ea8b274d25837973083059af46": { + "1a98617340fc4b53a1d07fda534ed688": { + "model_module": "@jupyter-widgets/output", + "model_name": "OutputModel", + "model_module_version": "1.0.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_91e3986c553b4afda68d9cd0c4febb04", + "msg_id": "", + "outputs": [] + } + }, + "91e3986c553b4afda68d9cd0c4febb04": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -276,23 +179,29 @@ "width": null } }, - "f40becf59f654087a5177584c08eaca7": { + "a17c531f83ad4bd983d405ee30f7d7ec": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", + "model_name": "ButtonModel", "model_module_version": "1.5.0", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", + "_model_name": "ButtonModel", "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ButtonView", + "button_style": "success", + "description": "Download", + "disabled": false, + "icon": "download", + "layout": "IPY_MODEL_31084feb284e4de3ac241d713adaa790", + "style": "IPY_MODEL_8c9621297ec44228b04b71154bbddd01", + "tooltip": "Download the prediction result of selected exp." } }, - "45f7396c5d57461b9f2665b942bcdc9d": { + "31084feb284e4de3ac241d713adaa790": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -344,22 +253,23 @@ "width": null } }, - "f419d8528f2043b796834cabc1c1a107": { + "8c9621297ec44228b04b71154bbddd01": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", + "model_name": "ButtonStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", + "_model_name": "ButtonStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", - "description_width": "" + "button_color": null, + "font_weight": "" } }, - "9cc4e6e85b2b469aaa15142f39702486": { + "0163aba0038b48649f144b25951d0a4c": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", @@ -374,14 +284,14 @@ "_view_name": "HBoxView", "box_style": "", "children": [ - "IPY_MODEL_ee243ec8e5af4b6f90f4e03f97fdda3e", - "IPY_MODEL_60befbbeaea142749e0a1f3c225aff50", - "IPY_MODEL_206c6ff2f7e84b2890e7241882708f75" + "IPY_MODEL_80ff9b6de1f843aeb38e9ae26a587297", + "IPY_MODEL_2763685fdccb496dac5e598861c9891a", + "IPY_MODEL_0ec65554c8ad4543b47f1ca99291b23c" ], - "layout": "IPY_MODEL_0f2eed2289fd45d49f8f5746f345ab7a" + "layout": "IPY_MODEL_dd4f5fc4f5ac4c8eaaf36bdfd8f5b4d5" } }, - "ee243ec8e5af4b6f90f4e03f97fdda3e": { + "80ff9b6de1f843aeb38e9ae26a587297": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -396,13 +306,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_fd59dbf45a25485cb08a7033980575c8", + "layout": "IPY_MODEL_c419bf5d6e94449ca57519a41f9ad837", "placeholder": "​", - "style": "IPY_MODEL_5ebf18ef4c4c4cbc918eb40fb358d191", + "style": "IPY_MODEL_5708a0f94c9646f4b5a9f3d12c2c4a5a", "value": "100%" } }, - "60befbbeaea142749e0a1f3c225aff50": { + "2763685fdccb496dac5e598861c9891a": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", @@ -418,15 +328,15 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_d4b54be463874f728d365498fe443a8b", - "max": 78, + "layout": "IPY_MODEL_48a25e154b06462ba4c3144745109038", + "max": 330, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_b8a88e0773d04440869471940d969f2d", - "value": 78 + "style": "IPY_MODEL_7389f87bf72d4d6988c872c3038aa17f", + "value": 330 } }, - "206c6ff2f7e84b2890e7241882708f75": { + "0ec65554c8ad4543b47f1ca99291b23c": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -441,13 +351,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_e0adf85224104eb3a476fc07cb51a773", + "layout": "IPY_MODEL_8104ddecf3804734ac930a85a08a824f", "placeholder": "​", - "style": "IPY_MODEL_5e8bf2cf905e40ababde2d02a3b5a61a", - "value": " 78/78 [00:00<00:00, 1818.89it/s]" + "style": "IPY_MODEL_2f7d3b32af6e42858c491144bdfbd407", + "value": " 330/330 [00:00<00:00, 661.78it/s]" } }, - "0f2eed2289fd45d49f8f5746f345ab7a": { + "dd4f5fc4f5ac4c8eaaf36bdfd8f5b4d5": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -499,7 +409,7 @@ "width": null } }, - "fd59dbf45a25485cb08a7033980575c8": { + "c419bf5d6e94449ca57519a41f9ad837": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -551,7 +461,7 @@ "width": null } }, - "5ebf18ef4c4c4cbc918eb40fb358d191": { + "5708a0f94c9646f4b5a9f3d12c2c4a5a": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -566,7 +476,7 @@ "description_width": "" } }, - "d4b54be463874f728d365498fe443a8b": { + "48a25e154b06462ba4c3144745109038": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -618,7 +528,7 @@ "width": null } }, - "b8a88e0773d04440869471940d969f2d": { + "7389f87bf72d4d6988c872c3038aa17f": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", @@ -634,7 +544,7 @@ "description_width": "" } }, - "e0adf85224104eb3a476fc07cb51a773": { + "8104ddecf3804734ac930a85a08a824f": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -686,7 +596,7 @@ "width": null } }, - "5e8bf2cf905e40ababde2d02a3b5a61a": { + "2f7d3b32af6e42858c491144bdfbd407": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -701,7 +611,7 @@ "description_width": "" } }, - "e519b0634ad24dcab7ad4ba8bc68462d": { + "925aaca7345f469b8d85b7632af75283": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", @@ -716,14 +626,14 @@ "_view_name": "HBoxView", "box_style": "", "children": [ - "IPY_MODEL_234ae19e1d634c5387c8d9b0cf2820ac", - "IPY_MODEL_12a1e5767b5745ef9fa883b2878d3464", - "IPY_MODEL_16602e22f00f49678e84f8f1a0c00028" + "IPY_MODEL_8a09dba6a1f244289194dbc8c4ac9515", + "IPY_MODEL_fc1ff1898fa44ceead5675ad74aa98f9", + "IPY_MODEL_7f601c63c7bb4b69936b1f37aaf4a3d5" ], - "layout": "IPY_MODEL_7acaf757f1e8455f96aac94c1788f363" + "layout": "IPY_MODEL_e69fa23c271a46649bf555c078106c40" } }, - "234ae19e1d634c5387c8d9b0cf2820ac": { + "8a09dba6a1f244289194dbc8c4ac9515": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -738,13 +648,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_9ac8792d49a34b3da649447516b0c52d", + "layout": "IPY_MODEL_0c4d1c1342a64f9684dd47fe76d3fd0a", "placeholder": "​", - "style": "IPY_MODEL_ced90dab687847d29275acefe6531052", + "style": "IPY_MODEL_52c904afc762446b9a5728b4c023fefd", "value": "100%" } }, - "12a1e5767b5745ef9fa883b2878d3464": { + "fc1ff1898fa44ceead5675ad74aa98f9": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", @@ -760,15 +670,15 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_521755383f1744049e677f4d9502d03c", - "max": 50, + "layout": "IPY_MODEL_67fed026a1fd427abaf0220de01446c1", + "max": 331, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_797cb43599c145c1ad48ef769adffbc1", - "value": 50 + "style": "IPY_MODEL_e6ab335118a648ef875757fb6763331c", + "value": 331 } }, - "16602e22f00f49678e84f8f1a0c00028": { + "7f601c63c7bb4b69936b1f37aaf4a3d5": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -783,13 +693,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_ae99a62fb6794462aad64e04d6979530", + "layout": "IPY_MODEL_33e37f94ae09486e925999690925856d", "placeholder": "​", - "style": "IPY_MODEL_617655ac72c0499ea2188c18635a3345", - "value": " 50/50 [00:00<00:00, 1437.51it/s]" + "style": "IPY_MODEL_4dfa0c396d474662ab18370da70c8210", + "value": " 331/331 [00:00<00:00, 815.23it/s]" } }, - "7acaf757f1e8455f96aac94c1788f363": { + "e69fa23c271a46649bf555c078106c40": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -841,7 +751,7 @@ "width": null } }, - "9ac8792d49a34b3da649447516b0c52d": { + "0c4d1c1342a64f9684dd47fe76d3fd0a": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -893,7 +803,7 @@ "width": null } }, - "ced90dab687847d29275acefe6531052": { + "52c904afc762446b9a5728b4c023fefd": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -908,7 +818,7 @@ "description_width": "" } }, - "521755383f1744049e677f4d9502d03c": { + "67fed026a1fd427abaf0220de01446c1": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -960,7 +870,7 @@ "width": null } }, - "797cb43599c145c1ad48ef769adffbc1": { + "e6ab335118a648ef875757fb6763331c": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", @@ -976,7 +886,7 @@ "description_width": "" } }, - "ae99a62fb6794462aad64e04d6979530": { + "33e37f94ae09486e925999690925856d": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -1028,7 +938,7 @@ "width": null } }, - "617655ac72c0499ea2188c18635a3345": { + "4dfa0c396d474662ab18370da70c8210": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -1043,7 +953,7 @@ "description_width": "" } }, - "55a94806961143b29c48e52add2c24c2": { + "dd88fbcd81354066adf94ee948952af1": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", @@ -1058,14 +968,14 @@ "_view_name": "HBoxView", "box_style": "", "children": [ - "IPY_MODEL_4878a209dd514b9c831644722985a518", - "IPY_MODEL_25f27a8c568b495da8e7f121e82559fa", - "IPY_MODEL_c2210f4b9f094c8ba6be526023eb8350" + "IPY_MODEL_3edb310dfb684f41b147ad074503f09a", + "IPY_MODEL_0b4cea92df5848238216e07fecff4567", + "IPY_MODEL_aa6945daaa7a4e73a1e0b4ffdc6e7b95" ], - "layout": "IPY_MODEL_43695113e645488f95b51d6427fe6295" + "layout": "IPY_MODEL_721dbf3dbd2547c6af08746bc31e8ab3" } }, - "4878a209dd514b9c831644722985a518": { + "3edb310dfb684f41b147ad074503f09a": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -1080,13 +990,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_5e0a54791086477e93fc9b02f6e4ee05", + "layout": "IPY_MODEL_f6eef9d5907a47cdba241c1ef742dc79", "placeholder": "​", - "style": "IPY_MODEL_09fd88e138d245768eac6ead1a1cd6b6", + "style": "IPY_MODEL_2ed88e0f0cce455da8937da2f747df15", "value": "100%" } }, - "25f27a8c568b495da8e7f121e82559fa": { + "0b4cea92df5848238216e07fecff4567": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", @@ -1102,15 +1012,15 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_19a7a0725652487c83d73707a2b684b6", - "max": 82, + "layout": "IPY_MODEL_757d6a683a5c4e0ca63277bbd8e4142f", + "max": 50, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_2f5606d523da4c46b0823b77e3ea326a", - "value": 82 + "style": "IPY_MODEL_c2f3dd701108492fac11d2b88310b8b6", + "value": 50 } }, - "c2210f4b9f094c8ba6be526023eb8350": { + "aa6945daaa7a4e73a1e0b4ffdc6e7b95": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -1125,13 +1035,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_8227a45317274b2cb548f788643cc486", + "layout": "IPY_MODEL_11c7ca4eba4040a8aa00cbaca04b8f8d", "placeholder": "​", - "style": "IPY_MODEL_91a976064fc243f8bca14da6cb6cae1a", - "value": " 82/82 [00:00<00:00, 1011.55it/s]" + "style": "IPY_MODEL_5f8271c583f444b9b572c821968fe731", + "value": " 50/50 [00:00<00:00, 1099.47it/s]" } }, - "43695113e645488f95b51d6427fe6295": { + "721dbf3dbd2547c6af08746bc31e8ab3": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -1183,7 +1093,7 @@ "width": null } }, - "5e0a54791086477e93fc9b02f6e4ee05": { + "f6eef9d5907a47cdba241c1ef742dc79": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -1235,7 +1145,7 @@ "width": null } }, - "09fd88e138d245768eac6ead1a1cd6b6": { + "2ed88e0f0cce455da8937da2f747df15": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -1250,7 +1160,7 @@ "description_width": "" } }, - "19a7a0725652487c83d73707a2b684b6": { + "757d6a683a5c4e0ca63277bbd8e4142f": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -1302,7 +1212,7 @@ "width": null } }, - "2f5606d523da4c46b0823b77e3ea326a": { + "c2f3dd701108492fac11d2b88310b8b6": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", @@ -1318,7 +1228,7 @@ "description_width": "" } }, - "8227a45317274b2cb548f788643cc486": { + "11c7ca4eba4040a8aa00cbaca04b8f8d": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -1370,7 +1280,7 @@ "width": null } }, - "91a976064fc243f8bca14da6cb6cae1a": { + "5f8271c583f444b9b572c821968fe731": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -1385,7 +1295,7 @@ "description_width": "" } }, - "4596097f612044348281067ff6f3c456": { + "39e108fcf5e4441aa4b3fd06c8fb89f5": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", @@ -1400,14 +1310,14 @@ "_view_name": "HBoxView", "box_style": "", "children": [ - "IPY_MODEL_88661e6969154f30882522d3cb9b3a40", - "IPY_MODEL_04f22fd975b742299995afd3d9a683c7", - "IPY_MODEL_9608abd07ea34fc0b8e8428e7ccb091d" + "IPY_MODEL_849d3296a312496cad34cb12ee83cb82", + "IPY_MODEL_2ee46d077be546f5886b00c76ac9a0c6", + "IPY_MODEL_157af447ca374afca3cf876c73f30316" ], - "layout": "IPY_MODEL_70925c680ae642e980eb9a71d5c4a36a" + "layout": "IPY_MODEL_92e82024d865430085a0d7efe29c7ef7" } }, - "88661e6969154f30882522d3cb9b3a40": { + "849d3296a312496cad34cb12ee83cb82": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -1422,13 +1332,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_5226eacdeae24c0194b85977661f6256", + "layout": "IPY_MODEL_82e0217bdc954a1b81dd9add7be86223", "placeholder": "​", - "style": "IPY_MODEL_7f7e196e2d5d449f890f55a839651c5b", + "style": "IPY_MODEL_7f713bc000d842f1aaa6b93292d37a6b", "value": "100%" } }, - "04f22fd975b742299995afd3d9a683c7": { + "2ee46d077be546f5886b00c76ac9a0c6": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", @@ -1444,15 +1354,15 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_b6da37029308403fa249d47beddfd66a", - "max": 47, + "layout": "IPY_MODEL_c27a40e00363401bb789aafc8c0ad7c9", + "max": 331, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_f8bf86793ef6437ea42bdc969a02deb4", - "value": 47 + "style": "IPY_MODEL_e35eb119c1684da3896d8fc5369e2c8c", + "value": 331 } }, - "9608abd07ea34fc0b8e8428e7ccb091d": { + "157af447ca374afca3cf876c73f30316": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -1467,13 +1377,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_fdfda7d46437416885ff896478e37923", + "layout": "IPY_MODEL_37a3d84a91f34c288595577d3c59bc68", "placeholder": "​", - "style": "IPY_MODEL_e6df75db99974fb1a5f06e71c33c48ae", - "value": " 47/47 [00:00<00:00, 459.49it/s]" + "style": "IPY_MODEL_67c1dc186d7e4cd591bff700c42c294b", + "value": " 331/331 [00:00<00:00, 671.80it/s]" } }, - "70925c680ae642e980eb9a71d5c4a36a": { + "92e82024d865430085a0d7efe29c7ef7": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -1525,7 +1435,7 @@ "width": null } }, - "5226eacdeae24c0194b85977661f6256": { + "82e0217bdc954a1b81dd9add7be86223": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -1577,7 +1487,7 @@ "width": null } }, - "7f7e196e2d5d449f890f55a839651c5b": { + "7f713bc000d842f1aaa6b93292d37a6b": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -1592,7 +1502,7 @@ "description_width": "" } }, - "b6da37029308403fa249d47beddfd66a": { + "c27a40e00363401bb789aafc8c0ad7c9": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -1644,7 +1554,7 @@ "width": null } }, - "f8bf86793ef6437ea42bdc969a02deb4": { + "e35eb119c1684da3896d8fc5369e2c8c": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", @@ -1660,7 +1570,7 @@ "description_width": "" } }, - "fdfda7d46437416885ff896478e37923": { + "37a3d84a91f34c288595577d3c59bc68": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -1712,7 +1622,7 @@ "width": null } }, - "e6df75db99974fb1a5f06e71c33c48ae": { + "67c1dc186d7e4cd591bff700c42c294b": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -1727,7 +1637,7 @@ "description_width": "" } }, - "b725695439724ede91a27024e4f2d159": { + "257b361d18e64d95bb151b7bd13133be": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", @@ -1742,14 +1652,14 @@ "_view_name": "HBoxView", "box_style": "", "children": [ - "IPY_MODEL_a6711f98de8740b1a86361f5664e9ca6", - "IPY_MODEL_a14af033b4fd49bc92f0709de3cd1c17", - "IPY_MODEL_79bb74d038be490fbd4d2aad6fc29710" + "IPY_MODEL_5fd03fc628504418bad80672ea3b2716", + "IPY_MODEL_392c109b8cb449e896d8ac8ee65c49ac", + "IPY_MODEL_6917705c977e4672a07e21f3a29d27fd" ], - "layout": "IPY_MODEL_169b910dcde64233ac52cf4cbcb85824" + "layout": "IPY_MODEL_74b3fa4dd6c14746bcdb3475c7f75049" } }, - "a6711f98de8740b1a86361f5664e9ca6": { + "5fd03fc628504418bad80672ea3b2716": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -1764,13 +1674,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_19a07694302846b4901c30e18c1054b6", + "layout": "IPY_MODEL_15bc1a8a08c54dc7a0fb7747e38890eb", "placeholder": "​", - "style": "IPY_MODEL_83b5ee68ac1c4ccf8a91549e1b5c5b81", + "style": "IPY_MODEL_e0d30b06a4f642f39330051b018a1653", "value": "100%" } }, - "a14af033b4fd49bc92f0709de3cd1c17": { + "392c109b8cb449e896d8ac8ee65c49ac": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", @@ -1786,15 +1696,15 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_e37b81eb43a8476d8c8244c4a0399661", - "max": 81, + "layout": "IPY_MODEL_3d2e699297ae4420a996864ca228c732", + "max": 330, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_f89b72d3d4e74ba7825e05ff1f105184", - "value": 81 + "style": "IPY_MODEL_f3c6eba99ad744c98cbd610dffd45252", + "value": 330 } }, - "79bb74d038be490fbd4d2aad6fc29710": { + "6917705c977e4672a07e21f3a29d27fd": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -1809,13 +1719,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_043cdc1bddec4488ba877aaa08eb77ea", + "layout": "IPY_MODEL_76d4d0f9c76c4baa85e2440fe65ea2fa", "placeholder": "​", - "style": "IPY_MODEL_661384fa4a7a46159df2beb713e209bd", - "value": " 81/81 [00:00<00:00, 285.57it/s]" + "style": "IPY_MODEL_95c79b639688458fb1c33892b59dd5d1", + "value": " 330/330 [00:11<00:00, 15.56it/s]" } }, - "169b910dcde64233ac52cf4cbcb85824": { + "74b3fa4dd6c14746bcdb3475c7f75049": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -1867,7 +1777,7 @@ "width": null } }, - "19a07694302846b4901c30e18c1054b6": { + "15bc1a8a08c54dc7a0fb7747e38890eb": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -1919,7 +1829,7 @@ "width": null } }, - "83b5ee68ac1c4ccf8a91549e1b5c5b81": { + "e0d30b06a4f642f39330051b018a1653": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -1934,7 +1844,7 @@ "description_width": "" } }, - "e37b81eb43a8476d8c8244c4a0399661": { + "3d2e699297ae4420a996864ca228c732": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -1986,7 +1896,7 @@ "width": null } }, - "f89b72d3d4e74ba7825e05ff1f105184": { + "f3c6eba99ad744c98cbd610dffd45252": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", @@ -2002,7 +1912,7 @@ "description_width": "" } }, - "043cdc1bddec4488ba877aaa08eb77ea": { + "76d4d0f9c76c4baa85e2440fe65ea2fa": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -2054,7 +1964,7 @@ "width": null } }, - "661384fa4a7a46159df2beb713e209bd": { + "95c79b639688458fb1c33892b59dd5d1": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -2069,7 +1979,7 @@ "description_width": "" } }, - "ad408ddade5e4653a0cfbcb35e715b10": { + "30b72c9aff62484fa78984ccc6ee47fd": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", @@ -2084,14 +1994,14 @@ "_view_name": "HBoxView", "box_style": "", "children": [ - "IPY_MODEL_6fe6717274464f4e9960b9f68c69335d", - "IPY_MODEL_568a92aa8745410bb06faa12891a66d5", - "IPY_MODEL_3f3b62ab122e4740a6cb417c4598ab04" + "IPY_MODEL_10bbe8ded44b47a18391f19b71dd50ce", + "IPY_MODEL_349f7f2c097241d1904d82d078f04ea1", + "IPY_MODEL_e5e99397635540ba9df45a6e74a02fda" ], - "layout": "IPY_MODEL_41d229bf9ad345c285feb225a27d9b1e" + "layout": "IPY_MODEL_0ac8783a054e443b9d6b261ecedfc29c" } }, - "6fe6717274464f4e9960b9f68c69335d": { + "10bbe8ded44b47a18391f19b71dd50ce": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -2106,13 +2016,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_acc806ff762d4b22be7168d1e0b8805f", + "layout": "IPY_MODEL_5882806fa2374d1f96f9c8f029269ef9", "placeholder": "​", - "style": "IPY_MODEL_493856d02ac340fd86ddfb16d60d3356", + "style": "IPY_MODEL_8399dbf13b90464ea2927dcc7b5e7304", "value": "100%" } }, - "568a92aa8745410bb06faa12891a66d5": { + "349f7f2c097241d1904d82d078f04ea1": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", @@ -2128,15 +2038,15 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_aa380e531432466783d52db034dee84f", - "max": 78, + "layout": "IPY_MODEL_ed04b380745742ab9b7ed910b8f86f1a", + "max": 331, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_58f84eee23b24f6291d1f8241737f4bf", - "value": 78 + "style": "IPY_MODEL_7fd39fdb552243dabd88325c75f215c9", + "value": 331 } }, - "3f3b62ab122e4740a6cb417c4598ab04": { + "e5e99397635540ba9df45a6e74a02fda": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -2151,13 +2061,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_674343aba0c540339ee1c55a9c6602f8", + "layout": "IPY_MODEL_7913796308444913bfc568c314a4486d", "placeholder": "​", - "style": "IPY_MODEL_9dd036ee866a4988b59537656514f21c", - "value": " 78/78 [00:00<00:00, 570.38it/s]" + "style": "IPY_MODEL_235686d4bbf9400785d361edbf4503f5", + "value": " 331/331 [00:11<00:00, 15.62it/s]" } }, - "41d229bf9ad345c285feb225a27d9b1e": { + "0ac8783a054e443b9d6b261ecedfc29c": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -2209,7 +2119,7 @@ "width": null } }, - "acc806ff762d4b22be7168d1e0b8805f": { + "5882806fa2374d1f96f9c8f029269ef9": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -2261,7 +2171,7 @@ "width": null } }, - "493856d02ac340fd86ddfb16d60d3356": { + "8399dbf13b90464ea2927dcc7b5e7304": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -2276,7 +2186,7 @@ "description_width": "" } }, - "aa380e531432466783d52db034dee84f": { + "ed04b380745742ab9b7ed910b8f86f1a": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -2328,7 +2238,7 @@ "width": null } }, - "58f84eee23b24f6291d1f8241737f4bf": { + "7fd39fdb552243dabd88325c75f215c9": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", @@ -2344,7 +2254,7 @@ "description_width": "" } }, - "674343aba0c540339ee1c55a9c6602f8": { + "7913796308444913bfc568c314a4486d": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -2396,7 +2306,7 @@ "width": null } }, - "9dd036ee866a4988b59537656514f21c": { + "235686d4bbf9400785d361edbf4503f5": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -2411,7 +2321,7 @@ "description_width": "" } }, - "b4608f6f25ab42e4a514571159080227": { + "186ac2d946144456b355e782f6cbbf24": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", @@ -2426,14 +2336,14 @@ "_view_name": "HBoxView", "box_style": "", "children": [ - "IPY_MODEL_9c117a3c70a443a0ba01649aea398a17", - "IPY_MODEL_d29adb17bbba455ea65c87e97fd35b81", - "IPY_MODEL_d3f412ac68984b619c94e1f3be129140" + "IPY_MODEL_6c476539c91a47dbb0e194186968a528", + "IPY_MODEL_1865fbd6fd8b44e0b7aee39784c48e63", + "IPY_MODEL_52980f72254f4b5fbe07ce79f9e22321" ], - "layout": "IPY_MODEL_347ee821a6c84513aa16ee576aae4752" + "layout": "IPY_MODEL_48f39668f66c410394e2dba5b6790752" } }, - "9c117a3c70a443a0ba01649aea398a17": { + "6c476539c91a47dbb0e194186968a528": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -2448,13 +2358,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_c49b9abd317e4234899133a2c98b8d22", + "layout": "IPY_MODEL_8b358221a06645df8ecfad3b4e9693ed", "placeholder": "​", - "style": "IPY_MODEL_6b5c03ccc2e94e36b7f3dfb4725216fd", + "style": "IPY_MODEL_8213acbccb9f4277b1c27cd7d1f9c5ff", "value": "100%" } }, - "d29adb17bbba455ea65c87e97fd35b81": { + "1865fbd6fd8b44e0b7aee39784c48e63": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", @@ -2470,15 +2380,15 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_57f5426081384694af09214147a2fcfb", + "layout": "IPY_MODEL_a29c5570f1af445183fa1162258a995d", "max": 50, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_5d8cb3964b90466385f262a083e0ca76", + "style": "IPY_MODEL_329b5893dab2473fa402a3a0e97765af", "value": 50 } }, - "d3f412ac68984b619c94e1f3be129140": { + "52980f72254f4b5fbe07ce79f9e22321": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -2493,13 +2403,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_a02ed72d32424e1d986270ba590d4bd9", + "layout": "IPY_MODEL_73e6e003b15b4146a7b7a2287ed1f3a9", "placeholder": "​", - "style": "IPY_MODEL_40a1dc7efba6460daff668e1f87b4853", - "value": " 50/50 [00:00<00:00, 329.73it/s]" + "style": "IPY_MODEL_d7f7fcdc948d469c89361417363c2454", + "value": " 50/50 [00:00<00:00, 221.38it/s]" } }, - "347ee821a6c84513aa16ee576aae4752": { + "48f39668f66c410394e2dba5b6790752": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -2551,7 +2461,7 @@ "width": null } }, - "c49b9abd317e4234899133a2c98b8d22": { + "8b358221a06645df8ecfad3b4e9693ed": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -2603,7 +2513,7 @@ "width": null } }, - "6b5c03ccc2e94e36b7f3dfb4725216fd": { + "8213acbccb9f4277b1c27cd7d1f9c5ff": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -2618,7 +2528,7 @@ "description_width": "" } }, - "57f5426081384694af09214147a2fcfb": { + "a29c5570f1af445183fa1162258a995d": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -2670,7 +2580,7 @@ "width": null } }, - "5d8cb3964b90466385f262a083e0ca76": { + "329b5893dab2473fa402a3a0e97765af": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", @@ -2686,7 +2596,7 @@ "description_width": "" } }, - "a02ed72d32424e1d986270ba590d4bd9": { + "73e6e003b15b4146a7b7a2287ed1f3a9": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -2738,7 +2648,7 @@ "width": null } }, - "40a1dc7efba6460daff668e1f87b4853": { + "d7f7fcdc948d469c89361417363c2454": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -2753,7 +2663,7 @@ "description_width": "" } }, - "0d8a816133af4b14af21e33f70b671d2": { + "aa7d78730a8a4e51ad61579c5c7418a0": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", @@ -2768,14 +2678,14 @@ "_view_name": "HBoxView", "box_style": "", "children": [ - "IPY_MODEL_b43c8e853682459b9b3318c1abe7a4d3", - "IPY_MODEL_143820888e4642a5be8c6b4d58d0f0a4", - "IPY_MODEL_e83e8df175264ae0ab2877c2619f5074" + "IPY_MODEL_0e1b8d0b14e048818c9251ecb3ff614f", + "IPY_MODEL_52a17a5570604d3e8a3468c83fc562c9", + "IPY_MODEL_a2c9aba568fc452d8f32cba2c90fc853" ], - "layout": "IPY_MODEL_b2649153c4854a79be1f71b3f49786a7" + "layout": "IPY_MODEL_e1abb52a58ce47059ace994c37467031" } }, - "b43c8e853682459b9b3318c1abe7a4d3": { + "0e1b8d0b14e048818c9251ecb3ff614f": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -2790,13 +2700,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_c3a02b668233437684d3e8f2a706e9b5", + "layout": "IPY_MODEL_855e76cdb3724b70ab19a6c975fd0d3b", "placeholder": "​", - "style": "IPY_MODEL_5fb7fdaac213472f9dd4be2c68908dbb", + "style": "IPY_MODEL_d7969f258796499ab14568f6a5d2e7c2", "value": "100%" } }, - "143820888e4642a5be8c6b4d58d0f0a4": { + "52a17a5570604d3e8a3468c83fc562c9": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", @@ -2812,15 +2722,15 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_6b89678f007a41b1a4d229f81fbfcc41", - "max": 82, + "layout": "IPY_MODEL_da1d492c8d6e4ffc9a8e69ca53f22367", + "max": 331, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_779f4ba91db348b595830a447490d1f2", - "value": 82 + "style": "IPY_MODEL_7854c73923d24d3e86da528e4d622471", + "value": 331 } }, - "e83e8df175264ae0ab2877c2619f5074": { + "a2c9aba568fc452d8f32cba2c90fc853": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -2835,13 +2745,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_cfc3e19e1d7043de8a0be8102337defb", + "layout": "IPY_MODEL_a27dde0ed57c4479b4e73158a6d29b2f", "placeholder": "​", - "style": "IPY_MODEL_24a85f6f44c147bc910b2421dae2bf7c", - "value": " 82/82 [00:00<00:00, 117.95it/s]" + "style": "IPY_MODEL_4fbe36f4d50e4b52b0a7e042bd0e3582", + "value": " 331/331 [00:11<00:00, 14.75it/s]" } }, - "b2649153c4854a79be1f71b3f49786a7": { + "e1abb52a58ce47059ace994c37467031": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -2893,7 +2803,7 @@ "width": null } }, - "c3a02b668233437684d3e8f2a706e9b5": { + "855e76cdb3724b70ab19a6c975fd0d3b": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -2945,7 +2855,7 @@ "width": null } }, - "5fb7fdaac213472f9dd4be2c68908dbb": { + "d7969f258796499ab14568f6a5d2e7c2": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -2960,7 +2870,7 @@ "description_width": "" } }, - "6b89678f007a41b1a4d229f81fbfcc41": { + "da1d492c8d6e4ffc9a8e69ca53f22367": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -3012,7 +2922,7 @@ "width": null } }, - "779f4ba91db348b595830a447490d1f2": { + "7854c73923d24d3e86da528e4d622471": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", @@ -3028,7 +2938,7 @@ "description_width": "" } }, - "cfc3e19e1d7043de8a0be8102337defb": { + "a27dde0ed57c4479b4e73158a6d29b2f": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -3080,7 +2990,7 @@ "width": null } }, - "24a85f6f44c147bc910b2421dae2bf7c": { + "4fbe36f4d50e4b52b0a7e042bd0e3582": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -3095,147 +3005,32 @@ "description_width": "" } }, - "58987707f87745c0a4c8007a446e34d3": { + "90e5b9e846864964a0b563f4f26b9fab": { "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", + "model_name": "DropdownModel", "model_module_version": "1.5.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_25312aed419449ffad21e68e2695f846", - "IPY_MODEL_90c11b87e7fa4eaea42da4b8325ea47b", - "IPY_MODEL_f6c9d9faf6264b95ba73e5d5c4941ab3" + "_model_name": "DropdownModel", + "_options_labels": [ + "exp", + "---" ], - "layout": "IPY_MODEL_f7682499468546e2af0cab2f1a3ff457" - } - }, - "25312aed419449ffad21e68e2695f846": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_0a87772df7e94138b45c98fbfbad7daf", - "placeholder": "​", - "style": "IPY_MODEL_93ae1f38668843fa94d72561c1633b4c", - "value": "100%" - } - }, - "90c11b87e7fa4eaea42da4b8325ea47b": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_3fbec6b03e7a439396136ef43d9f0718", - "max": 47, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_36eb9cee099b43f4b46b7a3afa2c4bcd", - "value": 47 - } - }, - "f6c9d9faf6264b95ba73e5d5c4941ab3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", + "_view_name": "DropdownView", + "description": "choose exp:", "description_tooltip": null, - "layout": "IPY_MODEL_999d1422f4de4378bf9c96dbf3d6fee4", - "placeholder": "​", - "style": "IPY_MODEL_f86ecf344cda4ae28eefdc570ff75ee5", - "value": " 47/47 [00:01<00:00, 35.85it/s]" - } - }, - "f7682499468546e2af0cab2f1a3ff457": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null + "disabled": false, + "index": 0, + "layout": "IPY_MODEL_6f1a7497cb4a4765af07f97d6d466d93", + "style": "IPY_MODEL_7ab25c9d5c4949db8d7a4b444cf6727a" } }, - "0a87772df7e94138b45c98fbfbad7daf": { + "6f1a7497cb4a4765af07f97d6d466d93": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -3287,7 +3082,7 @@ "width": null } }, - "93ae1f38668843fa94d72561c1633b4c": { + "7ab25c9d5c4949db8d7a4b444cf6727a": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -3302,7 +3097,25 @@ "description_width": "" } }, - "3fbec6b03e7a439396136ef43d9f0718": { + "fe6f9d86e7ab4807beb86dda560e89d7": { + "model_module": "@jupyter-widgets/output", + "model_name": "OutputModel", + "model_module_version": "1.0.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_096407b180bf439f85eeb7f7cb9828e7", + "msg_id": "", + "outputs": [] + } + }, + "096407b180bf439f85eeb7f7cb9828e7": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -3354,23 +3167,29 @@ "width": null } }, - "36eb9cee099b43f4b46b7a3afa2c4bcd": { + "55525e5b455847f6b44ef6d897b8498f": { "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", + "model_name": "ButtonModel", "model_module_version": "1.5.0", "state": { + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", + "_model_name": "ButtonModel", "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ButtonView", + "button_style": "info", + "description": "Calculate", + "disabled": false, + "icon": "calculator", + "layout": "IPY_MODEL_0764c04d4d324b2ca54c4bbe25931297", + "style": "IPY_MODEL_01b3c6093dab449dad5a43ed391a469e", + "tooltip": "Calculate the total object count in selected exp." } }, - "999d1422f4de4378bf9c96dbf3d6fee4": { + "0764c04d4d324b2ca54c4bbe25931297": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -3422,19 +3241,20 @@ "width": null } }, - "f86ecf344cda4ae28eefdc570ff75ee5": { + "01b3c6093dab449dad5a43ed391a469e": { "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", + "model_name": "ButtonStyleModel", "model_module_version": "1.5.0", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", + "_model_name": "ButtonStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", - "description_width": "" + "button_color": null, + "font_weight": "" } } } @@ -3446,263 +3266,110 @@ "source": [ " # DT-SegNet\n", "\n", - " This notebook should be run in Google Colab" + " This notebook should be run in Google Colab. Tested at ver. 2024/03/06." ], "metadata": { "id": "MmMGZsrbTLyn" } }, { - "cell_type": "code", - "source": [ - "#@title Pull from GitHub\n", - "%cd /content\n", - "!git clone https://github.com/xiazeyu/DT_SegNet.git\n", - "%cd /content/DT_SegNet" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "mO7IlajDTSbG", - "outputId": "6d1b7c49-e02f-4454-8d94-299d0347e295" - }, - "execution_count": 1, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "/content\n", - "Cloning into 'DT_SegNet'...\n", - "remote: Enumerating objects: 792, done.\u001b[K\n", - "remote: Counting objects: 100% (154/154), done.\u001b[K\n", - "remote: Compressing objects: 100% (128/128), done.\u001b[K\n", - "remote: Total 792 (delta 26), reused 136 (delta 26), pack-reused 638\u001b[K\n", - "Receiving objects: 100% (792/792), 16.79 MiB | 18.29 MiB/s, done.\n", - "Resolving deltas: 100% (128/128), done.\n", - "/content/DT_SegNet\n" - ] - } - ] - }, - { - "cell_type": "code", + "cell_type": "markdown", "source": [ - "#@title Check GPU status\n", - "!nvidia-smi" + "## Preparations" ], "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "Ujes6IBXTZDK", - "outputId": "c641709c-5677-482c-f4af-82edbb8a3099" - }, - "execution_count": 2, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Mon May 15 08:37:55 2023 \n", - "+-----------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 525.85.12 Driver Version: 525.85.12 CUDA Version: 12.0 |\n", - "|-------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|===============================+======================+======================|\n", - "| 0 NVIDIA A100-SXM... Off | 00000000:00:04.0 Off | 0 |\n", - "| N/A 33C P0 47W / 400W | 0MiB / 40960MiB | 0% Default |\n", - "| | | Disabled |\n", - "+-------------------------------+----------------------+----------------------+\n", - " \n", - "+-----------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=============================================================================|\n", - "| No running processes found |\n", - "+-----------------------------------------------------------------------------+\n" - ] - } - ] + "id": "ccsmg9Mry0n1" + } }, { "cell_type": "code", "source": [ - "#@title Install dependencies\n", + "#@title Environment preparation\n", "\n", - "%pip uninstall -y protobuf\n", + "%cd /content\n", + "!git clone https://github.com/xiazeyu/DT_SegNet.git\n", + "%cd /content/DT_SegNet\n", + "# !git checkout bugfix-01\n", + "!git checkout main\n", + "# %pip uninstall -y protobuf\n", + "# %pip install paddlepaddle-gpu==2.5.0 -f https://www.paddlepaddle.org.cn/whl/linux/cudnnin/stable.html # https://github.com/PaddlePaddle/Paddle/pull/56366\n", + "%pip install paddlepaddle-gpu==2.4.2.post117 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html\n", "%pip install -r 1_Detection_Model/requirements.txt\n", - "%pip install paddlepaddle-gpu==2.4.1.post112 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html\n", - "%pip install -r 3_Segmentation_Model/requirements.txt" + "%pip install -r 3_Segmentation_Model/requirements.txt\n", + "%pip install --upgrade ipykernel" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, - "id": "2YXbNW9gTiEC", - "outputId": "2180ffe1-3282-46e3-ec9b-d7d5248726b2" + "id": "mO7IlajDTSbG", + "outputId": "13c600fe-0532-4d75-d0dc-d48deae00538", + "cellView": "form" }, - "execution_count": 3, + "execution_count": 1, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - "Found existing installation: protobuf 3.20.3\n", - "Uninstalling protobuf-3.20.3:\n", - " Successfully uninstalled protobuf-3.20.3\n", - "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Requirement already satisfied: matplotlib>=3.2.2 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 5)) (3.7.1)\n", - "Requirement already satisfied: numpy>=1.18.5 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 6)) (1.22.4)\n", - "Requirement already satisfied: opencv-python>=4.1.1 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 7)) (4.7.0.72)\n", - "Requirement already satisfied: Pillow>=7.1.2 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 8)) (8.4.0)\n", - "Requirement already satisfied: PyYAML>=5.3.1 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 9)) (6.0)\n", - "Requirement already satisfied: requests>=2.23.0 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 10)) (2.27.1)\n", - "Requirement already satisfied: scipy>=1.4.1 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 11)) (1.10.1)\n", - "Requirement already satisfied: torch>=1.7.0 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 12)) (2.0.0+cu118)\n", - "Requirement already satisfied: torchvision>=0.8.1 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 13)) (0.15.1+cu118)\n", - "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 14)) (4.65.0)\n", - "Collecting protobuf<=3.20.1 (from -r 1_Detection_Model/requirements.txt (line 15))\n", - " Downloading protobuf-3.20.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.1 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.1/1.1 MB\u001b[0m \u001b[31m61.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: tensorboard>=2.4.1 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 18)) (2.12.2)\n", - "Requirement already satisfied: pandas>=1.1.4 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 23)) (1.5.3)\n", - "Requirement already satisfied: seaborn>=0.11.0 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 24)) (0.12.2)\n", - "Requirement already satisfied: ipython in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 38)) (7.34.0)\n", - "Requirement already satisfied: psutil in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 39)) (5.9.5)\n", - "Collecting thop>=0.1.1 (from -r 1_Detection_Model/requirements.txt (line 40))\n", - " Downloading thop-0.1.1.post2209072238-py3-none-any.whl (15 kB)\n", - "Requirement already satisfied: pycocotools>=2.0 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 42)) (2.0.6)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2.2->-r 1_Detection_Model/requirements.txt (line 5)) (1.0.7)\n", - "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2.2->-r 1_Detection_Model/requirements.txt (line 5)) (0.11.0)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2.2->-r 1_Detection_Model/requirements.txt (line 5)) (4.39.3)\n", - "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2.2->-r 1_Detection_Model/requirements.txt (line 5)) (1.4.4)\n", - "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2.2->-r 1_Detection_Model/requirements.txt (line 5)) (23.1)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2.2->-r 1_Detection_Model/requirements.txt (line 5)) (3.0.9)\n", - "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2.2->-r 1_Detection_Model/requirements.txt (line 5)) (2.8.2)\n", - "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->-r 1_Detection_Model/requirements.txt (line 10)) (1.26.15)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->-r 1_Detection_Model/requirements.txt (line 10)) (2022.12.7)\n", - "Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->-r 1_Detection_Model/requirements.txt (line 10)) (2.0.12)\n", - "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->-r 1_Detection_Model/requirements.txt (line 10)) (3.4)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=1.7.0->-r 1_Detection_Model/requirements.txt (line 12)) (3.12.0)\n", - "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from torch>=1.7.0->-r 1_Detection_Model/requirements.txt (line 12)) (4.5.0)\n", - "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch>=1.7.0->-r 1_Detection_Model/requirements.txt (line 12)) (1.11.1)\n", - "Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages (from torch>=1.7.0->-r 1_Detection_Model/requirements.txt (line 12)) (3.1)\n", - "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch>=1.7.0->-r 1_Detection_Model/requirements.txt (line 12)) (3.1.2)\n", - "Requirement already satisfied: triton==2.0.0 in /usr/local/lib/python3.10/dist-packages (from torch>=1.7.0->-r 1_Detection_Model/requirements.txt (line 12)) (2.0.0)\n", - "Requirement already satisfied: cmake in /usr/local/lib/python3.10/dist-packages (from triton==2.0.0->torch>=1.7.0->-r 1_Detection_Model/requirements.txt (line 12)) (3.25.2)\n", - "Requirement already satisfied: lit in /usr/local/lib/python3.10/dist-packages (from triton==2.0.0->torch>=1.7.0->-r 1_Detection_Model/requirements.txt (line 12)) (16.0.3)\n", - "Requirement already satisfied: absl-py>=0.4 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (1.4.0)\n", - "Requirement already satisfied: grpcio>=1.48.2 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (1.54.0)\n", - "Requirement already satisfied: google-auth<3,>=1.6.3 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (2.17.3)\n", - "Requirement already satisfied: google-auth-oauthlib<1.1,>=0.5 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (1.0.0)\n", - "Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (3.4.3)\n", - "Requirement already satisfied: setuptools>=41.0.0 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (67.7.2)\n", - "Requirement already satisfied: tensorboard-data-server<0.8.0,>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (0.7.0)\n", - "Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (1.8.1)\n", - "Requirement already satisfied: werkzeug>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (2.3.0)\n", - "Requirement already satisfied: wheel>=0.26 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (0.40.0)\n", - "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.1.4->-r 1_Detection_Model/requirements.txt (line 23)) (2022.7.1)\n", - "Collecting jedi>=0.16 (from ipython->-r 1_Detection_Model/requirements.txt (line 38))\n", - " Downloading jedi-0.18.2-py2.py3-none-any.whl (1.6 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m87.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: decorator in /usr/local/lib/python3.10/dist-packages (from ipython->-r 1_Detection_Model/requirements.txt (line 38)) (4.4.2)\n", - "Requirement already satisfied: pickleshare in /usr/local/lib/python3.10/dist-packages (from ipython->-r 1_Detection_Model/requirements.txt (line 38)) (0.7.5)\n", - "Requirement already satisfied: traitlets>=4.2 in /usr/local/lib/python3.10/dist-packages (from ipython->-r 1_Detection_Model/requirements.txt (line 38)) (5.7.1)\n", - "Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from ipython->-r 1_Detection_Model/requirements.txt (line 38)) (3.0.38)\n", - "Requirement already satisfied: pygments in /usr/local/lib/python3.10/dist-packages (from ipython->-r 1_Detection_Model/requirements.txt (line 38)) (2.14.0)\n", - "Requirement already satisfied: backcall in /usr/local/lib/python3.10/dist-packages (from ipython->-r 1_Detection_Model/requirements.txt (line 38)) (0.2.0)\n", - "Requirement already satisfied: matplotlib-inline in /usr/local/lib/python3.10/dist-packages (from ipython->-r 1_Detection_Model/requirements.txt (line 38)) (0.1.6)\n", - "Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.10/dist-packages (from ipython->-r 1_Detection_Model/requirements.txt (line 38)) (4.8.0)\n", - "Requirement already satisfied: cachetools<6.0,>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (5.3.0)\n", - "Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (0.3.0)\n", - "Requirement already satisfied: six>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (1.16.0)\n", - "Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (4.9)\n", - "Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from google-auth-oauthlib<1.1,>=0.5->tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (1.3.1)\n", - "Requirement already satisfied: parso<0.9.0,>=0.8.0 in /usr/local/lib/python3.10/dist-packages (from jedi>=0.16->ipython->-r 1_Detection_Model/requirements.txt (line 38)) (0.8.3)\n", - "Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.10/dist-packages (from pexpect>4.3->ipython->-r 1_Detection_Model/requirements.txt (line 38)) (0.7.0)\n", - "Requirement already satisfied: wcwidth in /usr/local/lib/python3.10/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython->-r 1_Detection_Model/requirements.txt (line 38)) (0.2.6)\n", - "Requirement already satisfied: MarkupSafe>=2.1.1 in /usr/local/lib/python3.10/dist-packages (from werkzeug>=1.0.1->tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (2.1.2)\n", - "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.7.0->-r 1_Detection_Model/requirements.txt (line 12)) (1.3.0)\n", - "Requirement already satisfied: pyasn1<0.6.0,>=0.4.6 in /usr/local/lib/python3.10/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (0.5.0)\n", - "Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<1.1,>=0.5->tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (3.2.2)\n", - "Installing collected packages: protobuf, jedi, thop\n", - "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", - "google-api-core 2.11.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", - "google-cloud-bigquery 3.9.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", - "google-cloud-bigquery-storage 2.19.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", - "google-cloud-datastore 2.15.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", - "google-cloud-firestore 2.11.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", - "google-cloud-language 2.9.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", - "google-cloud-translate 3.11.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", - "googleapis-common-protos 1.59.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", - "tensorflow 2.12.0 requires protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3, but you have protobuf 3.20.1 which is incompatible.\n", - "tensorflow-metadata 1.13.1 requires protobuf<5,>=3.20.3, but you have protobuf 3.20.1 which is incompatible.\u001b[0m\u001b[31m\n", - "\u001b[0mSuccessfully installed jedi-0.18.2 protobuf-3.20.1 thop-0.1.1.post2209072238\n" - ] - }, - { - "output_type": "display_data", - "data": { - "application/vnd.colab-display-data+json": { - "pip_warning": { - "packages": [ - "google" - ] - } - } - }, - "metadata": {} - }, - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "/content\n", + "Cloning into 'DT_SegNet'...\n", + "remote: Enumerating objects: 869, done.\u001b[K\n", + "remote: Counting objects: 100% (231/231), done.\u001b[K\n", + "remote: Compressing objects: 100% (195/195), done.\u001b[K\n", + "remote: Total 869 (delta 63), reused 164 (delta 36), pack-reused 638\u001b[K\n", + "Receiving objects: 100% (869/869), 17.22 MiB | 32.13 MiB/s, done.\n", + "Resolving deltas: 100% (165/165), done.\n", + "/content/DT_SegNet\n", + "Branch 'bugfix-01' set up to track remote branch 'bugfix-01' from 'origin'.\n", + "Switched to a new branch 'bugfix-01'\n", "Looking in links: https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html\n", - "Collecting paddlepaddle-gpu==2.4.1.post112\n", - " Downloading https://paddle-wheel.bj.bcebos.com/2.4.1/linux/linux-gpu-cuda11.2-cudnn8-mkl-gcc8.2-avx/paddlepaddle_gpu-2.4.1.post112-cp310-cp310-linux_x86_64.whl (547.9 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m547.9/547.9 MB\u001b[0m \u001b[31m2.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: requests>=2.20.0 in /usr/local/lib/python3.10/dist-packages (from paddlepaddle-gpu==2.4.1.post112) (2.27.1)\n", - "Requirement already satisfied: numpy>=1.13 in /usr/local/lib/python3.10/dist-packages (from paddlepaddle-gpu==2.4.1.post112) (1.22.4)\n", - "Collecting protobuf<=3.20.0,>=3.1.0 (from paddlepaddle-gpu==2.4.1.post112)\n", + "Collecting paddlepaddle-gpu==2.4.2.post117\n", + " Downloading https://paddle-wheel.bj.bcebos.com/2.4.2/linux/linux-gpu-cuda11.7-cudnn8.4.1-mkl-gcc8.2-avx/paddlepaddle_gpu-2.4.2.post117-cp310-cp310-linux_x86_64.whl (557.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m557.3/557.3 MB\u001b[0m \u001b[31m2.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: requests>=2.20.0 in /usr/local/lib/python3.10/dist-packages (from paddlepaddle-gpu==2.4.2.post117) (2.31.0)\n", + "Requirement already satisfied: numpy>=1.13 in /usr/local/lib/python3.10/dist-packages (from paddlepaddle-gpu==2.4.2.post117) (1.25.2)\n", + "Collecting protobuf<=3.20.0,>=3.1.0 (from paddlepaddle-gpu==2.4.2.post117)\n", " Downloading protobuf-3.20.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.1 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.1/1.1 MB\u001b[0m \u001b[31m46.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: Pillow in /usr/local/lib/python3.10/dist-packages (from paddlepaddle-gpu==2.4.1.post112) (8.4.0)\n", - "Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from paddlepaddle-gpu==2.4.1.post112) (1.16.0)\n", - "Requirement already satisfied: decorator in /usr/local/lib/python3.10/dist-packages (from paddlepaddle-gpu==2.4.1.post112) (4.4.2)\n", - "Collecting astor (from paddlepaddle-gpu==2.4.1.post112)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.1/1.1 MB\u001b[0m \u001b[31m5.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: Pillow in /usr/local/lib/python3.10/dist-packages (from paddlepaddle-gpu==2.4.2.post117) (9.4.0)\n", + "Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from paddlepaddle-gpu==2.4.2.post117) (1.16.0)\n", + "Requirement already satisfied: decorator in /usr/local/lib/python3.10/dist-packages (from paddlepaddle-gpu==2.4.2.post117) (4.4.2)\n", + "Collecting astor (from paddlepaddle-gpu==2.4.2.post117)\n", " Downloading astor-0.8.1-py2.py3-none-any.whl (27 kB)\n", - "Collecting paddle-bfloat==0.1.7 (from paddlepaddle-gpu==2.4.1.post112)\n", + "Collecting paddle-bfloat==0.1.7 (from paddlepaddle-gpu==2.4.2.post117)\n", " Downloading paddle_bfloat-0.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (383 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m383.2/383.2 kB\u001b[0m \u001b[31m34.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: opt-einsum==3.3.0 in /usr/local/lib/python3.10/dist-packages (from paddlepaddle-gpu==2.4.1.post112) (3.3.0)\n", - "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.20.0->paddlepaddle-gpu==2.4.1.post112) (1.26.15)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.20.0->paddlepaddle-gpu==2.4.1.post112) (2022.12.7)\n", - "Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.10/dist-packages (from requests>=2.20.0->paddlepaddle-gpu==2.4.1.post112) (2.0.12)\n", - "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.20.0->paddlepaddle-gpu==2.4.1.post112) (3.4)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m383.2/383.2 kB\u001b[0m \u001b[31m29.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: opt-einsum==3.3.0 in /usr/local/lib/python3.10/dist-packages (from paddlepaddle-gpu==2.4.2.post117) (3.3.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.20.0->paddlepaddle-gpu==2.4.2.post117) (3.3.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.20.0->paddlepaddle-gpu==2.4.2.post117) (3.6)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.20.0->paddlepaddle-gpu==2.4.2.post117) (2.0.7)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.20.0->paddlepaddle-gpu==2.4.2.post117) (2024.2.2)\n", "Installing collected packages: paddle-bfloat, protobuf, astor, paddlepaddle-gpu\n", " Attempting uninstall: protobuf\n", - " Found existing installation: protobuf 3.20.1\n", - " Uninstalling protobuf-3.20.1:\n", - " Successfully uninstalled protobuf-3.20.1\n", + " Found existing installation: protobuf 3.20.3\n", + " Uninstalling protobuf-3.20.3:\n", + " Successfully uninstalled protobuf-3.20.3\n", "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", - "google-api-core 2.11.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", - "google-cloud-bigquery 3.9.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", - "google-cloud-bigquery-storage 2.19.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", - "google-cloud-datastore 2.15.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", - "google-cloud-firestore 2.11.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", - "google-cloud-language 2.9.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", - "google-cloud-translate 3.11.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", - "googleapis-common-protos 1.59.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", - "tensorflow 2.12.0 requires protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3, but you have protobuf 3.20.0 which is incompatible.\n", - "tensorflow-metadata 1.13.1 requires protobuf<5,>=3.20.3, but you have protobuf 3.20.0 which is incompatible.\u001b[0m\u001b[31m\n", - "\u001b[0mSuccessfully installed astor-0.8.1 paddle-bfloat-0.1.7 paddlepaddle-gpu-2.4.1.post112 protobuf-3.20.0\n" + "google-ai-generativelanguage 0.4.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", + "google-api-core 2.11.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0.dev0,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", + "google-cloud-aiplatform 1.43.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", + "google-cloud-bigquery 3.12.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", + "google-cloud-bigquery-connection 1.12.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", + "google-cloud-bigquery-storage 2.24.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", + "google-cloud-datastore 2.15.2 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", + "google-cloud-firestore 2.11.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", + "google-cloud-functions 1.13.3 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", + "google-cloud-iam 2.14.2 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", + "google-cloud-language 2.13.2 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", + "google-cloud-resource-manager 1.12.2 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", + "google-cloud-translate 3.11.3 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", + "googleapis-common-protos 1.62.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0.dev0,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", + "grpc-google-iam-v1 0.13.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.0 which is incompatible.\n", + "tensorflow 2.15.0 requires protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3, but you have protobuf 3.20.0 which is incompatible.\n", + "tensorflow-metadata 1.14.0 requires protobuf<4.21,>=3.20.3, but you have protobuf 3.20.0 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed astor-0.8.1 paddle-bfloat-0.1.7 paddlepaddle-gpu-2.4.2.post117 protobuf-3.20.0\n" ] }, { @@ -3713,7 +3380,8 @@ "packages": [ "google" ] - } + }, + "id": "afb451dbc9e541dd96c3498b36793dff" } }, "metadata": {} @@ -3722,206 +3390,176 @@ "output_type": "stream", "name": "stdout", "text": [ - "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.10/dist-packages (from -r 3_Segmentation_Model/requirements.txt (line 1)) (6.0)\n", + "Requirement already satisfied: matplotlib>=3.2.2 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 5)) (3.7.1)\n", + "Requirement already satisfied: numpy>=1.18.5 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 6)) (1.25.2)\n", + "Requirement already satisfied: opencv-python>=4.1.1 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 7)) (4.8.0.76)\n", + "Requirement already satisfied: Pillow>=7.1.2 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 8)) (9.4.0)\n", + "Requirement already satisfied: PyYAML>=5.3.1 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 9)) (6.0.1)\n", + "Requirement already satisfied: requests>=2.23.0 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 10)) (2.31.0)\n", + "Requirement already satisfied: scipy>=1.4.1 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 11)) (1.11.4)\n", + "Requirement already satisfied: torch>=1.7.0 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 12)) (2.1.0+cu121)\n", + "Requirement already satisfied: torchvision>=0.8.1 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 13)) (0.16.0+cu121)\n", + "Requirement already satisfied: tqdm>=4.64.0 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 14)) (4.66.2)\n", + "Requirement already satisfied: tensorboard>=2.4.1 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 18)) (2.15.2)\n", + "Requirement already satisfied: pandas>=1.1.4 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 23)) (1.5.3)\n", + "Requirement already satisfied: seaborn>=0.11.0 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 24)) (0.13.1)\n", + "Requirement already satisfied: ipython in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 38)) (7.34.0)\n", + "Requirement already satisfied: psutil in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 39)) (5.9.5)\n", + "Collecting thop>=0.1.1 (from -r 1_Detection_Model/requirements.txt (line 40))\n", + " Downloading thop-0.1.1.post2209072238-py3-none-any.whl (15 kB)\n", + "Requirement already satisfied: pycocotools>=2.0 in /usr/local/lib/python3.10/dist-packages (from -r 1_Detection_Model/requirements.txt (line 42)) (2.0.7)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2.2->-r 1_Detection_Model/requirements.txt (line 5)) (1.2.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2.2->-r 1_Detection_Model/requirements.txt (line 5)) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2.2->-r 1_Detection_Model/requirements.txt (line 5)) (4.49.0)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2.2->-r 1_Detection_Model/requirements.txt (line 5)) (1.4.5)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2.2->-r 1_Detection_Model/requirements.txt (line 5)) (23.2)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2.2->-r 1_Detection_Model/requirements.txt (line 5)) (3.1.1)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.2.2->-r 1_Detection_Model/requirements.txt (line 5)) (2.8.2)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->-r 1_Detection_Model/requirements.txt (line 10)) (3.3.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->-r 1_Detection_Model/requirements.txt (line 10)) (3.6)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->-r 1_Detection_Model/requirements.txt (line 10)) (2.0.7)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->-r 1_Detection_Model/requirements.txt (line 10)) (2024.2.2)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=1.7.0->-r 1_Detection_Model/requirements.txt (line 12)) (3.13.1)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from torch>=1.7.0->-r 1_Detection_Model/requirements.txt (line 12)) (4.10.0)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch>=1.7.0->-r 1_Detection_Model/requirements.txt (line 12)) (1.12)\n", + "Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages (from torch>=1.7.0->-r 1_Detection_Model/requirements.txt (line 12)) (3.2.1)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch>=1.7.0->-r 1_Detection_Model/requirements.txt (line 12)) (3.1.3)\n", + "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch>=1.7.0->-r 1_Detection_Model/requirements.txt (line 12)) (2023.6.0)\n", + "Requirement already satisfied: triton==2.1.0 in /usr/local/lib/python3.10/dist-packages (from torch>=1.7.0->-r 1_Detection_Model/requirements.txt (line 12)) (2.1.0)\n", + "Requirement already satisfied: absl-py>=0.4 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (1.4.0)\n", + "Requirement already satisfied: grpcio>=1.48.2 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (1.62.0)\n", + "Requirement already satisfied: google-auth<3,>=1.6.3 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (2.27.0)\n", + "Requirement already satisfied: google-auth-oauthlib<2,>=0.5 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (1.2.0)\n", + "Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (3.5.2)\n", + "Requirement already satisfied: protobuf!=4.24.0,>=3.19.6 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (3.20.0)\n", + "Requirement already satisfied: setuptools>=41.0.0 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (67.7.2)\n", + "Requirement already satisfied: six>1.9 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (1.16.0)\n", + "Requirement already satisfied: tensorboard-data-server<0.8.0,>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (0.7.2)\n", + "Requirement already satisfied: werkzeug>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (3.0.1)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.1.4->-r 1_Detection_Model/requirements.txt (line 23)) (2023.4)\n", + "Collecting jedi>=0.16 (from ipython->-r 1_Detection_Model/requirements.txt (line 38))\n", + " Downloading jedi-0.19.1-py2.py3-none-any.whl (1.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m4.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: decorator in /usr/local/lib/python3.10/dist-packages (from ipython->-r 1_Detection_Model/requirements.txt (line 38)) (4.4.2)\n", + "Requirement already satisfied: pickleshare in /usr/local/lib/python3.10/dist-packages (from ipython->-r 1_Detection_Model/requirements.txt (line 38)) (0.7.5)\n", + "Requirement already satisfied: traitlets>=4.2 in /usr/local/lib/python3.10/dist-packages (from ipython->-r 1_Detection_Model/requirements.txt (line 38)) (5.7.1)\n", + "Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from ipython->-r 1_Detection_Model/requirements.txt (line 38)) (3.0.43)\n", + "Requirement already satisfied: pygments in /usr/local/lib/python3.10/dist-packages (from ipython->-r 1_Detection_Model/requirements.txt (line 38)) (2.16.1)\n", + "Requirement already satisfied: backcall in /usr/local/lib/python3.10/dist-packages (from ipython->-r 1_Detection_Model/requirements.txt (line 38)) (0.2.0)\n", + "Requirement already satisfied: matplotlib-inline in /usr/local/lib/python3.10/dist-packages (from ipython->-r 1_Detection_Model/requirements.txt (line 38)) (0.1.6)\n", + "Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.10/dist-packages (from ipython->-r 1_Detection_Model/requirements.txt (line 38)) (4.9.0)\n", + "Requirement already satisfied: cachetools<6.0,>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (5.3.3)\n", + "Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (0.3.0)\n", + "Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (4.9)\n", + "Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from google-auth-oauthlib<2,>=0.5->tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (1.3.1)\n", + "Requirement already satisfied: parso<0.9.0,>=0.8.3 in /usr/local/lib/python3.10/dist-packages (from jedi>=0.16->ipython->-r 1_Detection_Model/requirements.txt (line 38)) (0.8.3)\n", + "Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.10/dist-packages (from pexpect>4.3->ipython->-r 1_Detection_Model/requirements.txt (line 38)) (0.7.0)\n", + "Requirement already satisfied: wcwidth in /usr/local/lib/python3.10/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython->-r 1_Detection_Model/requirements.txt (line 38)) (0.2.13)\n", + "Requirement already satisfied: MarkupSafe>=2.1.1 in /usr/local/lib/python3.10/dist-packages (from werkzeug>=1.0.1->tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (2.1.5)\n", + "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.7.0->-r 1_Detection_Model/requirements.txt (line 12)) (1.3.0)\n", + "Requirement already satisfied: pyasn1<0.6.0,>=0.4.6 in /usr/local/lib/python3.10/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (0.5.1)\n", + "Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<2,>=0.5->tensorboard>=2.4.1->-r 1_Detection_Model/requirements.txt (line 18)) (3.2.2)\n", + "Installing collected packages: jedi, thop\n", + "Successfully installed jedi-0.19.1 thop-0.1.1.post2209072238\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.10/dist-packages (from -r 3_Segmentation_Model/requirements.txt (line 1)) (6.0.1)\n", "Collecting visualdl>=2.2.0 (from -r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading visualdl-2.5.2-py3-none-any.whl (6.3 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.3/6.3 MB\u001b[0m \u001b[31m104.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: opencv-python in /usr/local/lib/python3.10/dist-packages (from -r 3_Segmentation_Model/requirements.txt (line 3)) (4.7.0.72)\n", - "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from -r 3_Segmentation_Model/requirements.txt (line 4)) (4.65.0)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from -r 3_Segmentation_Model/requirements.txt (line 5)) (3.12.0)\n", - "Requirement already satisfied: scipy in /usr/local/lib/python3.10/dist-packages (from -r 3_Segmentation_Model/requirements.txt (line 6)) (1.10.1)\n", - "Requirement already satisfied: prettytable in /usr/local/lib/python3.10/dist-packages (from -r 3_Segmentation_Model/requirements.txt (line 7)) (0.7.2)\n", - "Collecting sklearn==0.0 (from -r 3_Segmentation_Model/requirements.txt (line 8))\n", - " Downloading sklearn-0.0.tar.gz (1.1 kB)\n", - " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.10/dist-packages (from sklearn==0.0->-r 3_Segmentation_Model/requirements.txt (line 8)) (1.2.2)\n", + " Downloading visualdl-2.5.3-py3-none-any.whl (6.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.3/6.3 MB\u001b[0m \u001b[31m14.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: opencv-python in /usr/local/lib/python3.10/dist-packages (from -r 3_Segmentation_Model/requirements.txt (line 3)) (4.8.0.76)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from -r 3_Segmentation_Model/requirements.txt (line 4)) (4.66.2)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from -r 3_Segmentation_Model/requirements.txt (line 5)) (3.13.1)\n", + "Requirement already satisfied: scipy in /usr/local/lib/python3.10/dist-packages (from -r 3_Segmentation_Model/requirements.txt (line 6)) (1.11.4)\n", + "Requirement already satisfied: prettytable in /usr/local/lib/python3.10/dist-packages (from -r 3_Segmentation_Model/requirements.txt (line 7)) (3.10.0)\n", + "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.10/dist-packages (from -r 3_Segmentation_Model/requirements.txt (line 8)) (1.2.2)\n", "Collecting bce-python-sdk (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading bce_python_sdk-0.8.83-py3-none-any.whl (210 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m210.5/210.5 kB\u001b[0m \u001b[31m130.9 kB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: flask>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2.2.4)\n", + " Downloading bce_python_sdk-0.9.5-py3-none-any.whl (329 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m329.8/329.8 kB\u001b[0m \u001b[31m24.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: flask>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2.2.5)\n", "Collecting Flask-Babel>=3.0.0 (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading flask_babel-3.1.0-py3-none-any.whl (9.6 kB)\n", - "Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (1.22.4)\n", - "Requirement already satisfied: Pillow>=7.0.0 in /usr/local/lib/python3.10/dist-packages (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (8.4.0)\n", + " Downloading flask_babel-4.0.0-py3-none-any.whl (9.6 kB)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (1.25.2)\n", + "Requirement already satisfied: Pillow>=7.0.0 in /usr/local/lib/python3.10/dist-packages (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (9.4.0)\n", "Requirement already satisfied: protobuf>=3.20.0 in /usr/local/lib/python3.10/dist-packages (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (3.20.0)\n", - "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2.27.1)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2.31.0)\n", "Requirement already satisfied: six>=1.14.0 in /usr/local/lib/python3.10/dist-packages (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (1.16.0)\n", "Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (3.7.1)\n", "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (1.5.3)\n", - "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (23.1)\n", - "Collecting x2paddle>=1.4.0 (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading x2paddle-1.4.1-py3-none-any.whl (316 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m316.2/316.2 kB\u001b[0m \u001b[31m30.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting paddle2onnx>=1.0.5 (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading paddle2onnx-1.0.6-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (3.1 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.1/3.1 MB\u001b[0m \u001b[31m101.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting rarfile (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading rarfile-4.0-py3-none-any.whl (28 kB)\n", - "Collecting gradio==3.11.0 (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading gradio-3.11.0-py3-none-any.whl (11.6 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11.6/11.6 MB\u001b[0m \u001b[31m93.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting tritonclient[all] (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading tritonclient-2.33.0-py3-none-manylinux1_x86_64.whl (11.8 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11.8/11.8 MB\u001b[0m \u001b[31m79.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: psutil in /usr/local/lib/python3.10/dist-packages (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (5.9.5)\n", - "Collecting onnx>=1.6.0 (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading onnx-1.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.6 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m14.6/14.6 MB\u001b[0m \u001b[31m94.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting aiohttp (from gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading aiohttp-3.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.0/1.0 MB\u001b[0m \u001b[31m69.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting fastapi (from gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading fastapi-0.95.1-py3-none-any.whl (56 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m57.0/57.0 kB\u001b[0m \u001b[31m8.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting ffmpy (from gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading ffmpy-0.3.0.tar.gz (4.8 kB)\n", - " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2023.4.0)\n", - "Collecting h11<0.13,>=0.11 (from gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading h11-0.12.0-py3-none-any.whl (54 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m54.9/54.9 kB\u001b[0m \u001b[31m8.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting httpx (from gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading httpx-0.24.0-py3-none-any.whl (75 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m75.3/75.3 kB\u001b[0m \u001b[31m11.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (3.1.2)\n", - "Requirement already satisfied: markdown-it-py[linkify,plugins] in /usr/local/lib/python3.10/dist-packages (from gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2.2.0)\n", - "Collecting orjson (from gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading orjson-3.8.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (137 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m137.2/137.2 kB\u001b[0m \u001b[31m21.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting paramiko (from gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading paramiko-3.1.0-py3-none-any.whl (211 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m211.2/211.2 kB\u001b[0m \u001b[31m29.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting pycryptodome (from gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading pycryptodome-3.17-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.1/2.1 MB\u001b[0m \u001b[31m99.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: pydantic in /usr/local/lib/python3.10/dist-packages (from gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (1.10.7)\n", - "Collecting pydub (from gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading pydub-0.25.1-py2.py3-none-any.whl (32 kB)\n", - "Collecting python-multipart (from gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading python_multipart-0.0.6-py3-none-any.whl (45 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m45.7/45.7 kB\u001b[0m \u001b[31m5.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting uvicorn (from gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading uvicorn-0.22.0-py3-none-any.whl (58 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m58.3/58.3 kB\u001b[0m \u001b[31m5.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting websockets>=10.0 (from gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading websockets-11.0.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (129 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m129.9/129.9 kB\u001b[0m \u001b[31m17.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: Werkzeug>=2.2.2 in /usr/local/lib/python3.10/dist-packages (from flask>=1.1.1->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2.3.0)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (23.2)\n", + "Collecting rarfile (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", + " Downloading rarfile-4.1-py3-none-any.whl (28 kB)\n", + "Requirement already satisfied: psutil in /usr/local/lib/python3.10/dist-packages (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (5.9.5)\n", + "Requirement already satisfied: wcwidth in /usr/local/lib/python3.10/dist-packages (from prettytable->-r 3_Segmentation_Model/requirements.txt (line 7)) (0.2.13)\n", + "Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from scikit-learn->-r 3_Segmentation_Model/requirements.txt (line 8)) (1.3.2)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn->-r 3_Segmentation_Model/requirements.txt (line 8)) (3.3.0)\n", + "Requirement already satisfied: Werkzeug>=2.2.2 in /usr/local/lib/python3.10/dist-packages (from flask>=1.1.1->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (3.0.1)\n", + "Requirement already satisfied: Jinja2>=3.0 in /usr/local/lib/python3.10/dist-packages (from flask>=1.1.1->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (3.1.3)\n", "Requirement already satisfied: itsdangerous>=2.0 in /usr/local/lib/python3.10/dist-packages (from flask>=1.1.1->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2.1.2)\n", - "Requirement already satisfied: click>=8.0 in /usr/local/lib/python3.10/dist-packages (from flask>=1.1.1->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (8.1.3)\n", - "Requirement already satisfied: Babel>=2.12 in /usr/local/lib/python3.10/dist-packages (from Flask-Babel>=3.0.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2.12.1)\n", - "Requirement already satisfied: pytz>=2022.7 in /usr/local/lib/python3.10/dist-packages (from Flask-Babel>=3.0.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2022.7.1)\n", - "Collecting protobuf>=3.20.0 (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading protobuf-4.23.0-cp37-abi3-manylinux2014_x86_64.whl (304 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m304.5/304.5 kB\u001b[0m \u001b[31m38.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: typing-extensions>=3.6.2.1 in /usr/local/lib/python3.10/dist-packages (from onnx>=1.6.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (4.5.0)\n", - "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from x2paddle>=1.4.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (1.11.1)\n", - "Requirement already satisfied: future>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from bce-python-sdk->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (0.18.3)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (1.0.7)\n", - "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (0.11.0)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (4.39.3)\n", - "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (1.4.4)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (3.0.9)\n", + "Requirement already satisfied: click>=8.0 in /usr/local/lib/python3.10/dist-packages (from flask>=1.1.1->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (8.1.7)\n", + "Requirement already satisfied: Babel>=2.12 in /usr/local/lib/python3.10/dist-packages (from Flask-Babel>=3.0.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2.14.0)\n", + "Requirement already satisfied: pytz>=2022.7 in /usr/local/lib/python3.10/dist-packages (from Flask-Babel>=3.0.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2023.4)\n", + "Collecting pycryptodome>=3.8.0 (from bce-python-sdk->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", + " Downloading pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.1/2.1 MB\u001b[0m \u001b[31m24.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: future>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from bce-python-sdk->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (0.18.3)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (1.2.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (4.49.0)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (1.4.5)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (3.1.1)\n", "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2.8.2)\n", - "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (1.26.15)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2022.12.7)\n", - "Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.10/dist-packages (from requests->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2.0.12)\n", - "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (3.4)\n", - "Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from scikit-learn->sklearn==0.0->-r 3_Segmentation_Model/requirements.txt (line 8)) (1.2.0)\n", - "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn->sklearn==0.0->-r 3_Segmentation_Model/requirements.txt (line 8)) (3.1.0)\n", - "Collecting python-rapidjson>=0.9.1 (from tritonclient[all]->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading python_rapidjson-1.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.7/1.7 MB\u001b[0m \u001b[31m96.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting protobuf>=3.20.0 (from visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading protobuf-3.20.3-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.1 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.1/1.1 MB\u001b[0m \u001b[31m88.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: grpcio>=1.41.0 in /usr/local/lib/python3.10/dist-packages (from tritonclient[all]->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (1.54.0)\n", - "Collecting geventhttpclient<=2.0.2,>=1.4.4 (from tritonclient[all]->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading geventhttpclient-2.0.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (100 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m100.3/100.3 kB\u001b[0m \u001b[31m16.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (23.1.0)\n", - "Collecting multidict<7.0,>=4.5 (from aiohttp->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (114 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m114.5/114.5 kB\u001b[0m \u001b[31m11.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting async-timeout<5.0,>=4.0.0a3 (from aiohttp->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading async_timeout-4.0.2-py3-none-any.whl (5.8 kB)\n", - "Collecting yarl<2.0,>=1.0 (from aiohttp->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading yarl-1.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (268 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m268.8/268.8 kB\u001b[0m \u001b[31m36.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting frozenlist>=1.1.1 (from aiohttp->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading frozenlist-1.3.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (149 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m149.6/149.6 kB\u001b[0m \u001b[31m24.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting aiosignal>=1.1.2 (from aiohttp->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading aiosignal-1.3.1-py3-none-any.whl (7.6 kB)\n", - "Collecting gevent>=0.13 (from geventhttpclient<=2.0.2,>=1.4.4->tritonclient[all]->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading gevent-22.10.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.4 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.4/6.4 MB\u001b[0m \u001b[31m90.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting brotli (from geventhttpclient<=2.0.2,>=1.4.4->tritonclient[all]->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading Brotli-1.0.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.7 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.7/2.7 MB\u001b[0m \u001b[31m116.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2.1.2)\n", - "Collecting starlette<0.27.0,>=0.26.1 (from fastapi->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading starlette-0.26.1-py3-none-any.whl (66 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m66.9/66.9 kB\u001b[0m \u001b[31m10.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting httpcore<0.18.0,>=0.15.0 (from httpx->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading httpcore-0.17.0-py3-none-any.whl (70 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m70.6/70.6 kB\u001b[0m \u001b[31m10.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: sniffio in /usr/local/lib/python3.10/dist-packages (from httpx->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (1.3.0)\n", - "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py[linkify,plugins]->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (0.1.2)\n", - "Collecting mdit-py-plugins (from markdown-it-py[linkify,plugins]->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading mdit_py_plugins-0.3.5-py3-none-any.whl (52 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m52.1/52.1 kB\u001b[0m \u001b[31m8.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting linkify-it-py<3,>=1 (from markdown-it-py[linkify,plugins]->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading linkify_it_py-2.0.2-py3-none-any.whl (19 kB)\n", - "Collecting bcrypt>=3.2 (from paramiko->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading bcrypt-4.0.1-cp36-abi3-manylinux_2_28_x86_64.whl (593 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m593.7/593.7 kB\u001b[0m \u001b[31m55.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: cryptography>=3.3 in /usr/local/lib/python3.10/dist-packages (from paramiko->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (40.0.2)\n", - "Collecting pynacl>=1.5 (from paramiko->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (856 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m856.7/856.7 kB\u001b[0m \u001b[31m77.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->x2paddle>=1.4.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (1.3.0)\n", - "Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.10/dist-packages (from cryptography>=3.3->paramiko->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (1.15.1)\n", - "Collecting zope.event (from gevent>=0.13->geventhttpclient<=2.0.2,>=1.4.4->tritonclient[all]->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading zope.event-4.6-py2.py3-none-any.whl (6.8 kB)\n", - "Collecting zope.interface (from gevent>=0.13->geventhttpclient<=2.0.2,>=1.4.4->tritonclient[all]->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading zope.interface-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (246 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m247.0/247.0 kB\u001b[0m \u001b[31m33.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from gevent>=0.13->geventhttpclient<=2.0.2,>=1.4.4->tritonclient[all]->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (67.7.2)\n", - "Requirement already satisfied: greenlet>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from gevent>=0.13->geventhttpclient<=2.0.2,>=1.4.4->tritonclient[all]->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2.0.2)\n", - "INFO: pip is looking at multiple versions of httpcore to determine which version is compatible with other requirements. This could take a while.\n", - "Collecting httpcore<0.18.0,>=0.15.0 (from httpx->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading httpcore-0.16.3-py3-none-any.whl (69 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m69.6/69.6 kB\u001b[0m \u001b[31m11.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25h Downloading httpcore-0.16.2-py3-none-any.whl (68 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m69.0/69.0 kB\u001b[0m \u001b[31m11.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25h Downloading httpcore-0.16.1-py3-none-any.whl (68 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m68.7/68.7 kB\u001b[0m \u001b[31m9.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25h Downloading httpcore-0.16.0-py3-none-any.whl (68 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m68.7/68.7 kB\u001b[0m \u001b[31m10.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25h Downloading httpcore-0.15.0-py3-none-any.whl (68 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m68.4/68.4 kB\u001b[0m \u001b[31m11.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: anyio==3.* in /usr/local/lib/python3.10/dist-packages (from httpcore<0.18.0,>=0.15.0->httpx->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (3.6.2)\n", - "Collecting uc-micro-py (from linkify-it-py<3,>=1->markdown-it-py[linkify,plugins]->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2))\n", - " Downloading uc_micro_py-1.0.2-py3-none-any.whl (6.2 kB)\n", - "Requirement already satisfied: pycparser in /usr/local/lib/python3.10/dist-packages (from cffi>=1.12->cryptography>=3.3->paramiko->gradio==3.11.0->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2.21)\n", - "Building wheels for collected packages: sklearn, ffmpy\n", - " Building wheel for sklearn (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for sklearn: filename=sklearn-0.0-py2.py3-none-any.whl size=1302 sha256=c3358c1ccc5ecf112a1da1a52387b2891daad41a50668fc3b04c3e06c5f0aca4\n", - " Stored in directory: /root/.cache/pip/wheels/9b/13/01/6f3a7fd641f90e1f6c8c7cded057f3394f451f340371c68f3d\n", - " Building wheel for ffmpy (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for ffmpy: filename=ffmpy-0.3.0-py3-none-any.whl size=4694 sha256=934b9cfff93aada845713cd776c1e8cf034aef5c5a2fa8e7418443945badd066\n", - " Stored in directory: /root/.cache/pip/wheels/0c/c2/0e/3b9c6845c6a4e35beb90910cc70d9ac9ab5d47402bd62af0df\n", - "Successfully built sklearn ffmpy\n", - "Installing collected packages: rarfile, pydub, paddle2onnx, ffmpy, brotli, zope.interface, zope.event, websockets, uc-micro-py, python-rapidjson, python-multipart, pycryptodome, protobuf, orjson, multidict, h11, frozenlist, bcrypt, async-timeout, yarl, x2paddle, uvicorn, tritonclient, starlette, pynacl, onnx, mdit-py-plugins, linkify-it-py, httpcore, gevent, bce-python-sdk, aiosignal, sklearn, paramiko, httpx, geventhttpclient, Flask-Babel, fastapi, aiohttp, gradio, visualdl\n", - " Attempting uninstall: protobuf\n", - " Found existing installation: protobuf 3.20.0\n", - " Uninstalling protobuf-3.20.0:\n", - " Successfully uninstalled protobuf-3.20.0\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (3.3.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (3.6)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2.0.7)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2024.2.2)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from Jinja2>=3.0->flask>=1.1.1->visualdl>=2.2.0->-r 3_Segmentation_Model/requirements.txt (line 2)) (2.1.5)\n", + "Installing collected packages: rarfile, pycryptodome, bce-python-sdk, Flask-Babel, visualdl\n", + "Successfully installed Flask-Babel-4.0.0 bce-python-sdk-0.9.5 pycryptodome-3.20.0 rarfile-4.1 visualdl-2.5.3\n", + "Requirement already satisfied: ipykernel in /usr/local/lib/python3.10/dist-packages (5.5.6)\n", + "Collecting ipykernel\n", + " Downloading ipykernel-6.29.3-py3-none-any.whl (117 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m117.1/117.1 kB\u001b[0m \u001b[31m1.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting comm>=0.1.1 (from ipykernel)\n", + " Downloading comm-0.2.1-py3-none-any.whl (7.2 kB)\n", + "Requirement already satisfied: debugpy>=1.6.5 in /usr/local/lib/python3.10/dist-packages (from ipykernel) (1.6.6)\n", + "Requirement already satisfied: ipython>=7.23.1 in /usr/local/lib/python3.10/dist-packages (from ipykernel) (7.34.0)\n", + "Requirement already satisfied: jupyter-client>=6.1.12 in /usr/local/lib/python3.10/dist-packages (from ipykernel) (6.1.12)\n", + "Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in /usr/local/lib/python3.10/dist-packages (from ipykernel) (5.7.1)\n", + "Requirement already satisfied: matplotlib-inline>=0.1 in /usr/local/lib/python3.10/dist-packages (from ipykernel) (0.1.6)\n", + "Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.10/dist-packages (from ipykernel) (1.6.0)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from ipykernel) (23.2)\n", + "Requirement already satisfied: psutil in /usr/local/lib/python3.10/dist-packages (from ipykernel) (5.9.5)\n", + "Collecting pyzmq>=24 (from ipykernel)\n", + " Downloading pyzmq-25.1.2-cp310-cp310-manylinux_2_28_x86_64.whl (1.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.1/1.1 MB\u001b[0m \u001b[31m7.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: tornado>=6.1 in /usr/local/lib/python3.10/dist-packages (from ipykernel) (6.3.2)\n", + "Requirement already satisfied: traitlets>=5.4.0 in /usr/local/lib/python3.10/dist-packages (from ipykernel) (5.7.1)\n", + "Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python3.10/dist-packages (from ipython>=7.23.1->ipykernel) (67.7.2)\n", + "Requirement already satisfied: jedi>=0.16 in /usr/local/lib/python3.10/dist-packages (from ipython>=7.23.1->ipykernel) (0.19.1)\n", + "Requirement already satisfied: decorator in /usr/local/lib/python3.10/dist-packages (from ipython>=7.23.1->ipykernel) (4.4.2)\n", + "Requirement already satisfied: pickleshare in /usr/local/lib/python3.10/dist-packages (from ipython>=7.23.1->ipykernel) (0.7.5)\n", + "Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from ipython>=7.23.1->ipykernel) (3.0.43)\n", + "Requirement already satisfied: pygments in /usr/local/lib/python3.10/dist-packages (from ipython>=7.23.1->ipykernel) (2.16.1)\n", + "Requirement already satisfied: backcall in /usr/local/lib/python3.10/dist-packages (from ipython>=7.23.1->ipykernel) (0.2.0)\n", + "Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.10/dist-packages (from ipython>=7.23.1->ipykernel) (4.9.0)\n", + "Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.10/dist-packages (from jupyter-client>=6.1.12->ipykernel) (2.8.2)\n", + "Requirement already satisfied: platformdirs>=2.5 in /usr/local/lib/python3.10/dist-packages (from jupyter-core!=5.0.*,>=4.12->ipykernel) (4.2.0)\n", + "Requirement already satisfied: parso<0.9.0,>=0.8.3 in /usr/local/lib/python3.10/dist-packages (from jedi>=0.16->ipython>=7.23.1->ipykernel) (0.8.3)\n", + "Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.10/dist-packages (from pexpect>4.3->ipython>=7.23.1->ipykernel) (0.7.0)\n", + "Requirement already satisfied: wcwidth in /usr/local/lib/python3.10/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython>=7.23.1->ipykernel) (0.2.13)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.1->jupyter-client>=6.1.12->ipykernel) (1.16.0)\n", + "Installing collected packages: pyzmq, comm, ipykernel\n", + " Attempting uninstall: pyzmq\n", + " Found existing installation: pyzmq 23.2.1\n", + " Uninstalling pyzmq-23.2.1:\n", + " Successfully uninstalled pyzmq-23.2.1\n", + " Attempting uninstall: ipykernel\n", + " Found existing installation: ipykernel 5.5.6\n", + " Uninstalling ipykernel-5.5.6:\n", + " Successfully uninstalled ipykernel-5.5.6\n", "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", - "paddlepaddle-gpu 2.4.1.post112 requires protobuf<=3.20.0,>=3.1.0, but you have protobuf 3.20.3 which is incompatible.\u001b[0m\u001b[31m\n", - "\u001b[0mSuccessfully installed Flask-Babel-3.1.0 aiohttp-3.8.4 aiosignal-1.3.1 async-timeout-4.0.2 bce-python-sdk-0.8.83 bcrypt-4.0.1 brotli-1.0.9 fastapi-0.95.1 ffmpy-0.3.0 frozenlist-1.3.3 gevent-22.10.2 geventhttpclient-2.0.2 gradio-3.11.0 h11-0.12.0 httpcore-0.15.0 httpx-0.24.0 linkify-it-py-2.0.2 mdit-py-plugins-0.3.5 multidict-6.0.4 onnx-1.14.0 orjson-3.8.12 paddle2onnx-1.0.6 paramiko-3.1.0 protobuf-3.20.3 pycryptodome-3.17 pydub-0.25.1 pynacl-1.5.0 python-multipart-0.0.6 python-rapidjson-1.10 rarfile-4.0 sklearn-0.0 starlette-0.26.1 tritonclient-2.33.0 uc-micro-py-1.0.2 uvicorn-0.22.0 visualdl-2.5.2 websockets-11.0.3 x2paddle-1.4.1 yarl-1.9.2 zope.event-4.6 zope.interface-6.0\n" + "google-colab 1.0.0 requires ipykernel==5.5.6, but you have ipykernel 6.29.3 which is incompatible.\n", + "notebook 6.5.5 requires pyzmq<25,>=17, but you have pyzmq 25.1.2 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed comm-0.2.1 ipykernel-6.29.3 pyzmq-25.1.2\n" ] }, { @@ -3930,9 +3568,10 @@ "application/vnd.colab-display-data+json": { "pip_warning": { "packages": [ - "google" + "zmq" ] - } + }, + "id": "c5cdad5fa5c84403a0999bedbb705abb" } }, "metadata": {} @@ -3942,86 +3581,98 @@ { "cell_type": "code", "source": [ - "#@title Sanity check - 1\n", - "\n", + "#@title Sanity check\n", + "!nvidia-smi\n", "%cd /content/DT_SegNet/1_Detection_Model\n", - "\n", - "import torch\n", - "import utils\n", - "\n", - "utils.notebook_init()\n" + "import os\n", + "import shutil\n", + "from utils.general import check_requirements, emojis, is_colab\n", + "from utils.torch_utils import select_device # imports\n", + "import psutil\n", + "check_requirements(('psutil', 'IPython'))\n", + "check_requirements('/content/DT_SegNet/1_Detection_Model/requirements.txt')\n", + "check_requirements('/content/DT_SegNet/3_Segmentation_Model/requirements.txt')\n", + "if not is_colab():\n", + " print('WARN: not running in Google Colab.')\n", + "shutil.rmtree('/content/sample_data', ignore_errors=True) # remove colab /sample_data directory\n", + "gb = 1 << 30 # bytes to GiB (1024 ** 3)\n", + "ram = psutil.virtual_memory().total\n", + "total, used, free = shutil.disk_usage(\"/\")\n", + "s = f'({os.cpu_count()} CPUs, {ram / gb:.1f} GB RAM, {(total - free) / gb:.1f}/{total / gb:.1f} GB disk)'\n", + "select_device(newline=False)\n", + "print(emojis(f'Passed ✅ {s}'))\n", + "import paddle\n", + "paddle.utils.run_check()\n", + "print(paddle.__version__)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "-NIUcvRMTn2N", - "outputId": "b748a092-305a-4fd1-fdff-c64208bb6762" + "outputId": "483c35d5-5684-4569-8154-ab3368441ae6", + "cellView": "form" }, - "execution_count": 4, + "execution_count": 1, "outputs": [ { "output_type": "stream", - "name": "stderr", + "name": "stdout", "text": [ - "YOLOv5 🚀 2023-5-15 Python-3.10.11 torch-2.0.0+cu118 CUDA:0 (NVIDIA A100-SXM4-40GB, 40514MiB)\n" + "Wed Mar 6 14:12:38 2024 \n", + "+---------------------------------------------------------------------------------------+\n", + "| NVIDIA-SMI 535.104.05 Driver Version: 535.104.05 CUDA Version: 12.2 |\n", + "|-----------------------------------------+----------------------+----------------------+\n", + "| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |\n", + "| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |\n", + "| | | MIG M. |\n", + "|=========================================+======================+======================|\n", + "| 0 Tesla T4 Off | 00000000:00:04.0 Off | 0 |\n", + "| N/A 35C P8 9W / 70W | 0MiB / 15360MiB | 0% Default |\n", + "| | | N/A |\n", + "+-----------------------------------------+----------------------+----------------------+\n", + " \n", + "+---------------------------------------------------------------------------------------+\n", + "| Processes: |\n", + "| GPU GI CI PID Type Process name GPU Memory |\n", + "| ID ID Usage |\n", + "|=======================================================================================|\n", + "| No running processes found |\n", + "+---------------------------------------------------------------------------------------+\n", + "/content/DT_SegNet/1_Detection_Model\n" ] }, { "output_type": "stream", - "name": "stdout", + "name": "stderr", "text": [ - "Setup complete ✅ (12 CPUs, 83.5 GB RAM, 26.6/78.2 GB disk)\n" + "YOLOv5 🚀 2024-3-6 Python-3.10.12 torch-2.1.0+cu121 CUDA:0 (Tesla T4, 15102MiB)\n" ] }, { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ] - }, - "metadata": {}, - "execution_count": 4 - } - ] - }, - { - "cell_type": "code", - "source": [ - "#@title Sanity check - 2\n", - "\n", - "import paddle\n", - "\n", - "paddle.utils.run_check()\n", - "print(paddle.__version__)\n" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" + "output_type": "stream", + "name": "stdout", + "text": [ + "Passed ✅ (2 CPUs, 12.7 GB RAM, 29.2/78.2 GB disk)\n", + "Running verify PaddlePaddle program ... \n" + ] }, - "id": "EjpwpA54Wa_I", - "outputId": "dddc7b32-9a2e-4941-91a0-dee40e09e322" - }, - "execution_count": 5, - "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ - "WARNING: OMP_NUM_THREADS set to 8, not 1. The computation speed will not be optimized if you use data parallel. It will fail if this PaddlePaddle binary is compiled with OpenBlas since OpenBlas does not support multi-threads.\n", - "PLEASE USE OMP_NUM_THREADS WISELY.\n" + "W0306 14:12:51.750880 1324 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 7.5, Driver API Version: 12.2, Runtime API Version: 11.7\n", + "W0306 14:12:51.771757 1324 gpu_resources.cc:91] device: 0, cuDNN Version: 8.9.\n" ] }, { "output_type": "stream", "name": "stdout", "text": [ - "Running verify PaddlePaddle program ... \n", "PaddlePaddle works well on 1 GPU.\n", "PaddlePaddle works well on 1 GPUs.\n", "PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.\n", - "2.4.1\n" + "2.4.2\n" ] } ] @@ -4030,38 +3681,32 @@ "cell_type": "code", "source": [ "#@title Import packages\n", + "\n", "from pathlib import Path\n", "from PIL import Image\n", "from tqdm.notebook import tqdm\n", "import pandas as pd\n", "import numpy as np\n", "from matplotlib import pyplot as plt\n", - "from google.colab import files" + "from google.colab import files\n", + "import ipywidgets as widgets\n", + "from IPython import display" ], "metadata": { - "id": "Ud9uqddkcXIH" + "id": "Ud9uqddkcXIH", + "cellView": "form" }, - "execution_count": 6, + "execution_count": 2, "outputs": [] }, { "cell_type": "code", "source": [ - "#@title Select model\n", + "#@title Select & download models\n", "\n", "detection_model = \"https://github.com/xiazeyu/DT_SegNet/releases/latest/download/detection.pt\" #@param [\"https://github.com/xiazeyu/DT_SegNet/releases/latest/download/detection.pt\"] {allow-input: true}\n", - "segmentation_model = \"https://github.com/xiazeyu/DT_SegNet/releases/latest/download/segmentation.pdparams\" #@param [\"https://github.com/xiazeyu/DT_SegNet/releases/latest/download/segmentation.pdparams\"] {allow-input: true}\n" - ], - "metadata": { - "id": "GrwoxiHuWk8t" - }, - "execution_count": 7, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "#@title Download model\n", + "segmentation_model = \"https://github.com/xiazeyu/DT_SegNet/releases/latest/download/segmentation.pdparams\" #@param [\"https://github.com/xiazeyu/DT_SegNet/releases/latest/download/segmentation.pdparams\"] {allow-input: true}\n", + "\n", "Path('/content/DT_SegNet/Models').mkdir(exist_ok=True, parents=True)\n", "\n", "detection_model_path = \"/content/DT_SegNet/Models/detection.pt\"\n", @@ -4071,78 +3716,67 @@ "!wget -O {detection_model_path} {detection_model}\n", "!wget -O {segmentation_model_path} {segmentation_model}\n", "\n", - "!stat {detection_model_path}\n", - "!stat {segmentation_model_path}\n" + "print('Current model:')\n", + "!ls /content/DT_SegNet/Models --human-readable --kibibytes -Sl" ], "metadata": { + "id": "GrwoxiHuWk8t", "colab": { "base_uri": "https://localhost:8080/" }, - "id": "z6XrRMuYXjkC", - "outputId": "2ac630af-27a9-4943-9a12-17e7bdecc8da" + "cellView": "form", + "outputId": "604cf3d2-c3f3-4f1d-e218-6fbb4f9b3a16" }, - "execution_count": 8, + "execution_count": 3, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - "--2023-05-15 08:40:50-- https://github.com/xiazeyu/DT_SegNet/releases/latest/download/detection.pt\n", - "Resolving github.com (github.com)... 20.205.243.166\n", - "Connecting to github.com (github.com)|20.205.243.166|:443... connected.\n", + "--2024-03-06 14:13:26-- https://github.com/xiazeyu/DT_SegNet/releases/latest/download/detection.pt\n", + "Resolving github.com (github.com)... 140.82.113.4\n", + "Connecting to github.com (github.com)|140.82.113.4|:443... connected.\n", "HTTP request sent, awaiting response... 302 Found\n", - "Location: https://github.com/xiazeyu/DT_SegNet/releases/download/v1.0.1/detection.pt [following]\n", - "--2023-05-15 08:40:50-- https://github.com/xiazeyu/DT_SegNet/releases/download/v1.0.1/detection.pt\n", + "Location: https://github.com/xiazeyu/DT_SegNet/releases/download/v1.1.0/detection.pt [following]\n", + "--2024-03-06 14:13:26-- https://github.com/xiazeyu/DT_SegNet/releases/download/v1.1.0/detection.pt\n", "Reusing existing connection to github.com:443.\n", "HTTP request sent, awaiting response... 302 Found\n", - "Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/583010192/f9d884b4-8109-413b-bc20-a6062d848754?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230515%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230515T084051Z&X-Amz-Expires=300&X-Amz-Signature=4c78d43a5605791b38b0a587e9e2e8a052adbbb8d72095b161054fe4e5fabc6e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=583010192&response-content-disposition=attachment%3B%20filename%3Ddetection.pt&response-content-type=application%2Foctet-stream [following]\n", - "--2023-05-15 08:40:51-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/583010192/f9d884b4-8109-413b-bc20-a6062d848754?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230515%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230515T084051Z&X-Amz-Expires=300&X-Amz-Signature=4c78d43a5605791b38b0a587e9e2e8a052adbbb8d72095b161054fe4e5fabc6e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=583010192&response-content-disposition=attachment%3B%20filename%3Ddetection.pt&response-content-type=application%2Foctet-stream\n", + "Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/583010192/ecbcd211-f9be-4421-a8d0-d9e3b2016796?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240306%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240306T141326Z&X-Amz-Expires=300&X-Amz-Signature=5761f2fb1afcf6d36a045f3c1f27568ee83170518f3103d2c3f568facde2c3dd&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=583010192&response-content-disposition=attachment%3B%20filename%3Ddetection.pt&response-content-type=application%2Foctet-stream [following]\n", + "--2024-03-06 14:13:26-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/583010192/ecbcd211-f9be-4421-a8d0-d9e3b2016796?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240306%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240306T141326Z&X-Amz-Expires=300&X-Amz-Signature=5761f2fb1afcf6d36a045f3c1f27568ee83170518f3103d2c3f568facde2c3dd&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=583010192&response-content-disposition=attachment%3B%20filename%3Ddetection.pt&response-content-type=application%2Foctet-stream\n", "Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...\n", "Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... connected.\n", "HTTP request sent, awaiting response... 200 OK\n", "Length: 153696317 (147M) [application/octet-stream]\n", "Saving to: ‘/content/DT_SegNet/Models/detection.pt’\n", "\n", - "/content/DT_SegNet/ 100%[===================>] 146.58M 25.0MB/s in 6.2s \n", + "/content/DT_SegNet/ 100%[===================>] 146.58M 159MB/s in 0.9s \n", "\n", - "2023-05-15 08:40:57 (23.7 MB/s) - ‘/content/DT_SegNet/Models/detection.pt’ saved [153696317/153696317]\n", + "2024-03-06 14:13:27 (159 MB/s) - ‘/content/DT_SegNet/Models/detection.pt’ saved [153696317/153696317]\n", "\n", - "--2023-05-15 08:40:58-- https://github.com/xiazeyu/DT_SegNet/releases/latest/download/segmentation.pdparams\n", - "Resolving github.com (github.com)... 20.205.243.166\n", - "Connecting to github.com (github.com)|20.205.243.166|:443... connected.\n", + "--2024-03-06 14:13:28-- https://github.com/xiazeyu/DT_SegNet/releases/latest/download/segmentation.pdparams\n", + "Resolving github.com (github.com)... 140.82.112.4\n", + "Connecting to github.com (github.com)|140.82.112.4|:443... connected.\n", "HTTP request sent, awaiting response... 302 Found\n", - "Location: https://github.com/xiazeyu/DT_SegNet/releases/download/v1.0.1/segmentation.pdparams [following]\n", - "--2023-05-15 08:40:58-- https://github.com/xiazeyu/DT_SegNet/releases/download/v1.0.1/segmentation.pdparams\n", + "Location: https://github.com/xiazeyu/DT_SegNet/releases/download/v1.1.0/segmentation.pdparams [following]\n", + "--2024-03-06 14:13:28-- https://github.com/xiazeyu/DT_SegNet/releases/download/v1.1.0/segmentation.pdparams\n", "Reusing existing connection to github.com:443.\n", "HTTP request sent, awaiting response... 302 Found\n", - "Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/583010192/70457e6f-d194-4aab-9ae0-7a736590b40d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230515%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230515T084058Z&X-Amz-Expires=300&X-Amz-Signature=3ab69d886e9841da144b2f20b92f2c87568ff604e0755742e55bebe6350ba898&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=583010192&response-content-disposition=attachment%3B%20filename%3Dsegmentation.pdparams&response-content-type=application%2Foctet-stream [following]\n", - "--2023-05-15 08:40:58-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/583010192/70457e6f-d194-4aab-9ae0-7a736590b40d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230515%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230515T084058Z&X-Amz-Expires=300&X-Amz-Signature=3ab69d886e9841da144b2f20b92f2c87568ff604e0755742e55bebe6350ba898&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=583010192&response-content-disposition=attachment%3B%20filename%3Dsegmentation.pdparams&response-content-type=application%2Foctet-stream\n", - "Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...\n", - "Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... connected.\n", + "Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/583010192/4f6d28aa-411b-4ac5-a515-b1a62bbab27b?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240306%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240306T141328Z&X-Amz-Expires=300&X-Amz-Signature=6060515de47ce8299720b502737335fd5a74266a2b39300c08142e30bced8144&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=583010192&response-content-disposition=attachment%3B%20filename%3Dsegmentation.pdparams&response-content-type=application%2Foctet-stream [following]\n", + "--2024-03-06 14:13:28-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/583010192/4f6d28aa-411b-4ac5-a515-b1a62bbab27b?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVCODYLSA53PQK4ZA%2F20240306%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240306T141328Z&X-Amz-Expires=300&X-Amz-Signature=6060515de47ce8299720b502737335fd5a74266a2b39300c08142e30bced8144&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=583010192&response-content-disposition=attachment%3B%20filename%3Dsegmentation.pdparams&response-content-type=application%2Foctet-stream\n", + "Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.109.133, 185.199.108.133, 185.199.111.133, ...\n", + "Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.109.133|:443... connected.\n", "HTTP request sent, awaiting response... 200 OK\n", "Length: 54730932 (52M) [application/octet-stream]\n", "Saving to: ‘/content/DT_SegNet/Models/segmentation.pdparams’\n", "\n", - "/content/DT_SegNet/ 100%[===================>] 52.20M 16.5MB/s in 3.2s \n", + "/content/DT_SegNet/ 100%[===================>] 52.20M 198MB/s in 0.3s \n", "\n", - "2023-05-15 08:41:02 (16.5 MB/s) - ‘/content/DT_SegNet/Models/segmentation.pdparams’ saved [54730932/54730932]\n", + "2024-03-06 14:13:29 (198 MB/s) - ‘/content/DT_SegNet/Models/segmentation.pdparams’ saved [54730932/54730932]\n", "\n", - " File: /content/DT_SegNet/Models/detection.pt\n", - " Size: 153696317 \tBlocks: 300192 IO Block: 4096 regular file\n", - "Device: 30h/48d\tInode: 4987253 Links: 1\n", - "Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)\n", - "Access: 2023-05-15 08:40:57.000000000 +0000\n", - "Modify: 2023-03-13 16:47:02.000000000 +0000\n", - "Change: 2023-05-15 08:40:57.985355633 +0000\n", - " Birth: -\n", - " File: /content/DT_SegNet/Models/segmentation.pdparams\n", - " Size: 54730932 \tBlocks: 106904 IO Block: 4096 regular file\n", - "Device: 30h/48d\tInode: 4987265 Links: 1\n", - "Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)\n", - "Access: 2023-05-15 08:41:02.000000000 +0000\n", - "Modify: 2023-03-13 16:47:16.000000000 +0000\n", - "Change: 2023-05-15 08:41:02.318770417 +0000\n", - " Birth: -\n" + "Current model:\n", + "total 199M\n", + "-rw-r--r-- 1 root root 147M May 19 2023 detection.pt\n", + "-rw-r--r-- 1 root root 53M May 19 2023 segmentation.pdparams\n" ] } ] @@ -4150,32 +3784,46 @@ { "cell_type": "code", "source": [ - "#@title Upload file from local filesystem\n", + "#@title a) Upload local images for prediction\n", "\n", "Path('/content/DT_SegNet/Uploaded').mkdir(exist_ok=True, parents=True)\n", "%cd /content/DT_SegNet/Uploaded\n", + "support_exts = ['.jpg', '.png', '.tif', '.bmp']\n", + "accepted_file_names = [x.stem for x in Path('/content/DT_SegNet/Uploaded').glob('**/*')]\n", "\n", + "print(f'Current supported image types: {\", \".join(support_exts)}')\n", "uploaded = files.upload()\n", "\n", + "\n", "for fn in uploaded.keys():\n", - " print('User uploaded file \"{name}\" with length {length} bytes'.format(\n", - " name=fn, length=len(uploaded[fn])))" + " if Path(fn).suffix not in support_exts:\n", + " print(f'{fn} is discarded due to unsupported file extension {Path(fn).suffix}.')\n", + " Path(fn).unlink(missing_ok=True)\n", + " else:\n", + " if Path(fn).stem in accepted_file_names:\n", + " print(f'You\\'ve uploaded two files with the same stem: {Path(fn).stem}. Please rename {fn} and try uploading again to avoid conflicts.')\n", + " Path(fn).unlink(missing_ok=True)\n", + " else:\n", + " accepted_file_names.append(Path(fn).stem)\n", + " print(f'User uploaded file \"{fn}\" with length {len(uploaded[fn])} bytes')\n" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", - "height": 325 + "height": 183 }, "id": "pbfdZm1kYjmT", - "outputId": "98b5b04d-1f3d-41e8-a217-7c08665c255a" + "outputId": "d2f9b737-6a01-4bab-d2b8-40e09cbfc5f9", + "cellView": "form" }, - "execution_count": 9, + "execution_count": 4, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - "/content/DT_SegNet/Uploaded\n" + "/content/DT_SegNet/Uploaded\n", + "Current supported image types: .jpg, .png, .tif, .bmp\n" ] }, { @@ -4186,9 +3834,9 @@ ], "text/html": [ "\n", - " \n", - " \n", + " \n", " Upload widget is only available when the cell has been executed in the\n", " current browser session. Please rerun this cell to enable.\n", " \n", @@ -4377,25 +4025,98 @@ "name": "stdout", "text": [ "Saving 1.png to 1.png\n", - "Saving 5.png to 5.png\n", - "Saving 9.png to 9.png\n", - "Saving 14.png to 14.png\n", - "Saving 20.png to 20.png\n", + "Saving 2.jpg to 2.jpg\n", "User uploaded file \"1.png\" with length 331450 bytes\n", - "User uploaded file \"5.png\" with length 181865 bytes\n", - "User uploaded file \"9.png\" with length 296689 bytes\n", - "User uploaded file \"14.png\" with length 322507 bytes\n", - "User uploaded file \"20.png\" with length 650489 bytes\n" + "User uploaded file \"2.jpg\" with length 3865104 bytes\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "#@title b) Or connect to Google Drive to upload images for prediction\n", + "\n", + "Path('/content/DT_SegNet/Uploaded').mkdir(exist_ok=True, parents=True)\n", + "%cd /content/DT_SegNet/Uploaded\n", + "support_exts = ['.jpg', '.png', '.tif', '.bmp']\n", + "accepted_file_names = [x.stem for x in Path('/content/DT_SegNet/Uploaded').glob('**/*')]\n", + "\n", + "print(f'Current supported image types: {\", \".join(support_exts)}')\n", + "\n", + "from google.colab import drive\n", + "drive.mount('/content/drive')\n", + "\n", + "drive_input_root = \"/content/drive/MyDrive/DT_SegNet_Input\" #@param {allow-input: true}\n", + "\n", + "\n", + "for fn in [file for file in Path(drive_input_root).glob('**/*') if file.suffix in support_exts]:\n", + " if Path(fn).stem in accepted_file_names:\n", + " print(f'You\\'ve uploaded two files with the same stem: {Path(fn).stem}. Please rename {fn} and try uploading again to avoid conflicts.')\n", + " else:\n", + " accepted_file_names.append(Path(fn).stem)\n", + " shutil.copy(fn, Path('/content/DT_SegNet/Uploaded') / fn.name)\n", + " print(f'User uploaded file \"{fn}\".')\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "cellView": "form", + "id": "6m0J_HhURcWt", + "outputId": "7a03da3f-cc72-468c-973f-55ada5dadba0" + }, + "execution_count": 5, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "/content/DT_SegNet/Uploaded\n", + "Current supported image types: .jpg, .png, .tif, .bmp\n", + "Mounted at /content/drive\n", + "User uploaded file \"/content/drive/MyDrive/DT_SegNet_Input/3.tif\".\n", + "User uploaded file \"/content/drive/MyDrive/DT_SegNet_Input/4.bmp\".\n" ] } ] }, + { + "cell_type": "markdown", + "source": [ + "## Inference" + ], + "metadata": { + "id": "wa95KgDhy6Md" + } + }, { "cell_type": "code", "source": [ - "#@ Inference\n", + "#@title Specify hyper-parameters\n", + "#@markdown Adjust these values if the results are not satisfactory. If still not ideal, consider finetune the model\n", + "#@markdown ## Object Confidence Threshold\n", + "#@markdown A lower threshold may result in more false detections, while a higher threshold may result in missed detections.\n", + "conf_thres = 0.475 # @param {type:\"slider\", min:0, max:1, step:0.001}\n", + "\n", + "#@markdown ## IoU Threshold for NMS (Non-Maximum Suppression)\n", + "#@markdown A higher IOU threshold means that one of the two boxes will only be considered for deletion if they overlap highly. A lower threshold may result in more boxes being removed, which may cause some objects to be missed.\n", + "iou_thres = 0.45 # @param {type:\"slider\", min:0, max:1, step:0.001}\n", + "\n" + ], + "metadata": { + "cellView": "form", + "id": "YJgOXUuAycX9" + }, + "execution_count": 6, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "#@title Detection\n", "%cd /content/DT_SegNet/1_Detection_Model\n", - "!python detect.py --project \"/content/DT_SegNet/Detection_Output\" --weights {detection_model_path} --img 1280 --source /content/DT_SegNet/Uploaded --line-thickness 2 --save-txt --save-conf --save-crop --conf-thres 0.475\n", + "!python detect.py --project \"/content/DT_SegNet/Detection_Output\" --weights {detection_model_path} --img 1280 --source /content/DT_SegNet/Uploaded --line-thickness 2 --save-txt --save-conf --save-crop --conf-thres {conf_thres} --iou-thres {iou_thres}\n", "%cd .." ], "metadata": { @@ -4403,9 +4124,10 @@ "base_uri": "https://localhost:8080/" }, "id": "R9MG-aFObQ7G", - "outputId": "9d77537a-0495-4704-ce6f-f0d402dc031d" + "outputId": "a2f34455-629f-4533-bfc9-7f93c7700000", + "cellView": "form" }, - "execution_count": 10, + "execution_count": 7, "outputs": [ { "output_type": "stream", @@ -4413,45 +4135,18 @@ "text": [ "/content/DT_SegNet/1_Detection_Model\n", "\u001b[34m\u001b[1mdetect: \u001b[0mweights=['/content/DT_SegNet/Models/detection.pt'], source=/content/DT_SegNet/Uploaded, data=data/coco128.yaml, imgsz=[1280, 1280], conf_thres=0.475, iou_thres=0.45, max_det=1000, device=, view_img=False, save_txt=True, save_conf=True, save_crop=True, nosave=False, classes=None, agnostic_nms=False, augment=False, visualize=False, update=False, project=/content/DT_SegNet/Detection_Output, name=exp, exist_ok=False, line_thickness=2, hide_labels=False, hide_conf=False, half=False, dnn=False\n", - "\u001b[31m\u001b[1mrequirements:\u001b[0m protobuf<=3.20.1 not found and is required by YOLOv5, attempting auto-update...\n", - "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", - "google-api-core 2.11.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", - "google-cloud-bigquery 3.9.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", - "google-cloud-bigquery-storage 2.19.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", - "google-cloud-datastore 2.15.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", - "google-cloud-firestore 2.11.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", - "google-cloud-language 2.9.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", - "google-cloud-translate 3.11.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", - "googleapis-common-protos 1.59.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", - "onnx 1.14.0 requires protobuf>=3.20.2, but you have protobuf 3.20.1 which is incompatible.\n", - "paddlepaddle-gpu 2.4.1.post112 requires protobuf<=3.20.0,>=3.1.0, but you have protobuf 3.20.1 which is incompatible.\n", - "tensorflow 2.12.0 requires protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3, but you have protobuf 3.20.1 which is incompatible.\n", - "tensorflow-metadata 1.13.1 requires protobuf<5,>=3.20.3, but you have protobuf 3.20.1 which is incompatible.\u001b[0m\u001b[31m\n", - "\u001b[0mLooking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Collecting protobuf<=3.20.1\n", - " Using cached protobuf-3.20.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.1 MB)\n", - "Installing collected packages: protobuf\n", - " Attempting uninstall: protobuf\n", - " Found existing installation: protobuf 3.20.3\n", - " Uninstalling protobuf-3.20.3:\n", - " Successfully uninstalled protobuf-3.20.3\n", - "Successfully installed protobuf-3.20.1\n", - "\n", - "\u001b[31m\u001b[1mrequirements:\u001b[0m 1 package updated per /content/DT_SegNet/1_Detection_Model/requirements.txt\n", - "\u001b[31m\u001b[1mrequirements:\u001b[0m ⚠️ \u001b[1mRestart runtime or rerun command for updates to take effect\u001b[0m\n", - "\n", - "YOLOv5 🚀 2023-5-15 Python-3.10.11 torch-2.0.0+cu118 CUDA:0 (NVIDIA A100-SXM4-40GB, 40514MiB)\n", + "YOLOv5 🚀 2024-3-6 Python-3.10.12 torch-2.1.0+cu121 CUDA:0 (Tesla T4, 15102MiB)\n", "\n", "Fusing layers... \n", "Model summary: 476 layers, 76118664 parameters, 0 gradients, 109.9 GFLOPs\n", - "image 1/5 /content/DT_SegNet/Uploaded/1.png: 1088x1280 50 precipitates, Done. (0.115s)\n", - "image 2/5 /content/DT_SegNet/Uploaded/14.png: 960x1280 78 precipitates, Done. (0.117s)\n", - "image 3/5 /content/DT_SegNet/Uploaded/20.png: 960x1280 82 precipitates, Done. (0.013s)\n", - "image 4/5 /content/DT_SegNet/Uploaded/5.png: 1216x1280 81 precipitates, Done. (0.117s)\n", - "image 5/5 /content/DT_SegNet/Uploaded/9.png: 960x1280 47 precipitates, Done. (0.013s)\n", - "Speed: 1.1ms pre-process, 75.0ms inference, 22.3ms NMS per image at shape (1, 3, 1280, 1280)\n", + "WARNING: NMS time limit 0.330s exceeded\n", + "image 1/4 /content/DT_SegNet/Uploaded/1.png: 1088x1280 50 precipitates, Done. (0.092s)\n", + "image 2/4 /content/DT_SegNet/Uploaded/2.jpg: 960x1280 330 precipitates, Done. (0.080s)\n", + "image 3/4 /content/DT_SegNet/Uploaded/3.tif: 960x1280 331 precipitates, Done. (0.099s)\n", + "image 4/4 /content/DT_SegNet/Uploaded/4.bmp: 960x1280 331 precipitates, Done. (0.131s)\n", + "Speed: 1.3ms pre-process, 100.4ms inference, 176.9ms NMS per image at shape (1, 3, 1280, 1280)\n", "Results saved to \u001b[1m/content/DT_SegNet/Detection_Output/exp\u001b[0m\n", - "5 labels saved to /content/DT_SegNet/Detection_Output/exp/labels\n", + "4 labels saved to /content/DT_SegNet/Detection_Output/exp/labels\n", "/content/DT_SegNet\n" ] } @@ -4460,20 +4155,212 @@ { "cell_type": "code", "source": [ - "#title Select detection exp name\n", - "detection_inference_exp = 'exp' #@param {type:\"string\"}\n", + "#@title Select your detection exp\n", + "\n", + "output = widgets.Output()\n", + "\n", + "det_exps = [x.stem for x in Path('/content/DT_SegNet/Detection_Output').iterdir() if x.is_dir()]\n", + "w = widgets.Dropdown(\n", + " options=det_exps + ['---'],\n", + " value='---',\n", + " description='choose exp:',\n", + " disabled=False,\n", + ")\n", + "\n", + "def on_change(change):\n", + " global detection_inference_exp_path\n", + " if change['type'] == 'change' and change['name'] == 'value':\n", + " if change['new'] == '---':\n", + " display.clear_output()\n", + " display.display(w, output)\n", + " return\n", + " display.clear_output()\n", + " display.display(w, output)\n", + " detection_inference_exp = change['new']\n", + " detection_inference_exp_path = f\"/content/DT_SegNet/Detection_Output/{detection_inference_exp}\"\n", + " print(f'Selected {detection_inference_exp_path}')\n", + " button = widgets.Button(\n", + " description='Download',\n", + " disabled=False,\n", + " button_style='success', # 'success', 'info', 'warning', 'danger' or ''\n", + " tooltip='Download the prediction result of selected exp.',\n", + " icon='download' # (FontAwesome names without the `fa-` prefix)\n", + " )\n", + "\n", + " def on_button_clicked(b):\n", + " %cd {detection_inference_exp_path}\n", + " !rm -f /content/DT_SegNet/detection_output.zip\n", + " !zip -qr '/content/DT_SegNet/detection_output.zip' .\n", + " files.download('/content/DT_SegNet/detection_output.zip')\n", + "\n", + " button.on_click(on_button_clicked)\n", + " display.display(button, output)\n", + "\n", + "w.observe(on_change)\n", + "display.display(w, output)\n" + ], + "metadata": { + "id": "DnQhLJyOb8lK", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 117, + "referenced_widgets": [ + "7f3adc7c663f4867a92f9c64ea33c037", + "f8484f4fe6cd48cfbcd6f254c22a16d0", + "24f6487a623a4dea86616d8293760582", + "1a98617340fc4b53a1d07fda534ed688", + "91e3986c553b4afda68d9cd0c4febb04", + "a17c531f83ad4bd983d405ee30f7d7ec", + "31084feb284e4de3ac241d713adaa790", + "8c9621297ec44228b04b71154bbddd01" + ] + }, + "cellView": "form", + "outputId": "df8f967e-43d7-4804-ed2b-2f5fe6984c45" + }, + "execution_count": 8, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Dropdown(description='choose exp:', options=('exp', '---'), value='exp')" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "7f3adc7c663f4867a92f9c64ea33c037" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Output()" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "1a98617340fc4b53a1d07fda534ed688" + } + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Selected /content/DT_SegNet/Detection_Output/exp\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Button(button_style='success', description='Download', icon='download', style=ButtonStyle(), tooltip='Download…" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "a17c531f83ad4bd983d405ee30f7d7ec" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Output()" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "1a98617340fc4b53a1d07fda534ed688" + } + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "/content/DT_SegNet/Detection_Output/exp\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "application/javascript": [ + "\n", + " async function download(id, filename, size) {\n", + " if (!google.colab.kernel.accessAllowed) {\n", + " return;\n", + " }\n", + " const div = document.createElement('div');\n", + " const label = document.createElement('label');\n", + " label.textContent = `Downloading \"${filename}\": `;\n", + " div.appendChild(label);\n", + " const progress = document.createElement('progress');\n", + " progress.max = size;\n", + " div.appendChild(progress);\n", + " document.body.appendChild(div);\n", + "\n", + " const buffers = [];\n", + " let downloaded = 0;\n", + "\n", + " const channel = await google.colab.kernel.comms.open(id);\n", + " // Send a message to notify the kernel that we're ready.\n", + " channel.send({})\n", + "\n", + " for await (const message of channel.messages) {\n", + " // Send a message to notify the kernel that we're ready.\n", + " channel.send({})\n", + " if (message.buffers) {\n", + " for (const buffer of message.buffers) {\n", + " buffers.push(buffer);\n", + " downloaded += buffer.byteLength;\n", + " progress.value = downloaded;\n", + " }\n", + " }\n", + " }\n", + " const blob = new Blob(buffers, {type: 'application/binary'});\n", + " const a = document.createElement('a');\n", + " a.href = window.URL.createObjectURL(blob);\n", + " a.download = filename;\n", + " div.appendChild(a);\n", + " a.click();\n", + " div.remove();\n", + " }\n", + " " + ] + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "application/javascript": [ + "download(\"download_cc01b5dd-919d-4d05-8063-e21a8d2797fa\", \"detection_output.zip\", 27316483)" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "#@title Segmentation\n", "\n", - "detection_inference_exp_path = f\"/content/DT_SegNet/Detection_Output/{detection_inference_exp}\"\n" - ], - "metadata": { - "id": "DnQhLJyOb8lK" - }, - "execution_count": 11, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ "data_dir = Path('/content/DT_SegNet/Uploaded')\n", "label_dir = Path(detection_inference_exp_path) / 'labels'\n", "\n", @@ -4490,8 +4377,10 @@ " data['y1'] = ((data['y_center'] + dilation * data['height'] / 2) * img_y).astype(\"int\")\n", " return data\n", "\n", + "shutil.rmtree(seg_output_dir, ignore_errors=True)\n", + "shutil.rmtree('/content/DT_SegNet/Segmentation_Output/', ignore_errors=True)\n", "seg_output_dir.mkdir(parents=True, exist_ok=True)\n", - "for img_path in list(data_dir.glob('**/*.png')):\n", + "for img_path in [file for file in data_dir.glob('**/*') if file.suffix in support_exts]:\n", " print(f'Processing {str(img_path)}')\n", "\n", " # process cropped image\n", @@ -4504,11 +4393,11 @@ " box = (r.x0, r.y0, r.x1, r.y1)\n", " region = img.crop(box)\n", " # region.show()\n", - " croped_savepath = seg_output_dir / f'{img_path.stem}_{index}{img_path.suffix}'\n", + " croped_savepath = seg_output_dir / f'{img_path.stem}_{index}.png'\n", " # print(croped_savepath, box)\n", " region.save(croped_savepath)\n", " pbar.update(1)\n", - " \n", + "\n", "%cd /content/DT_SegNet/3_Segmentation_Model\n", "!python predict.py --config configs/dtsegnet/segformer_b1.yml --model_path {segmentation_model_path} --image_path /content/DT_SegNet/Segmentation_Input/ --save_dir /content/DT_SegNet/Segmentation_Output/\n", "%cd /content/DT_SegNet" @@ -4518,110 +4407,134 @@ "base_uri": "https://localhost:8080/", "height": 1000, "referenced_widgets": [ - "dca9f660db3f477cbd9f24522b063081", - "4d850615fdd1435f88b8d3b93cad4e76", - "8141f49b055b4c5a8a10cba89222c740", - "23696f632c634aae87190b3f347b8366", - "68dc78d1cef4474595b88ce788df7c36", - "a105f44719894debbbc55c8a06a8ba44", - "189c66aaac6f4dc09a55f7211f3a3ed6", - "d88d70ea8b274d25837973083059af46", - "f40becf59f654087a5177584c08eaca7", - "45f7396c5d57461b9f2665b942bcdc9d", - "f419d8528f2043b796834cabc1c1a107", - "9cc4e6e85b2b469aaa15142f39702486", - "ee243ec8e5af4b6f90f4e03f97fdda3e", - "60befbbeaea142749e0a1f3c225aff50", - "206c6ff2f7e84b2890e7241882708f75", - "0f2eed2289fd45d49f8f5746f345ab7a", - "fd59dbf45a25485cb08a7033980575c8", - "5ebf18ef4c4c4cbc918eb40fb358d191", - "d4b54be463874f728d365498fe443a8b", - "b8a88e0773d04440869471940d969f2d", - "e0adf85224104eb3a476fc07cb51a773", - "5e8bf2cf905e40ababde2d02a3b5a61a", - "e519b0634ad24dcab7ad4ba8bc68462d", - "234ae19e1d634c5387c8d9b0cf2820ac", - "12a1e5767b5745ef9fa883b2878d3464", - "16602e22f00f49678e84f8f1a0c00028", - "7acaf757f1e8455f96aac94c1788f363", - "9ac8792d49a34b3da649447516b0c52d", - "ced90dab687847d29275acefe6531052", - "521755383f1744049e677f4d9502d03c", - "797cb43599c145c1ad48ef769adffbc1", - "ae99a62fb6794462aad64e04d6979530", - "617655ac72c0499ea2188c18635a3345", - "55a94806961143b29c48e52add2c24c2", - "4878a209dd514b9c831644722985a518", - "25f27a8c568b495da8e7f121e82559fa", - "c2210f4b9f094c8ba6be526023eb8350", - "43695113e645488f95b51d6427fe6295", - "5e0a54791086477e93fc9b02f6e4ee05", - "09fd88e138d245768eac6ead1a1cd6b6", - "19a7a0725652487c83d73707a2b684b6", - "2f5606d523da4c46b0823b77e3ea326a", - "8227a45317274b2cb548f788643cc486", - "91a976064fc243f8bca14da6cb6cae1a", - "4596097f612044348281067ff6f3c456", - "88661e6969154f30882522d3cb9b3a40", - "04f22fd975b742299995afd3d9a683c7", - "9608abd07ea34fc0b8e8428e7ccb091d", - "70925c680ae642e980eb9a71d5c4a36a", - "5226eacdeae24c0194b85977661f6256", - "7f7e196e2d5d449f890f55a839651c5b", - "b6da37029308403fa249d47beddfd66a", - "f8bf86793ef6437ea42bdc969a02deb4", - "fdfda7d46437416885ff896478e37923", - "e6df75db99974fb1a5f06e71c33c48ae" + "0163aba0038b48649f144b25951d0a4c", + "80ff9b6de1f843aeb38e9ae26a587297", + "2763685fdccb496dac5e598861c9891a", + "0ec65554c8ad4543b47f1ca99291b23c", + "dd4f5fc4f5ac4c8eaaf36bdfd8f5b4d5", + "c419bf5d6e94449ca57519a41f9ad837", + "5708a0f94c9646f4b5a9f3d12c2c4a5a", + "48a25e154b06462ba4c3144745109038", + "7389f87bf72d4d6988c872c3038aa17f", + "8104ddecf3804734ac930a85a08a824f", + "2f7d3b32af6e42858c491144bdfbd407", + "925aaca7345f469b8d85b7632af75283", + "8a09dba6a1f244289194dbc8c4ac9515", + "fc1ff1898fa44ceead5675ad74aa98f9", + "7f601c63c7bb4b69936b1f37aaf4a3d5", + "e69fa23c271a46649bf555c078106c40", + "0c4d1c1342a64f9684dd47fe76d3fd0a", + "52c904afc762446b9a5728b4c023fefd", + "67fed026a1fd427abaf0220de01446c1", + "e6ab335118a648ef875757fb6763331c", + "33e37f94ae09486e925999690925856d", + "4dfa0c396d474662ab18370da70c8210", + "dd88fbcd81354066adf94ee948952af1", + "3edb310dfb684f41b147ad074503f09a", + "0b4cea92df5848238216e07fecff4567", + "aa6945daaa7a4e73a1e0b4ffdc6e7b95", + "721dbf3dbd2547c6af08746bc31e8ab3", + "f6eef9d5907a47cdba241c1ef742dc79", + "2ed88e0f0cce455da8937da2f747df15", + "757d6a683a5c4e0ca63277bbd8e4142f", + "c2f3dd701108492fac11d2b88310b8b6", + "11c7ca4eba4040a8aa00cbaca04b8f8d", + "5f8271c583f444b9b572c821968fe731", + "39e108fcf5e4441aa4b3fd06c8fb89f5", + "849d3296a312496cad34cb12ee83cb82", + "2ee46d077be546f5886b00c76ac9a0c6", + "157af447ca374afca3cf876c73f30316", + "92e82024d865430085a0d7efe29c7ef7", + "82e0217bdc954a1b81dd9add7be86223", + "7f713bc000d842f1aaa6b93292d37a6b", + "c27a40e00363401bb789aafc8c0ad7c9", + "e35eb119c1684da3896d8fc5369e2c8c", + "37a3d84a91f34c288595577d3c59bc68", + "67c1dc186d7e4cd591bff700c42c294b" ] }, "id": "TYAdtE8icJS5", - "outputId": "90ca8acc-84cb-4c21-c0be-d1dc5025459d" + "outputId": "71f09304-b69b-4149-aa81-6701160f9492", + "cellView": "form" }, - "execution_count": 12, + "execution_count": 9, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - "Processing /content/DT_SegNet/Uploaded/5.png\n" + "Processing /content/DT_SegNet/Uploaded/2.jpg\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/ipywidgets/widgets/widget.py:503: DeprecationWarning: The `ipykernel.comm.Comm` class has been deprecated. Please use the `comm` module instead.For creating comms, use the function `from comm import create_comm`.\n", + " self.comm = Comm(**args)\n" ] }, { "output_type": "display_data", "data": { "text/plain": [ - " 0%| | 0/81 [00:00.............................] - ETA: 1:05libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 39/1042 [>.............................] - ETA: 1:01libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 41/1042 [>.............................] - ETA: 1:00libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 43/1042 [>.............................] - ETA: 58s libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 51/1042 [>.............................] - ETA: 54slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 53/1042 [>.............................] - ETA: 53slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 55/1042 [>.............................] - ETA: 52slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 59/1042 [>.............................] - ETA: 50slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 65/1042 [>.............................] - ETA: 48slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 71/1042 [=>............................] - ETA: 46slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 73/1042 [=>............................] - ETA: 45slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 83/1042 [=>............................] - ETA: 43slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 87/1042 [=>............................] - ETA: 42slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 91/1042 [=>............................] - ETA: 41slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 93/1042 [=>............................] - ETA: 41slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 95/1042 [=>............................] - ETA: 41slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 97/1042 [=>............................] - ETA: 41slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 103/1042 [=>............................] - ETA: 40slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 107/1042 [==>...........................] - ETA: 39slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 115/1042 [==>...........................] - ETA: 39slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 125/1042 [==>...........................] - ETA: 38slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 133/1042 [==>...........................] - ETA: 37slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 135/1042 [==>...........................] - ETA: 37slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 137/1042 [==>...........................] - ETA: 37slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 141/1042 [===>..........................] - ETA: 36slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 143/1042 [===>..........................] - ETA: 36slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 145/1042 [===>..........................] - ETA: 36slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 149/1042 [===>..........................] - ETA: 35slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 153/1042 [===>..........................] - ETA: 35slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 155/1042 [===>..........................] - ETA: 35slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 161/1042 [===>..........................] - ETA: 34slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 163/1042 [===>..........................] - ETA: 34slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 171/1042 [===>..........................] - ETA: 33slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 173/1042 [===>..........................] - ETA: 33slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 175/1042 [====>.........................] - ETA: 33slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 177/1042 [====>.........................] - ETA: 32slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 181/1042 [====>.........................] - ETA: 32slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 189/1042 [====>.........................] - ETA: 31slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 191/1042 [====>.........................] - ETA: 31slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 195/1042 [====>.........................] - ETA: 31slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 197/1042 [====>.........................] - ETA: 31slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 199/1042 [====>.........................] - ETA: 31slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 201/1042 [====>.........................] - ETA: 30slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 205/1042 [====>.........................] - ETA: 30slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 207/1042 [====>.........................] - ETA: 30slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 211/1042 [=====>........................] - ETA: 30slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 215/1042 [=====>........................] - ETA: 29slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 217/1042 [=====>........................] - ETA: 29slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 219/1042 [=====>........................] - ETA: 29slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 221/1042 [=====>........................] - ETA: 29slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 223/1042 [=====>........................] - ETA: 29slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 225/1042 [=====>........................] - ETA: 29slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 229/1042 [=====>........................] - ETA: 28slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 231/1042 [=====>........................] - ETA: 28slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 233/1042 [=====>........................] - ETA: 28slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 235/1042 [=====>........................] - ETA: 28slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 239/1042 [=====>........................] - ETA: 28slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 241/1042 [=====>........................] - ETA: 28slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 243/1042 [=====>........................] - ETA: 28slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 247/1042 [======>.......................] - ETA: 27slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 249/1042 [======>.......................] - ETA: 27slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 255/1042 [======>.......................] - ETA: 27slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 261/1042 [======>.......................] - ETA: 27slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 263/1042 [======>.......................] - ETA: 26slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 267/1042 [======>.......................] - ETA: 26slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 273/1042 [======>.......................] - ETA: 26slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 275/1042 [======>.......................] - ETA: 26slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 277/1042 [======>.......................] - ETA: 26slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 279/1042 [=======>......................] - ETA: 26slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 285/1042 [=======>......................] - ETA: 25slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 287/1042 [=======>......................] - ETA: 25slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 289/1042 [=======>......................] - ETA: 25slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 291/1042 [=======>......................] - ETA: 25slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 293/1042 [=======>......................] - ETA: 25slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 297/1042 [=======>......................] - ETA: 25slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 303/1042 [=======>......................] - ETA: 24slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 307/1042 [=======>......................] - ETA: 24slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 309/1042 [=======>......................] - ETA: 24slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 311/1042 [=======>......................] - ETA: 24slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 313/1042 [========>.....................] - ETA: 24slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 315/1042 [========>.....................] - ETA: 24slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 317/1042 [========>.....................] - ETA: 24slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 323/1042 [========>.....................] - ETA: 23slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 329/1042 [========>.....................] - ETA: 23slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 333/1042 [========>.....................] - ETA: 23slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 335/1042 [========>.....................] - ETA: 23slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 341/1042 [========>.....................] - ETA: 23slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 345/1042 [========>.....................] - ETA: 22slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 347/1042 [========>.....................] - ETA: 22slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 353/1042 [=========>....................] - ETA: 22slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 359/1042 [=========>....................] - ETA: 22slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 363/1042 [=========>....................] - ETA: 22slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 365/1042 [=========>....................] - ETA: 22slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 367/1042 [=========>....................] - ETA: 22slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 371/1042 [=========>....................] - ETA: 21slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 373/1042 [=========>....................] - ETA: 21slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 375/1042 [=========>....................] - ETA: 21slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 381/1042 [=========>....................] - ETA: 21slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 383/1042 [==========>...................] - ETA: 21slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 387/1042 [==========>...................] - ETA: 21slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 389/1042 [==========>...................] - ETA: 21slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 391/1042 [==========>...................] - ETA: 21slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 397/1042 [==========>...................] - ETA: 20slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 399/1042 [==========>...................] - ETA: 20slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 411/1042 [==========>...................] - ETA: 20slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 413/1042 [==========>...................] - ETA: 20slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 415/1042 [==========>...................] - ETA: 20slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 419/1042 [===========>..................] - ETA: 19slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 421/1042 [===========>..................] - ETA: 19slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 425/1042 [===========>..................] - ETA: 19slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 427/1042 [===========>..................] - ETA: 19slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 431/1042 [===========>..................] - ETA: 19slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 433/1042 [===========>..................] - ETA: 19slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 435/1042 [===========>..................] - ETA: 19slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 437/1042 [===========>..................] - ETA: 19slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 439/1042 [===========>..................] - ETA: 19slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 451/1042 [===========>..................] - ETA: 18slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 453/1042 [============>.................] - ETA: 18slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 463/1042 [============>.................] - ETA: 18slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 467/1042 [============>.................] - ETA: 18slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 469/1042 [============>.................] - ETA: 18slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 471/1042 [============>.................] - ETA: 17slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 477/1042 [============>.................] - ETA: 17slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 483/1042 [============>.................] - ETA: 17slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 487/1042 [=============>................] - ETA: 17slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 493/1042 [=============>................] - ETA: 17slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 495/1042 [=============>................] - ETA: 17slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 497/1042 [=============>................] - ETA: 17slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 499/1042 [=============>................] - ETA: 17slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 501/1042 [=============>................] - ETA: 17slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 503/1042 [=============>................] - ETA: 16slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 511/1042 [=============>................] - ETA: 16slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 513/1042 [=============>................] - ETA: 16slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 519/1042 [=============>................] - ETA: 16slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 523/1042 [==============>...............] - ETA: 16slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 529/1042 [==============>...............] - ETA: 16slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 531/1042 [==============>...............] - ETA: 16slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 537/1042 [==============>...............] - ETA: 15slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 547/1042 [==============>...............] - ETA: 15slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 549/1042 [==============>...............] - ETA: 15slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 557/1042 [===============>..............] - ETA: 15slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 561/1042 [===============>..............] - ETA: 15slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 565/1042 [===============>..............] - ETA: 15slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 567/1042 [===============>..............] - ETA: 15slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 569/1042 [===============>..............] - ETA: 14slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 573/1042 [===============>..............] - ETA: 14slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 577/1042 [===============>..............] - ETA: 14slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 583/1042 [===============>..............] - ETA: 14slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 585/1042 [===============>..............] - ETA: 14slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 587/1042 [===============>..............] - ETA: 14slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 589/1042 [===============>..............] - ETA: 14slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 593/1042 [================>.............] - ETA: 14slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 597/1042 [================>.............] - ETA: 14slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 599/1042 [================>.............] - ETA: 14slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 601/1042 [================>.............] - ETA: 13slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 603/1042 [================>.............] - ETA: 13slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 605/1042 [================>.............] - ETA: 13slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 607/1042 [================>.............] - ETA: 13slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 611/1042 [================>.............] - ETA: 13slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 613/1042 [================>.............] - ETA: 13slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 621/1042 [================>.............] - ETA: 13slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 623/1042 [================>.............] - ETA: 13slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 627/1042 [=================>............] - ETA: 13slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 629/1042 [=================>............] - ETA: 13slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 631/1042 [=================>............] - ETA: 12slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 635/1042 [=================>............] - ETA: 12slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 643/1042 [=================>............] - ETA: 12slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 647/1042 [=================>............] - ETA: 12slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 649/1042 [=================>............] - ETA: 12slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 655/1042 [=================>............] - ETA: 12slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 657/1042 [=================>............] - ETA: 12slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 659/1042 [=================>............] - ETA: 12slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 661/1042 [==================>...........] - ETA: 11slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 665/1042 [==================>...........] - ETA: 11slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 667/1042 [==================>...........] - ETA: 11slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 673/1042 [==================>...........] - ETA: 11slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 677/1042 [==================>...........] - ETA: 11slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 681/1042 [==================>...........] - ETA: 11slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 685/1042 [==================>...........] - ETA: 11slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 687/1042 [==================>...........] - ETA: 11slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 689/1042 [==================>...........] - ETA: 11slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 693/1042 [==================>...........] - ETA: 10slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 695/1042 [===================>..........] - ETA: 10slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 697/1042 [===================>..........] - ETA: 10slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 701/1042 [===================>..........] - ETA: 10slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 703/1042 [===================>..........] - ETA: 10slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 709/1042 [===================>..........] - ETA: 10slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 717/1042 [===================>..........] - ETA: 10slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 721/1042 [===================>..........] - ETA: 9s libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 725/1042 [===================>..........] - ETA: 9slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 727/1042 [===================>..........] - ETA: 9slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 739/1042 [====================>.........] - ETA: 9slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 741/1042 [====================>.........] - ETA: 9slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 743/1042 [====================>.........] - ETA: 9slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 749/1042 [====================>.........] - ETA: 9slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 753/1042 [====================>.........] - ETA: 8slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 755/1042 [====================>.........] - ETA: 8slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 759/1042 [====================>.........] - ETA: 8slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 761/1042 [====================>.........] - ETA: 8slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 763/1042 [====================>.........] - ETA: 8slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 765/1042 [=====================>........] - ETA: 8slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 767/1042 [=====================>........] - ETA: 8slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 773/1042 [=====================>........] - ETA: 8slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 777/1042 [=====================>........] - ETA: 8slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 779/1042 [=====================>........] - ETA: 8slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 781/1042 [=====================>........] - ETA: 8slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 783/1042 [=====================>........] - ETA: 7slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 787/1042 [=====================>........] - ETA: 7slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 789/1042 [=====================>........] - ETA: 7slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 799/1042 [======================>.......] - ETA: 7slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 801/1042 [======================>.......] - ETA: 7slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 803/1042 [======================>.......] - ETA: 7slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 805/1042 [======================>.......] - ETA: 7slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 807/1042 [======================>.......] - ETA: 7slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 809/1042 [======================>.......] - ETA: 7slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 815/1042 [======================>.......] - ETA: 6slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 817/1042 [======================>.......] - ETA: 6slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 819/1042 [======================>.......] - ETA: 6slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 821/1042 [======================>.......] - ETA: 6slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 823/1042 [======================>.......] - ETA: 6slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 825/1042 [======================>.......] - ETA: 6slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 837/1042 [=======================>......] - ETA: 6slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 845/1042 [=======================>......] - ETA: 6slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 847/1042 [=======================>......] - ETA: 5slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 851/1042 [=======================>......] - ETA: 5slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 861/1042 [=======================>......] - ETA: 5slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 863/1042 [=======================>......] - ETA: 5slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 871/1042 [========================>.....] - ETA: 5slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 873/1042 [========================>.....] - ETA: 5slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 877/1042 [========================>.....] - ETA: 5slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 881/1042 [========================>.....] - ETA: 4slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 887/1042 [========================>.....] - ETA: 4slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 901/1042 [========================>.....] - ETA: 4slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 903/1042 [========================>.....] - ETA: 4slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 905/1042 [=========================>....] - ETA: 4slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 909/1042 [=========================>....] - ETA: 4slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 911/1042 [=========================>....] - ETA: 3slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 921/1042 [=========================>....] - ETA: 3slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 925/1042 [=========================>....] - ETA: 3slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 927/1042 [=========================>....] - ETA: 3slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 929/1042 [=========================>....] - ETA: 3slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 937/1042 [=========================>....] - ETA: 3slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 943/1042 [==========================>...] - ETA: 2slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 945/1042 [==========================>...] - ETA: 2slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 947/1042 [==========================>...] - ETA: 2slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 949/1042 [==========================>...] - ETA: 2slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 955/1042 [==========================>...] - ETA: 2slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 957/1042 [==========================>...] - ETA: 2slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 959/1042 [==========================>...] - ETA: 2slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 965/1042 [==========================>...] - ETA: 2slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 967/1042 [==========================>...] - ETA: 2slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 979/1042 [===========================>..] - ETA: 1slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 981/1042 [===========================>..] - ETA: 1slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 989/1042 [===========================>..] - ETA: 1slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 993/1042 [===========================>..] - ETA: 1slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 997/1042 [===========================>..] - ETA: 1slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + " 999/1042 [===========================>..] - ETA: 1slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "1003/1042 [===========================>..] - ETA: 1slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "1007/1042 [===========================>..] - ETA: 1slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "1009/1042 [============================>.] - ETA: 1slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "1013/1042 [============================>.] - ETA: 0slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "1017/1042 [============================>.] - ETA: 0slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "1021/1042 [============================>.] - ETA: 0slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "1025/1042 [============================>.] - ETA: 0slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "1027/1042 [============================>.] - ETA: 0slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "1029/1042 [============================>.] - ETA: 0slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "1033/1042 [============================>.] - ETA: 0slibpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "libpng warning: iCCP: profile 'ICC Profile': 'RGB ': RGB color space not permitted on grayscale PNG\n", + "1042/1042 [==============================] - 32s 31ms/step\n", + "2024-03-06 14:17:46 [WARNING]\tThis `predict.py` will be removed in version 2.8, please use `tools/predict.py`.\n", "/content/DT_SegNet\n" ] } @@ -4822,22 +5390,14 @@ { "cell_type": "code", "source": [ + "#@title Generate output\n", "data_dir = Path('/content/DT_SegNet/Uploaded')\n", "seg_output_dir = Path('/content/DT_SegNet/Segmentation_Output/pseudo_color_prediction')\n", "label_dir = Path(detection_inference_exp_path) / 'labels'\n", "output_root = Path('/content/DT_SegNet/myOutput')\n", - "output_root.mkdir(exist_ok=True, parents=True)" - ], - "metadata": { - "id": "ysbjHcQedJah" - }, - "execution_count": 13, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "for img_path in list(data_dir.glob('*.png')):\n", + "output_root.mkdir(exist_ok=True, parents=True)\n", + "\n", + "for img_path in [file for file in data_dir.glob('**/*') if file.suffix in support_exts]:\n", " print(f'Processing {str(img_path)}')\n", " img = Image.open(img_path)\n", " img = img.convert(\"L\")\n", @@ -4845,7 +5405,7 @@ " output = np.zeros_like(img)\n", " with tqdm(total=len(labels)) as pbar:\n", " for index, r in labels.iterrows():\n", - " croped_path = seg_output_dir / f'{img_path.stem}_{index}{img_path.suffix}'\n", + " croped_path = seg_output_dir / f'{img_path.stem}_{index}.png'\n", " region = Image.open(croped_path)\n", " np_region = np.array(region)\n", " x0, x1, y0, y1 = int(r.x0), int(r.x1), int(r.y0), int(r.y1)\n", @@ -4877,94 +5437,101 @@ "base_uri": "https://localhost:8080/", "height": 1000, "referenced_widgets": [ - "b725695439724ede91a27024e4f2d159", - "a6711f98de8740b1a86361f5664e9ca6", - "a14af033b4fd49bc92f0709de3cd1c17", - "79bb74d038be490fbd4d2aad6fc29710", - "169b910dcde64233ac52cf4cbcb85824", - "19a07694302846b4901c30e18c1054b6", - "83b5ee68ac1c4ccf8a91549e1b5c5b81", - "e37b81eb43a8476d8c8244c4a0399661", - "f89b72d3d4e74ba7825e05ff1f105184", - "043cdc1bddec4488ba877aaa08eb77ea", - "661384fa4a7a46159df2beb713e209bd", - "ad408ddade5e4653a0cfbcb35e715b10", - "6fe6717274464f4e9960b9f68c69335d", - "568a92aa8745410bb06faa12891a66d5", - "3f3b62ab122e4740a6cb417c4598ab04", - "41d229bf9ad345c285feb225a27d9b1e", - "acc806ff762d4b22be7168d1e0b8805f", - "493856d02ac340fd86ddfb16d60d3356", - "aa380e531432466783d52db034dee84f", - "58f84eee23b24f6291d1f8241737f4bf", - "674343aba0c540339ee1c55a9c6602f8", - "9dd036ee866a4988b59537656514f21c", - "b4608f6f25ab42e4a514571159080227", - "9c117a3c70a443a0ba01649aea398a17", - "d29adb17bbba455ea65c87e97fd35b81", - "d3f412ac68984b619c94e1f3be129140", - "347ee821a6c84513aa16ee576aae4752", - "c49b9abd317e4234899133a2c98b8d22", - "6b5c03ccc2e94e36b7f3dfb4725216fd", - "57f5426081384694af09214147a2fcfb", - "5d8cb3964b90466385f262a083e0ca76", - "a02ed72d32424e1d986270ba590d4bd9", - "40a1dc7efba6460daff668e1f87b4853", - "0d8a816133af4b14af21e33f70b671d2", - "b43c8e853682459b9b3318c1abe7a4d3", - "143820888e4642a5be8c6b4d58d0f0a4", - "e83e8df175264ae0ab2877c2619f5074", - "b2649153c4854a79be1f71b3f49786a7", - "c3a02b668233437684d3e8f2a706e9b5", - "5fb7fdaac213472f9dd4be2c68908dbb", - "6b89678f007a41b1a4d229f81fbfcc41", - "779f4ba91db348b595830a447490d1f2", - "cfc3e19e1d7043de8a0be8102337defb", - "24a85f6f44c147bc910b2421dae2bf7c", - "58987707f87745c0a4c8007a446e34d3", - "25312aed419449ffad21e68e2695f846", - "90c11b87e7fa4eaea42da4b8325ea47b", - "f6c9d9faf6264b95ba73e5d5c4941ab3", - "f7682499468546e2af0cab2f1a3ff457", - "0a87772df7e94138b45c98fbfbad7daf", - "93ae1f38668843fa94d72561c1633b4c", - "3fbec6b03e7a439396136ef43d9f0718", - "36eb9cee099b43f4b46b7a3afa2c4bcd", - "999d1422f4de4378bf9c96dbf3d6fee4", - "f86ecf344cda4ae28eefdc570ff75ee5" + "257b361d18e64d95bb151b7bd13133be", + "5fd03fc628504418bad80672ea3b2716", + "392c109b8cb449e896d8ac8ee65c49ac", + "6917705c977e4672a07e21f3a29d27fd", + "74b3fa4dd6c14746bcdb3475c7f75049", + "15bc1a8a08c54dc7a0fb7747e38890eb", + "e0d30b06a4f642f39330051b018a1653", + "3d2e699297ae4420a996864ca228c732", + "f3c6eba99ad744c98cbd610dffd45252", + "76d4d0f9c76c4baa85e2440fe65ea2fa", + "95c79b639688458fb1c33892b59dd5d1", + "30b72c9aff62484fa78984ccc6ee47fd", + "10bbe8ded44b47a18391f19b71dd50ce", + "349f7f2c097241d1904d82d078f04ea1", + "e5e99397635540ba9df45a6e74a02fda", + "0ac8783a054e443b9d6b261ecedfc29c", + "5882806fa2374d1f96f9c8f029269ef9", + "8399dbf13b90464ea2927dcc7b5e7304", + "ed04b380745742ab9b7ed910b8f86f1a", + "7fd39fdb552243dabd88325c75f215c9", + "7913796308444913bfc568c314a4486d", + "235686d4bbf9400785d361edbf4503f5", + "186ac2d946144456b355e782f6cbbf24", + "6c476539c91a47dbb0e194186968a528", + "1865fbd6fd8b44e0b7aee39784c48e63", + "52980f72254f4b5fbe07ce79f9e22321", + "48f39668f66c410394e2dba5b6790752", + "8b358221a06645df8ecfad3b4e9693ed", + "8213acbccb9f4277b1c27cd7d1f9c5ff", + "a29c5570f1af445183fa1162258a995d", + "329b5893dab2473fa402a3a0e97765af", + "73e6e003b15b4146a7b7a2287ed1f3a9", + "d7f7fcdc948d469c89361417363c2454", + "aa7d78730a8a4e51ad61579c5c7418a0", + "0e1b8d0b14e048818c9251ecb3ff614f", + "52a17a5570604d3e8a3468c83fc562c9", + "a2c9aba568fc452d8f32cba2c90fc853", + "e1abb52a58ce47059ace994c37467031", + "855e76cdb3724b70ab19a6c975fd0d3b", + "d7969f258796499ab14568f6a5d2e7c2", + "da1d492c8d6e4ffc9a8e69ca53f22367", + "7854c73923d24d3e86da528e4d622471", + "a27dde0ed57c4479b4e73158a6d29b2f", + "4fbe36f4d50e4b52b0a7e042bd0e3582" ] }, "id": "W4MBeDgodP3R", - "outputId": "5213dcf7-fb8a-4a38-ceb0-d7eeb9eafa30" + "outputId": "5ac055c5-9102-497e-cd4e-2d9881b206bf", + "cellView": "form" }, - "execution_count": 14, + "execution_count": 10, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - "Processing /content/DT_SegNet/Uploaded/5.png\n" + "Processing /content/DT_SegNet/Uploaded/2.jpg\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/ipywidgets/widgets/widget.py:503: DeprecationWarning: The `ipykernel.comm.Comm` class has been deprecated. Please use the `comm` module instead.For creating comms, use the function `from comm import create_comm`.\n", + " self.comm = Comm(**args)\n" ] }, { "output_type": "display_data", "data": { "text/plain": [ - " 0%| | 0/81 [00:00" ], - "image/png": "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\n" + "image/png": "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\n" }, "metadata": {} }, @@ -4981,28 +5548,45 @@ "output_type": "stream", "name": "stdout", "text": [ - "Processing /content/DT_SegNet/Uploaded/14.png\n" + "Processing /content/DT_SegNet/Uploaded/4.bmp\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/ipywidgets/widgets/widget.py:503: DeprecationWarning: The `ipykernel.comm.Comm` class has been deprecated. Please use the `comm` module instead.For creating comms, use the function `from comm import create_comm`.\n", + " self.comm = Comm(**args)\n" ] }, { "output_type": "display_data", "data": { "text/plain": [ - " 0%| | 0/78 [00:00" ], - "image/png": "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\n" + "image/png": "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\n" }, "metadata": {} }, @@ -5022,6 +5606,14 @@ "Processing /content/DT_SegNet/Uploaded/1.png\n" ] }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/ipywidgets/widgets/widget.py:503: DeprecationWarning: The `ipykernel.comm.Comm` class has been deprecated. Please use the `comm` module instead.For creating comms, use the function `from comm import create_comm`.\n", + " self.comm = Comm(**args)\n" + ] + }, { "output_type": "display_data", "data": { @@ -5031,46 +5623,34 @@ "application/vnd.jupyter.widget-view+json": { "version_major": 2, "version_minor": 0, - "model_id": "b4608f6f25ab42e4a514571159080227" + "model_id": "186ac2d946144456b355e782f6cbbf24" } }, "metadata": {} }, { "output_type": "stream", - "name": "stdout", + "name": "stderr", "text": [ - "(514, 636) (514, 636) [0 1]\n" + "/usr/local/lib/python3.10/dist-packages/pandas/core/dtypes/cast.py:1641: DeprecationWarning: np.find_common_type is deprecated. Please use `np.result_type` or `np.promote_types`.\n", + "See https://numpy.org/devdocs/release/1.25.0-notes.html and the docs for more information. (Deprecated NumPy 1.25)\n", + " return np.find_common_type(types, [])\n" ] }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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\n" - }, - "metadata": {} - }, { "output_type": "stream", "name": "stdout", "text": [ - "Processing /content/DT_SegNet/Uploaded/20.png\n" + "(514, 636) (514, 636) [0 1]\n" ] }, { "output_type": "display_data", "data": { "text/plain": [ - " 0%| | 0/82 [00:00" ], - "application/vnd.jupyter.widget-view+json": { - "version_major": 2, - "version_minor": 0, - "model_id": "0d8a816133af4b14af21e33f70b671d2" - } + "image/png": "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\n" }, "metadata": {} }, @@ -5078,45 +5658,45 @@ "output_type": "stream", "name": "stdout", "text": [ - "(957, 1277) (957, 1277) [0 1]\n" + "Processing /content/DT_SegNet/Uploaded/3.tif\n" ] }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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wYIFevTRR7V+/fqjhtpmzJihY445pqS8duzYoZ07dxbLq7W1VS+99FJJBe2rwAMPQklw3nnn6aWXXtLWrVuLPzNnzlR7e3vx35TZ0c4555yjbjd/7bXXdOKJJ0qSJk+erObm5pJyKxQK2rhxY0m57d27V1u2bCkus379evX29mrWrFkRbEW0PvjgA9XUlHaxI0aMUG9vryTKrJygyqe1tVVPPfWUDh06VFxm3bp1+vjHP57YUzd9geT111/Xf//3f2v8+PEl71tdbqFeRhuCNWvWmLq6OnPfffeZl19+2Vx11VWmsbGx5E6ItLj66qtNNps1P//5z82vf/3r4s8HH3xQXOYrX/mKmTRpklm/fr157rnnTGtrq2ltbS2+33d76/nnn2+2bt1qnnjiCfORj3wk0be3DtT/7htjKLPBbNq0yYwcOdLceuut5vXXXzcPPvigGT16tHnggQeKy6xYscI0NjaaH//4x+aXv/yl+au/+qtBb9887bTTzMaNG83TTz9tTj755MTc3jrQ/PnzzUc/+tHiLcE//OEPzfHHH2/+4R/+obhM2sts37595oUXXjAvvPCCkWRuv/1288ILLxTvEgmifPbu3WtyuZy57LLLzLZt28yaNWvM6NGjnb4leLhyO3jwoPnc5z5nTjjhBLN169aSY0P/O2lsLTfnQokxxnz72982kyZNMrW1tebMM880zz77bNyrFAtJg/7ce++9xWV+//vfm7//+783xx13nBk9erT567/+a/PrX/+65HP+7//+z1x44YWmvr7eHH/88eb66683hw4dinhr4jMwlFBmg3vsscfMtGnTTF1dnZkyZYq5++67S97v7e01S5cuNblcztTV1ZnzzjvP7Nixo2SZ9957z1x66aVm7NixpqGhwVx++eVm3759UW5GZAqFgrn22mvNpEmTzKhRo8yf/MmfmK9//eslB4a0l9mTTz45aB82f/58Y0xw5fPiiy+ac88919TV1ZmPfvSjZsWKFVFtYiiGK7c333xzyGPDk08+WfwMW8stY0y/6QUBAABi4tQ1JQAAILkIJQAAwAqEEgAAYAVCCQAAsAKhBAAAWIFQAgAArEAoAQAAViCUAAAAKxBKAACAFQglAADACoQSAABghf8HXVx6TAE7hF8AAAAASUVORK5CYII=\n" - }, - "metadata": {} - }, { "output_type": "stream", - "name": "stdout", + "name": "stderr", "text": [ - "Processing /content/DT_SegNet/Uploaded/9.png\n" + "/usr/local/lib/python3.10/dist-packages/ipywidgets/widgets/widget.py:503: DeprecationWarning: The `ipykernel.comm.Comm` class has been deprecated. Please use the `comm` module instead.For creating comms, use the function `from comm import create_comm`.\n", + " self.comm = Comm(**args)\n" ] }, { "output_type": "display_data", "data": { "text/plain": [ - " 0%| | 0/47 [00:00" ], - "image/png": "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\n" + "image/png": "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\n" }, "metadata": {} } @@ -5134,12 +5714,11 @@ { "cell_type": "code", "source": [ - "#@title Download file to local filesystem\n", - "%cd /content/DT_SegNet\n", - "\n", - "!zip -qr '/content/DT_SegNet/Output.zip' myOutput/\n", + "#@title Download result to local filesystem\n", "\n", - "files.download('Output.zip')" + "%cd /content/DT_SegNet/myOutput\n", + "!zip -qr '/content/DT_SegNet/Output.zip' .\n", + "files.download('/content/DT_SegNet/Output.zip')" ], "metadata": { "colab": { @@ -5147,15 +5726,16 @@ "height": 35 }, "id": "Ws3yJ9ngZll1", - "outputId": "5bba9c6f-f5ee-41b5-8d13-82c9f3cedb7e" + "outputId": "16b84ba8-51a7-4b4d-f872-007347a1c8ae", + "cellView": "form" }, - "execution_count": 15, + "execution_count": 11, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - "/content/DT_SegNet\n" + "/content/DT_SegNet/myOutput\n" ] }, { @@ -5217,12 +5797,164 @@ "" ], "application/javascript": [ - "download(\"download_2ea0fe8a-4aa9-43b2-898c-13860e62b6f3\", \"Output.zip\", 79218)" + "download(\"download_4776d596-eec8-46f3-b0d4-afa52a22432d\", \"Output.zip\", 542384)" ] }, "metadata": {} } ] + }, + { + "cell_type": "markdown", + "source": [ + "## Analysis" + ], + "metadata": { + "id": "pWA4_6-e4XF2" + } + }, + { + "cell_type": "code", + "source": [ + "#@title Total object count from detection stage\n", + "\n", + "output = widgets.Output()\n", + "\n", + "det_exps = [x.stem for x in Path('/content/DT_SegNet/Detection_Output').iterdir() if x.is_dir()]\n", + "w = widgets.Dropdown(\n", + " options=det_exps + ['---'],\n", + " value='---',\n", + " description='choose exp:',\n", + " disabled=False,\n", + ")\n", + "\n", + "def on_change(change):\n", + " global detection_inference_exp_path\n", + " if change['type'] == 'change' and change['name'] == 'value':\n", + " if change['new'] == '---':\n", + " display.clear_output()\n", + " display.display(w, output)\n", + " return\n", + " display.clear_output()\n", + " display.display(w, output)\n", + " detection_inference_exp = change['new']\n", + " detection_inference_exp_path = f\"/content/DT_SegNet/Detection_Output/{detection_inference_exp}\"\n", + " print(f'Selected {detection_inference_exp_path}')\n", + " button = widgets.Button(\n", + " description='Calculate',\n", + " disabled=False,\n", + " button_style='info', # 'success', 'info', 'warning', 'danger' or ''\n", + " tooltip='Calculate the total object count in selected exp.',\n", + " icon='calculator' # (FontAwesome names without the `fa-` prefix)\n", + " )\n", + "\n", + " def on_button_clicked(b):\n", + " for txt_path in list((Path(detection_inference_exp_path) / 'labels').glob('*.txt')):\n", + " data = pd.read_csv(str(txt_path), sep=\" \", header=None,\n", + " names=[\"class\", \"x_center\", \"y_center\", \"width\", \"height\", \"proability\"])\n", + " print(f'{txt_path.stem}: {len(data)} objects')\n", + "\n", + " button.on_click(on_button_clicked)\n", + " display.display(button, output)\n", + "\n", + "w.observe(on_change)\n", + "display.display(w, output)\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 170, + "referenced_widgets": [ + "90e5b9e846864964a0b563f4f26b9fab", + "6f1a7497cb4a4765af07f97d6d466d93", + "7ab25c9d5c4949db8d7a4b444cf6727a", + "fe6f9d86e7ab4807beb86dda560e89d7", + "096407b180bf439f85eeb7f7cb9828e7", + "55525e5b455847f6b44ef6d897b8498f", + "0764c04d4d324b2ca54c4bbe25931297", + "01b3c6093dab449dad5a43ed391a469e" + ] + }, + "cellView": "form", + "id": "3Yq3O3_P71WM", + "outputId": "2689ef68-8ad7-4eae-c2e7-b73a374ee6f0" + }, + "execution_count": 12, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Dropdown(description='choose exp:', options=('exp', '---'), value='exp')" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "90e5b9e846864964a0b563f4f26b9fab" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Output()" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "fe6f9d86e7ab4807beb86dda560e89d7" + } + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Selected /content/DT_SegNet/Detection_Output/exp\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Button(button_style='info', description='Calculate', icon='calculator', style=ButtonStyle(), tooltip='Calculat…" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "55525e5b455847f6b44ef6d897b8498f" + } + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Output()" + ], + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "fe6f9d86e7ab4807beb86dda560e89d7" + } + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2: 330 objects\n", + "3: 331 objects\n", + "1: 50 objects\n", + "4: 331 objects\n" + ] + } + ] } ] } \ No newline at end of file