{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"gpuType": "T4"
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
},
"accelerator": "GPU",
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"b8da4da1a407451985cdf6357edf1f24": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"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_3e00630e970f47c7b8d014801c4bf4ed",
"IPY_MODEL_fd5d4c94318342c2a780b16bd44fa987",
"IPY_MODEL_a165f021037749dcaae9b374c393ba8e"
],
"layout": "IPY_MODEL_f48927332f8a4698977e80d5e8328171"
}
},
"3e00630e970f47c7b8d014801c4bf4ed": {
"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_db5db26f1b4e4410b7052b2bcb2895b7",
"placeholder": "",
"style": "IPY_MODEL_4666bb5fb1a34326a0ab861d0261f145",
"value": "tokenizer_config.json: 100%"
}
},
"fd5d4c94318342c2a780b16bd44fa987": {
"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_3af8c955673b47849cc6f113ba6d3dbb",
"max": 48,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_3351c4b43574449592d45efed01bc5bb",
"value": 48
}
},
"a165f021037749dcaae9b374c393ba8e": {
"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_75d40be701f7448498aa24ea87d00f48",
"placeholder": "",
"style": "IPY_MODEL_ff0d4f80d1ba4d2f9f71e9e22d0a6f39",
"value": " 48.0/48.0 [00:00<00:00, 5.01kB/s]"
}
},
"f48927332f8a4698977e80d5e8328171": {
"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
}
},
"db5db26f1b4e4410b7052b2bcb2895b7": {
"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
}
},
"4666bb5fb1a34326a0ab861d0261f145": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"3af8c955673b47849cc6f113ba6d3dbb": {
"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
}
},
"3351c4b43574449592d45efed01bc5bb": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"75d40be701f7448498aa24ea87d00f48": {
"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
}
},
"ff0d4f80d1ba4d2f9f71e9e22d0a6f39": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"c6dc5d11415c45b2b60dc23066386cfb": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"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_65e4d3cd544b4378a9b2a49a2721c458",
"IPY_MODEL_c64abf97665c4932be6f0ad0e386824b",
"IPY_MODEL_305abf14d1794b1a90494f624cbf8f2b"
],
"layout": "IPY_MODEL_b6d74308a6b64947a4a875852a188d36"
}
},
"65e4d3cd544b4378a9b2a49a2721c458": {
"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_1a8ab5a2ec1f4365ac54ffbc51132610",
"placeholder": "",
"style": "IPY_MODEL_ce2eb39d3c63484182d2056019b040b6",
"value": "config.json: 100%"
}
},
"c64abf97665c4932be6f0ad0e386824b": {
"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_823a86bf592f4a4399c195c489e5d5d1",
"max": 570,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_815cdfdd462d4ff894f49902ff38c2ed",
"value": 570
}
},
"305abf14d1794b1a90494f624cbf8f2b": {
"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_162735087b67442da69aa7f9c061548b",
"placeholder": "",
"style": "IPY_MODEL_21a83ac2bf9d4853ae3f3b6b11ba5e37",
"value": " 570/570 [00:00<00:00, 35.0kB/s]"
}
},
"b6d74308a6b64947a4a875852a188d36": {
"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
}
},
"1a8ab5a2ec1f4365ac54ffbc51132610": {
"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
}
},
"ce2eb39d3c63484182d2056019b040b6": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"823a86bf592f4a4399c195c489e5d5d1": {
"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
}
},
"815cdfdd462d4ff894f49902ff38c2ed": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"162735087b67442da69aa7f9c061548b": {
"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
}
},
"21a83ac2bf9d4853ae3f3b6b11ba5e37": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"98e69fdd115a4642be4cd2daa6e64ac0": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"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_77a0cf2d20cd4b07bb20702d389c587a",
"IPY_MODEL_d1ef446397c14305bb71532b8a19cebc",
"IPY_MODEL_607367c28b48449b9c4fe351a47f93b8"
],
"layout": "IPY_MODEL_9c87401a87924bce90a0c380c71c6293"
}
},
"77a0cf2d20cd4b07bb20702d389c587a": {
"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_7c8741583a66417aaf9490736c5f7a05",
"placeholder": "",
"style": "IPY_MODEL_6c7dc92d00db45af87dfcd7e7f7d54c1",
"value": "vocab.txt: 100%"
}
},
"d1ef446397c14305bb71532b8a19cebc": {
"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_e20e158fdc6b48e3a2badbd284b4c263",
"max": 231508,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_7988433c08c84febbb77c771eb692858",
"value": 231508
}
},
"607367c28b48449b9c4fe351a47f93b8": {
"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_7402d61456c547199a33a284e1309ed3",
"placeholder": "",
"style": "IPY_MODEL_b8a722f3a5934b5a9c5d04b804a9e600",
"value": " 232k/232k [00:00<00:00, 1.43MB/s]"
}
},
"9c87401a87924bce90a0c380c71c6293": {
"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
}
},
"7c8741583a66417aaf9490736c5f7a05": {
"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
}
},
"6c7dc92d00db45af87dfcd7e7f7d54c1": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"e20e158fdc6b48e3a2badbd284b4c263": {
"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
}
},
"7988433c08c84febbb77c771eb692858": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"7402d61456c547199a33a284e1309ed3": {
"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
}
},
"b8a722f3a5934b5a9c5d04b804a9e600": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"4cfb9c7ad48c42b7af7061586e63e1d6": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"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_9eaa2808570a4a1cb222f69690dae3d9",
"IPY_MODEL_053cc8353ac24fb4923a4d8dffff5883",
"IPY_MODEL_55531057e92641ea8f4d9e6905e3ff6f"
],
"layout": "IPY_MODEL_f24ee5f541494d26ab376b7f68cb67ef"
}
},
"9eaa2808570a4a1cb222f69690dae3d9": {
"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_98b806a2fc02452a90e3ffb470fbd0df",
"placeholder": "",
"style": "IPY_MODEL_0591ef70564542439e9ab18e817adf41",
"value": "tokenizer.json: 100%"
}
},
"053cc8353ac24fb4923a4d8dffff5883": {
"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_0b579e57b5ee4bfd98887cf2cc82c87b",
"max": 466062,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_08c08ed2a69b4f119c470e8092df9408",
"value": 466062
}
},
"55531057e92641ea8f4d9e6905e3ff6f": {
"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_cf0af92954d54cabbf1ed3bd643e231c",
"placeholder": "",
"style": "IPY_MODEL_ade704ecfa454b2b87de92f9aaac1c18",
"value": " 466k/466k [00:00<00:00, 5.60MB/s]"
}
},
"f24ee5f541494d26ab376b7f68cb67ef": {
"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
}
},
"98b806a2fc02452a90e3ffb470fbd0df": {
"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
}
},
"0591ef70564542439e9ab18e817adf41": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"0b579e57b5ee4bfd98887cf2cc82c87b": {
"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
}
},
"08c08ed2a69b4f119c470e8092df9408": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"cf0af92954d54cabbf1ed3bd643e231c": {
"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
}
},
"ade704ecfa454b2b87de92f9aaac1c18": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"5ff5812783cc4910af68208a368a4846": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"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_7f078137ae544d408104bff8c3cd6926",
"IPY_MODEL_b86e5695944d4f99b4ef2abde54b496a",
"IPY_MODEL_271e7d6ca0ff415283716e52d66d545f"
],
"layout": "IPY_MODEL_dc61b2d113a641bcae6c1d0862cd5752"
}
},
"7f078137ae544d408104bff8c3cd6926": {
"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_b454aeebd3ba4569805609a58f402e9b",
"placeholder": "",
"style": "IPY_MODEL_8575f0b9b20f46ab83550d12a113cb4b",
"value": "model.safetensors: 100%"
}
},
"b86e5695944d4f99b4ef2abde54b496a": {
"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_6ad165751f264fa393664213160bbc1e",
"max": 440449768,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_57c908f5cb2d4c7980f202d7e181351f",
"value": 440449768
}
},
"271e7d6ca0ff415283716e52d66d545f": {
"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_ae062a5787af4c75ba4582f02ea4ce10",
"placeholder": "",
"style": "IPY_MODEL_6c1fc560da6248f8a04eefbca7ec8e1e",
"value": " 440M/440M [00:09<00:00, 60.6MB/s]"
}
},
"dc61b2d113a641bcae6c1d0862cd5752": {
"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
}
},
"b454aeebd3ba4569805609a58f402e9b": {
"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
}
},
"8575f0b9b20f46ab83550d12a113cb4b": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"6ad165751f264fa393664213160bbc1e": {
"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
}
},
"57c908f5cb2d4c7980f202d7e181351f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"ae062a5787af4c75ba4582f02ea4ce10": {
"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
}
},
"6c1fc560da6248f8a04eefbca7ec8e1e": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
}
}
}
},
"cells": [
{
"cell_type": "markdown",
"source": [
"# Import Dependencies"
],
"metadata": {
"id": "T8mzaAdwF3NQ"
}
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"id": "jnNWGOG8F2qp"
},
"outputs": [],
"source": [
"import gdown, re\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"from transformers import TFAutoModel, AutoTokenizer\n",
"from sklearn.preprocessing import LabelEncoder\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.metrics import classification_report, accuracy_score, confusion_matrix\n",
"from datasets import Dataset\n",
"from wordcloud import STOPWORDS, WordCloud\n",
"import tensorflow as tf"
]
},
{
"cell_type": "markdown",
"source": [
"# Load Data"
],
"metadata": {
"id": "aU_3ZfouF49N"
}
},
{
"cell_type": "code",
"source": [
"df = pd.read_csv('labeled_dataset.csv')\n",
"df.head()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 275
},
"id": "7Wa1WflrF5uQ",
"outputId": "42470a9d-54a2-4fe2-ae13-30f1c5ed034f"
},
"execution_count": 3,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" Unnamed: 0 Publish Date Username \\\n",
"0 0 2024-07-19 @doktor3196 \n",
"1 1 2024-07-19 @wolfmib \n",
"2 2 2024-07-19 @DRAGONFOOT \n",
"3 4 2024-07-19 @xenophon5354 \n",
"4 5 2024-07-19 @DouglasZanini \n",
"\n",
" Comment Number of Likes \\\n",
"0 Where's Eminem? 0 \n",
"1 The Mask II , Jim Carrey Revenge , May the f... 0 \n",
"2 so thats Negrodomis right?\\n\\n🤔 1 \n",
"3 Why must they destroy the public perception of... 0 \n",
"4 All due respect to Denzel, but looks like he's... 0 \n",
"\n",
" Number of Replies Cleaned Comment \\\n",
"0 0 eminem \n",
"1 0 mask two jim carrey revenge may fourth \n",
"2 0 negrodomis right \n",
"3 0 must destroy public perception past empire tim... \n",
"4 0 due respect denzel look like playing ancient rome \n",
"\n",
" Comment Length Stanford Score Stanford Label \n",
"0 1 2 Neutral \n",
"1 7 1 Negative \n",
"2 2 2 Neutral \n",
"3 8 2 Neutral \n",
"4 8 3 Positive "
],
"text/html": [
"\n",
"
\n",
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Unnamed: 0 | \n",
" Publish Date | \n",
" Username | \n",
" Comment | \n",
" Number of Likes | \n",
" Number of Replies | \n",
" Cleaned Comment | \n",
" Comment Length | \n",
" Stanford Score | \n",
" Stanford Label | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0 | \n",
" 2024-07-19 | \n",
" @doktor3196 | \n",
" Where's Eminem? | \n",
" 0 | \n",
" 0 | \n",
" eminem | \n",
" 1 | \n",
" 2 | \n",
" Neutral | \n",
"
\n",
" \n",
" | 1 | \n",
" 1 | \n",
" 2024-07-19 | \n",
" @wolfmib | \n",
" The Mask II , Jim Carrey Revenge , May the f... | \n",
" 0 | \n",
" 0 | \n",
" mask two jim carrey revenge may fourth | \n",
" 7 | \n",
" 1 | \n",
" Negative | \n",
"
\n",
" \n",
" | 2 | \n",
" 2 | \n",
" 2024-07-19 | \n",
" @DRAGONFOOT | \n",
" so thats Negrodomis right?\\n\\n🤔 | \n",
" 1 | \n",
" 0 | \n",
" negrodomis right | \n",
" 2 | \n",
" 2 | \n",
" Neutral | \n",
"
\n",
" \n",
" | 3 | \n",
" 4 | \n",
" 2024-07-19 | \n",
" @xenophon5354 | \n",
" Why must they destroy the public perception of... | \n",
" 0 | \n",
" 0 | \n",
" must destroy public perception past empire tim... | \n",
" 8 | \n",
" 2 | \n",
" Neutral | \n",
"
\n",
" \n",
" | 4 | \n",
" 5 | \n",
" 2024-07-19 | \n",
" @DouglasZanini | \n",
" All due respect to Denzel, but looks like he's... | \n",
" 0 | \n",
" 0 | \n",
" due respect denzel look like playing ancient rome | \n",
" 8 | \n",
" 3 | \n",
" Positive | \n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
\n"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "dataframe",
"variable_name": "df",
"summary": "{\n \"name\": \"df\",\n \"rows\": 17693,\n \"fields\": [\n {\n \"column\": \"Unnamed: 0\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 5446,\n \"min\": 0,\n \"max\": 18866,\n \"num_unique_values\": 17693,\n \"samples\": [\n 3321,\n 339,\n 15569\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Publish Date\",\n \"properties\": {\n \"dtype\": \"object\",\n \"num_unique_values\": 11,\n \"samples\": [\n \"2024-07-14\",\n \"2024-07-19\",\n \"2024-07-10\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Username\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 16910,\n \"samples\": [\n \"@zielujw2523\",\n \"@Smellyshelly90\",\n \"@gob-b\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Comment\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 17476,\n \"samples\": [\n \"Mr. Pedro Pascal is a badass in here since his badass fight scene as Oberyn Martell in G.O.T!\",\n \"This looks so f-ing bad... Skipping it for sure!\",\n \"Whoever this young actor is, he looks like trailer trash. He seems to have absolutely none of Crowe's charisma.\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Number of Likes\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 557,\n \"min\": -6355,\n \"max\": 29896,\n \"num_unique_values\": 391,\n \"samples\": [\n 22,\n 31,\n 23\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Number of Replies\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 0,\n \"max\": 750,\n \"num_unique_values\": 65,\n \"samples\": [\n 130,\n 726,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Cleaned Comment\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 16735,\n \"samples\": [\n \"seriously thought denzel wa gon na say n aftet laugh\",\n \"watched galdiator time wait keep watching\",\n \"much fakeness movie everything rome wa wa stolen greece greece stole persia\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Comment Length\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 4,\n \"min\": 1,\n \"max\": 21,\n \"num_unique_values\": 21,\n \"samples\": [\n 1,\n 15,\n 16\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Stanford Score\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 0,\n \"max\": 4,\n \"num_unique_values\": 5,\n \"samples\": [\n 1,\n 4,\n 3\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Stanford Label\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 5,\n \"samples\": [\n \"Negative\",\n \"Verypositive\",\n \"Positive\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
}
},
"metadata": {},
"execution_count": 3
}
]
},
{
"cell_type": "code",
"source": [
"print(df.info())\n",
"print(df['Stanford Label'].value_counts())\n"
],
"metadata": {
"id": "bXR_DQgeX73o",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "23a15bbb-2608-429a-832f-45a8640177db"
},
"execution_count": 4,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"\n",
"RangeIndex: 17693 entries, 0 to 17692\n",
"Data columns (total 10 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 Unnamed: 0 17693 non-null int64 \n",
" 1 Publish Date 17693 non-null object\n",
" 2 Username 17693 non-null object\n",
" 3 Comment 17693 non-null object\n",
" 4 Number of Likes 17693 non-null int64 \n",
" 5 Number of Replies 17693 non-null int64 \n",
" 6 Cleaned Comment 17693 non-null object\n",
" 7 Comment Length 17693 non-null int64 \n",
" 8 Stanford Score 17693 non-null int64 \n",
" 9 Stanford Label 17693 non-null object\n",
"dtypes: int64(5), object(5)\n",
"memory usage: 1.3+ MB\n",
"None\n",
"Stanford Label\n",
"Negative 8666\n",
"Neutral 5059\n",
"Positive 3427\n",
"Verynegative 447\n",
"Verypositive 94\n",
"Name: count, dtype: int64\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"important_df = df[['Cleaned Comment', 'Stanford Label']]"
],
"metadata": {
"id": "K2xSslylXKG7"
},
"execution_count": 5,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# Cek nilai kosong\n",
"print(df.isnull().sum())"
],
"metadata": {
"id": "KfnX4ulWYOmI",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "883e686c-5af8-4603-ac0a-f50e134871f8"
},
"execution_count": 6,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Unnamed: 0 0\n",
"Publish Date 0\n",
"Username 0\n",
"Comment 0\n",
"Number of Likes 0\n",
"Number of Replies 0\n",
"Cleaned Comment 0\n",
"Comment Length 0\n",
"Stanford Score 0\n",
"Stanford Label 0\n",
"dtype: int64\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"df.duplicated().sum()"
],
"metadata": {
"id": "vrgOxZY7YRBy",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "e4d58138-5086-42ea-ff89-6cec2ab07b4e"
},
"execution_count": 7,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"np.int64(0)"
]
},
"metadata": {},
"execution_count": 7
}
]
},
{
"cell_type": "code",
"source": [
"important_df"
],
"metadata": {
"id": "847mXcyRXWXv",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 423
},
"outputId": "9f423c2c-608a-4edd-e806-c701ca3f4ce0"
},
"execution_count": 8,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" Cleaned Comment Stanford Label\n",
"0 eminem Neutral\n",
"1 mask two jim carrey revenge may fourth Negative\n",
"2 negrodomis right Neutral\n",
"3 must destroy public perception past empire tim... Neutral\n",
"4 due respect denzel look like playing ancient rome Positive\n",
"... ... ...\n",
"17688 fighting wild animal colosseum wheni amdone Positive\n",
"17689 seated Neutral\n",
"17690 finally Neutral\n",
"17691 helloooo gladiator past love people cake Positive\n",
"17692 year go Neutral\n",
"\n",
"[17693 rows x 2 columns]"
],
"text/html": [
"\n",
" \n",
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Cleaned Comment | \n",
" Stanford Label | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" eminem | \n",
" Neutral | \n",
"
\n",
" \n",
" | 1 | \n",
" mask two jim carrey revenge may fourth | \n",
" Negative | \n",
"
\n",
" \n",
" | 2 | \n",
" negrodomis right | \n",
" Neutral | \n",
"
\n",
" \n",
" | 3 | \n",
" must destroy public perception past empire tim... | \n",
" Neutral | \n",
"
\n",
" \n",
" | 4 | \n",
" due respect denzel look like playing ancient rome | \n",
" Positive | \n",
"
\n",
" \n",
" | ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" | 17688 | \n",
" fighting wild animal colosseum wheni amdone | \n",
" Positive | \n",
"
\n",
" \n",
" | 17689 | \n",
" seated | \n",
" Neutral | \n",
"
\n",
" \n",
" | 17690 | \n",
" finally | \n",
" Neutral | \n",
"
\n",
" \n",
" | 17691 | \n",
" helloooo gladiator past love people cake | \n",
" Positive | \n",
"
\n",
" \n",
" | 17692 | \n",
" year go | \n",
" Neutral | \n",
"
\n",
" \n",
"
\n",
"
17693 rows × 2 columns
\n",
"
\n",
"
\n",
"
\n"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "dataframe",
"variable_name": "important_df",
"summary": "{\n \"name\": \"important_df\",\n \"rows\": 17693,\n \"fields\": [\n {\n \"column\": \"Cleaned Comment\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 16735,\n \"samples\": [\n \"seriously thought denzel wa gon na say n aftet laugh\",\n \"watched galdiator time wait keep watching\",\n \"much fakeness movie everything rome wa wa stolen greece greece stole persia\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Stanford Label\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 5,\n \"samples\": [\n \"Negative\",\n \"Verypositive\",\n \"Positive\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
}
},
"metadata": {},
"execution_count": 8
}
]
},
{
"cell_type": "code",
"source": [
"# 4. Fungsi membersihkan komentar\n",
"def clean_comment(text):\n",
" if not isinstance(text, str):\n",
" return ''\n",
" text = text.lower()\n",
" text = re.sub(r\"http\\S+|www\\S+|https\\S+\", '', text)\n",
" text = re.sub(r'<.*?>', '', text)\n",
" text = re.sub(r'[^\\x00-\\x7F]+', '', text)\n",
" text = re.sub(r'[^a-z0-9\\s]', '', text)\n",
" text = re.sub(r'\\s+', ' ', text).strip()\n",
" return text"
],
"metadata": {
"id": "EsmeUrvBXXUo"
},
"execution_count": 9,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# prompt: help create code using NLTK to clean out stopwords\n",
"\n",
"import nltk\n",
"nltk.download('stopwords')\n",
"from nltk.corpus import stopwords\n",
"\n",
"# Get Indonesian stopwords\n",
"eng_stopwords = stopwords.words('english')\n",
"\n",
"def remove_stopwords(text):\n",
" \"\"\"Removes stopwords from a given text.\"\"\"\n",
" words = text.split()\n",
" filtered_words = [word for word in words if word.lower() not in eng_stopwords]\n",
" return \" \".join(filtered_words)\n",
"\n",
"# Apply the function to the 'Comment' column\n",
"df['Comment_cleaned'] = df['Comment'].apply(clean_comment).apply(remove_stopwords)\n",
"\n",
"print(df[['Comment', 'Comment_cleaned']].head())"
],
"metadata": {
"id": "O8Hw_Gc_Xtf-",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "65754af6-854d-423b-af06-655930a374fc"
},
"execution_count": 10,
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"[nltk_data] Downloading package stopwords to /root/nltk_data...\n",
"[nltk_data] Unzipping corpora/stopwords.zip.\n"
]
},
{
"output_type": "stream",
"name": "stdout",
"text": [
" Comment \\\n",
"0 Where's Eminem? \n",
"1 The Mask II , Jim Carrey Revenge , May the f... \n",
"2 so thats Negrodomis right?\\n\\n🤔 \n",
"3 Why must they destroy the public perception of... \n",
"4 All due respect to Denzel, but looks like he's... \n",
"\n",
" Comment_cleaned \n",
"0 wheres eminem \n",
"1 mask ii jim carrey revenge may fourth \n",
"2 thats negrodomis right \n",
"3 must destroy public perception past empires ti... \n",
"4 due respect denzel looks like hes playing anci... \n"
]
}
]
},
{
"cell_type": "code",
"source": [
"important_df.columns"
],
"metadata": {
"id": "RpdVKqrVXu7a",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "85680fe6-cdb5-4c3c-9f06-76264d7c7c21"
},
"execution_count": 11,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Index(['Cleaned Comment', 'Stanford Label'], dtype='object')"
]
},
"metadata": {},
"execution_count": 11
}
]
},
{
"cell_type": "code",
"source": [
"important_df.iloc[0, 0]"
],
"metadata": {
"id": "r3TRtlIDYe7g",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 36
},
"outputId": "8f7d68c3-c1cf-4797-c5a0-322330ff1b27"
},
"execution_count": 12,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"'eminem'"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
},
"metadata": {},
"execution_count": 12
}
]
},
{
"cell_type": "code",
"source": [
"clean_comment(important_df.iloc[0, 0])"
],
"metadata": {
"id": "0UyN7mFdYgPk",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 36
},
"outputId": "ef3c3282-b453-424a-df43-a14b280b3b3a"
},
"execution_count": 13,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"'eminem'"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
},
"metadata": {},
"execution_count": 13
}
]
},
{
"cell_type": "code",
"source": [
"important_df['Stanford Label'].value_counts()"
],
"metadata": {
"id": "hPANlplfYoHu",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 272
},
"outputId": "203857e6-5352-4237-ea0d-e78bcf378b6d"
},
"execution_count": 14,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Stanford Label\n",
"Negative 8666\n",
"Neutral 5059\n",
"Positive 3427\n",
"Verynegative 447\n",
"Verypositive 94\n",
"Name: count, dtype: int64"
],
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" count | \n",
"
\n",
" \n",
" | Stanford Label | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" | Negative | \n",
" 8666 | \n",
"
\n",
" \n",
" | Neutral | \n",
" 5059 | \n",
"
\n",
" \n",
" | Positive | \n",
" 3427 | \n",
"
\n",
" \n",
" | Verynegative | \n",
" 447 | \n",
"
\n",
" \n",
" | Verypositive | \n",
" 94 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"metadata": {},
"execution_count": 14
}
]
},
{
"cell_type": "code",
"source": [
"important_df.loc[:, 'Stanford Label'] = df.loc[:, 'Stanford Label'].replace({\n",
" 'Verynegative': 'Very Negative', 'Verypositive': 'Very Positive',\n",
" 'Positive': 'Positive', 'Negative': 'Negative',\n",
" 'Neutral': 'Neutral'\n",
"})"
],
"metadata": {
"id": "kaxA2BKEY8jv"
},
"execution_count": 15,
"outputs": []
},
{
"cell_type": "code",
"source": [
"important_df['Stanford Label'].value_counts()"
],
"metadata": {
"id": "iGWEKrq-beFu",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 272
},
"outputId": "0606cecc-cf4a-461c-b51d-06b7560513a7"
},
"execution_count": 16,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Stanford Label\n",
"Negative 8666\n",
"Neutral 5059\n",
"Positive 3427\n",
"Very Negative 447\n",
"Very Positive 94\n",
"Name: count, dtype: int64"
],
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" count | \n",
"
\n",
" \n",
" | Stanford Label | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" | Negative | \n",
" 8666 | \n",
"
\n",
" \n",
" | Neutral | \n",
" 5059 | \n",
"
\n",
" \n",
" | Positive | \n",
" 3427 | \n",
"
\n",
" \n",
" | Very Negative | \n",
" 447 | \n",
"
\n",
" \n",
" | Very Positive | \n",
" 94 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"metadata": {},
"execution_count": 16
}
]
},
{
"cell_type": "code",
"source": [
"sns.countplot(data=important_df, y='Stanford Label', palette='Set1', hue='Stanford Label')\n",
"plt.title('Count of Stanford Labels')\n",
"plt.show()"
],
"metadata": {
"id": "p6VTgtMWbPLq",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 472
},
"outputId": "a6b89736-3df6-4e8d-965b-23858555ced2"
},
"execution_count": 17,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "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MTEx+vLLLx0hUpKWLVums2fPql27dpKkuLg4zZ49W++995527dqlp556Sg8//LDWrVt31X1w4cIFpaWlOX0AAMDtizD4P9q1a6fIyEiNHj06U19cXJxiYmI0ePBgVahQQXXr1tXkyZM1e/ZsnT9/Xr/88otWrlypGTNm6L777lONGjX0/vvv69y5c07zDB48WPfff7/CwsLUpEkTvfzyy/rkk08kSW5ubvL395fNZlNQUJCCgoLk4+OTqZaoqCh5e3vr888/d7TNmTNHrVu3lq+vry5cuKBXXnlFH3zwgaKiolSuXDn16tVLDz/8sKZNm3bV7Y+Li5O/v7/jExIScqO7EgAAFACEwSxMmDBBs2bN0u7du53at23bpvj4ePn4+Dg+UVFRstvtSk5OVlJSklxdXVWjRg3HMuXLl1eRIkWc5lm5cqWaNm2q0qVLy9fXV927d9fx48d19uzZbNfo6uqqzp07KyEhQZJ05swZLVq0SDExMZKkffv26ezZs3rggQec6p09e7b2799/1XlHjBih1NRUx+fw4cPZrgkAABQ8rvldwK2oYcOGioqK0ogRI9SrVy9He3p6uh577DHFxsZmWiY0NFR79uy57twHDx5Uy5Yt9cQTT2jcuHEqWrSoNmzYoD59+ujixYs5ekAkJiZGjRo10rFjx7RixQp5enoqOjraUaskLVmyRKVLl3Zazt3d/apzuru7X7MfAADcXgiDVzF+/HhFRkaqYsWKjrYaNWooMTFR5cuXz3KZihUr6vLly9qyZYvuueceSX+fofvn08k//fST7Ha73njjDbm4/H1i9sol4ivc3NyUkZFx3Rrr1q2rkJAQzZs3T19//bU6deqkwoULS5Luuusuubu769ChQ2rUqFHONh4AAFgGYfAqqlSpopiYGE2ePNnRNnz4cNWuXVsDBgxQ37595e3trcTERK1YsUJTp07VnXfeqWbNmqlfv3569913VbhwYQ0dOlSenp6OdxWWL19ely5d0pQpU9SqVStt3LhR7733ntO6w8LClJ6erlWrVqlatWry8vK66hnDbt266b333tOePXu0Zs0aR7uvr6+GDRump556Sna7XfXr11dqaqo2btwoPz8/9ezZMw/2GgAAKGi4Z/AaXnrpJdntdsf3qlWrat26ddqzZ48aNGig6tWra9SoUQoODnaMmT17tkqWLKmGDRuq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BJijR4/md2m3vaioKDNz5kyzc+dOs3XrVtOiRQsTGhpq0tPTHWMef/xxExISYlatWmV+/PFHU7t2bVO3bl1H/+XLl03lypVNs2bNzJYtW8xXX31lihcvbkaMGOEYc+DAAePl5WWGDBliEhMTzZQpU0yhQoXM0qVLb+r23k42bdpkwsLCTNWqVc2gQYMc7RyvW8+JEydM2bJlTa9evcwPP/xgDhw4YJYtW2b27dvnGDN+/Hjj7+9vFi5caLZt22Zat25twsPDzblz5xxjoqOjTbVq1cz3339v1q9fb8qXL2+6du3q6E9NTTUlS5Y0MTExZufOnebjjz82np6eZtq0aTd1e28H48aNM8WKFTOLFy82ycnJZv78+cbHx8dMmjTJMYZjlnOEQVzVvffea/r37+/4npGRYYKDg01cXFw+VmVNx44dM5LMunXrjDHGnDp1yhQuXNjMnz/fMWb37t1Gkvnuu++MMcZ89dVXxsXFxfzxxx+OMe+++67x8/MzFy5cMMYY88wzz5i7777baV1dunQxUVFReb1Jt6XTp0+bChUqmBUrVphGjRo5wiDH69Y0fPhwU79+/av22+12ExQUZF577TVH26lTp4y7u7v5+OOPjTHGJCYmGklm8+bNjjFff/21sdls5rfffjPGGPPOO++YIkWKOI7jlXVXrFgxtzfptvfggw+a3r17O7W1b9/exMTEGGM4ZjeKy8TI0sWLF/XTTz+pWbNmjjYXFxc1a9ZM3333XT5WZk2pqamSpKJFi0qSfvrpJ126dMnp+Nx5550KDQ11HJ/vvvtOVapUUcmSJR1joqKilJaWpl27djnG/HOOK2M4xjemf//+evDBBzPtU47XremLL75QzZo11alTJ5UoUULVq1fXjBkzHP3Jycn6448/nPa5v7+/7rvvPqfjFhAQoJo1azrGNGvWTC4uLvrhhx8cYxo2bCg3NzfHmKioKCUlJenkyZN5vZm3lbp162rVqlXas2ePJGnbtm3asGGDmjdvLoljdqNc87sA3Jr++usvZWRkOP1ikqSSJUvql19+yaeqrMlut2vw4MGqV6+eKleuLEn6448/5ObmpoCAAKexJUuW1B9//OEYk9Xxu9J3rTFpaWk6d+6cPD0982KTbktz587Vzz//rM2bN2fq43jdmg4cOKB3331XQ4YM0XPPPafNmzcrNjZWbm5u6tmz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\n"
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [
"important_df = pd.concat([important_df, pd.get_dummies(df['Stanford Label'], dtype=int)], axis=1)\n",
"important_df"
],
"metadata": {
"id": "U6gk7-44bbKk",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 423
},
"outputId": "d204b6be-2e76-40b4-ca55-72a45485bd8c"
},
"execution_count": 18,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" Cleaned Comment Stanford Label \\\n",
"0 eminem Neutral \n",
"1 mask two jim carrey revenge may fourth Negative \n",
"2 negrodomis right Neutral \n",
"3 must destroy public perception past empire tim... Neutral \n",
"4 due respect denzel look like playing ancient rome Positive \n",
"... ... ... \n",
"17688 fighting wild animal colosseum wheni amdone Positive \n",
"17689 seated Neutral \n",
"17690 finally Neutral \n",
"17691 helloooo gladiator past love people cake Positive \n",
"17692 year go Neutral \n",
"\n",
" Negative Neutral Positive Verynegative Verypositive \n",
"0 0 1 0 0 0 \n",
"1 1 0 0 0 0 \n",
"2 0 1 0 0 0 \n",
"3 0 1 0 0 0 \n",
"4 0 0 1 0 0 \n",
"... ... ... ... ... ... \n",
"17688 0 0 1 0 0 \n",
"17689 0 1 0 0 0 \n",
"17690 0 1 0 0 0 \n",
"17691 0 0 1 0 0 \n",
"17692 0 1 0 0 0 \n",
"\n",
"[17693 rows x 7 columns]"
],
"text/html": [
"\n",
" \n",
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Cleaned Comment | \n",
" Stanford Label | \n",
" Negative | \n",
" Neutral | \n",
" Positive | \n",
" Verynegative | \n",
" Verypositive | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" eminem | \n",
" Neutral | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 1 | \n",
" mask two jim carrey revenge may fourth | \n",
" Negative | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 2 | \n",
" negrodomis right | \n",
" Neutral | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 3 | \n",
" must destroy public perception past empire tim... | \n",
" Neutral | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 4 | \n",
" due respect denzel look like playing ancient rome | \n",
" Positive | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" | 17688 | \n",
" fighting wild animal colosseum wheni amdone | \n",
" Positive | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 17689 | \n",
" seated | \n",
" Neutral | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 17690 | \n",
" finally | \n",
" Neutral | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 17691 | \n",
" helloooo gladiator past love people cake | \n",
" Positive | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 17692 | \n",
" year go | \n",
" Neutral | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
17693 rows × 7 columns
\n",
"
\n",
"
\n",
"
\n"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "dataframe",
"variable_name": "important_df",
"summary": "{\n \"name\": \"important_df\",\n \"rows\": 17693,\n \"fields\": [\n {\n \"column\": \"Cleaned Comment\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 16735,\n \"samples\": [\n \"seriously thought denzel wa gon na say n aftet laugh\",\n \"watched galdiator time wait keep watching\",\n \"much fakeness movie everything rome wa wa stolen greece greece stole persia\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Stanford Label\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 5,\n \"samples\": [\n \"Negative\",\n \"Very Positive\",\n \"Positive\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Negative\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 0,\n \"max\": 1,\n \"num_unique_values\": 2,\n \"samples\": [\n 1,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Neutral\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 0,\n \"max\": 1,\n \"num_unique_values\": 2,\n \"samples\": [\n 0,\n 1\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Positive\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 0,\n \"max\": 1,\n \"num_unique_values\": 2,\n \"samples\": [\n 1,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Verynegative\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 0,\n \"max\": 1,\n \"num_unique_values\": 2,\n \"samples\": [\n 1,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Verypositive\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 0,\n \"max\": 1,\n \"num_unique_values\": 2,\n \"samples\": [\n 1,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
}
},
"metadata": {},
"execution_count": 18
}
]
},
{
"cell_type": "code",
"source": [
"train_texts, temp_texts, train_labels, temp_labels = train_test_split(\n",
" important_df[\"Cleaned Comment\"], important_df[important_df.columns[2::]], test_size=0.3, stratify=df[\"Stanford Label\"], random_state=42\n",
")\n",
"\n",
"val_texts, test_texts, val_labels, test_labels = train_test_split(\n",
" temp_texts, temp_labels, test_size=0.5, random_state=42\n",
")"
],
"metadata": {
"id": "lgvl5g9ycfXy"
},
"execution_count": 19,
"outputs": []
},
{
"cell_type": "code",
"source": [
"model_sources = [\n",
" # \"albert/albert-base-v2\"\n",
" \"bert-base-uncased\", # Index 0 - BERT Base\n",
" \"google-bert/bert-base-multilingual-uncased\", # Index 1 - Multilingual (fixed typo)\n",
" # \"distilbert-base-uncased\" # Index 2 - DistilBERT\n",
" # \"bert-large-uncased\", # Index 3 - BERT Large\n",
"]"
],
"metadata": {
"id": "otFgCpWCcizs"
},
"execution_count": 20,
"outputs": []
},
{
"cell_type": "code",
"source": [
"from keras.optimizers.legacy import Adam\n",
"from transformers import TFAutoModel, AutoTokenizer\n",
"import tensorflow as tf\n",
"\n",
"def init_tokenizer(source):\n",
" try:\n",
" tokenizer = AutoTokenizer.from_pretrained(source)\n",
" print(f\"✅ Tokenizer loaded: {source}\")\n",
" return tokenizer\n",
" except Exception as e:\n",
" print(f\"❌ Error loading tokenizer {source}: {str(e)}\")\n",
" return None\n",
"\n",
"def tokenize(texts, tokenizer, max_length=256):\n",
" if tokenizer is None:\n",
" print(\"❌ Tokenizer is None\")\n",
" return None\n",
" try:\n",
" encoded = tokenizer(\n",
" list(texts),\n",
" padding=True,\n",
" truncation=True,\n",
" max_length=max_length,\n",
" return_tensors=\"tf\"\n",
" )\n",
" print(f\"✅ Data tokenized - Max length: {max_length}\")\n",
" return encoded\n",
" except Exception as e:\n",
" print(f\"❌ Tokenization error: {str(e)}\")\n",
" return None\n",
"\n",
"def create_model(model_source, num_labels=5):\n",
" try:\n",
" print(f\"🏗️ Creating model: {model_source}\")\n",
" # Load the base BERT model without the classification head\n",
" bert_model = TFAutoModel.from_pretrained(model_source)\n",
"\n",
" # Get the number of layers in the BERT model\n",
" # Access the encoder layers correctly\n",
" num_bert_layers = len(bert_model.bert.encoder.layer)\n",
" print(f\"Total BERT layers: {num_bert_layers}\")\n",
"\n",
" # Determine which layers to fine-tune (last 3 layers)\n",
" fine_tune_layers_start_index = num_bert_layers - 3\n",
"\n",
" # Freeze layers before the fine-tuning range\n",
" for i, layer in enumerate(bert_model.bert.encoder.layer):\n",
" if i < fine_tune_layers_start_index:\n",
" layer.trainable = False\n",
" else:\n",
" layer.trainable = True\n",
" # Freeze embeddings too\n",
" bert_model.bert.embeddings.trainable = False\n",
"\n",
" # Define the input layers using the functional API\n",
" input_ids = tf.keras.layers.Input(shape=(None,), dtype=tf.int32, name='input_ids')\n",
" attention_mask = tf.keras.layers.Input(shape=(None,), dtype=tf.int32, name='attention_mask')\n",
"\n",
" # Call the bert_model within the functional API structure\n",
" bert_output = bert_model(input_ids, attention_mask=attention_mask)\n",
"\n",
" # Take the representation of the CLS token (first token)\n",
" cls_token_output = bert_output.last_hidden_state[:, 0, :]\n",
"\n",
" # Add a classification layer\n",
" classifier = tf.keras.layers.Dense(num_labels, activation='softmax', name='classifier')(cls_token_output)\n",
"\n",
" # Create the Keras model\n",
" model = tf.keras.Model(inputs=[input_ids, attention_mask], outputs=classifier)\n",
"\n",
"\n",
" print(f\"✅ Model created successfully with custom classification head and {num_bert_layers - fine_tune_layers_start_index} layers fine-tuned: {model_source}\")\n",
" return model\n",
" except Exception as e:\n",
" print(f\"❌ Error creating model {model_source}: {str(e)}\")\n",
" return None\n",
"\n",
"def train_model(model, train_enc, train_labels, val_enc, val_labels,\n",
" epochs=10, batch_size=32):\n",
" if model is None or train_enc is None:\n",
" print(\"❌ Model or encoded data is None, skipping training\")\n",
" return None\n",
" tf.keras.backend.clear_session()\n",
"\n",
" # Auto detect loss function\n",
" if len(train_labels.shape) == 1:\n",
" loss_fn = 'sparse_categorical_crossentropy'\n",
" else:\n",
" loss_fn = 'categorical_crossentropy'\n",
"\n",
" model.compile(\n",
" optimizer=tf.keras.optimizers.Adam(learning_rate=1e-4), # Using learning_rate as lr is deprecated\n",
" loss=loss_fn,\n",
" metrics=['accuracy']\n",
" )\n",
"\n",
" print(f\"🚀 Training started - Batch size: {batch_size}, Epochs: {epochs}\")\n",
"\n",
" history = model.fit(\n",
" x={'input_ids': train_enc['input_ids'], 'attention_mask': train_enc['attention_mask']},\n",
" y=train_labels,\n",
" validation_data=({'input_ids': val_enc['input_ids'], 'attention_mask': val_enc['attention_mask']}, val_labels),\n",
" epochs=epochs,\n",
" batch_size=batch_size,\n",
" verbose=1\n",
" )\n",
"\n",
" print(\"✅ Training completed successfully!\")\n",
" return history\n",
"\n",
"def evaluate_model(model, test_enc, test_labels, batch_size=32):\n",
" if model is None or test_enc is None:\n",
" print(\"❌ Model or test data is None, skipping evaluation\")\n",
" return None, None\n",
" try:\n",
" print(\"🔍 Starting evaluation...\")\n",
" preds_output = model.predict(\n",
" {'input_ids': test_enc['input_ids'], 'attention_mask': test_enc['attention_mask']},\n",
" batch_size=batch_size,\n",
" verbose=1\n",
" )\n",
"\n",
" preds = np.argmax(preds_output, axis=1) # Direct output from softmax layer\n",
"\n",
" # Safe handling for 1D or 2D labels\n",
" if hasattr(test_labels, 'to_numpy'):\n",
" labels = test_labels.to_numpy()\n",
" elif hasattr(test_labels, 'values'):\n",
" labels = test_labels.values\n",
" else:\n",
" labels = np.array(test_labels)\n",
"\n",
" if len(labels.shape) == 2:\n",
" labels = np.argmax(labels, axis=1)\n",
"\n",
" print(\"✅ Classification Report:\")\n",
" # Assuming the order of classes is ['Negative', 'Neutral', 'Positive', 'Very Negative', 'Very Positive'] based on your data\n",
" target_names=['Negative', 'Neutral', 'Positive', 'Very Negative', 'Very Positive']\n",
" print(classification_report(labels, preds, target_names=target_names))\n",
"\n",
"\n",
" accuracy = accuracy_score(labels, preds)\n",
" print(f\"🎯 Akurasi: {accuracy * 100:.2f}%\")\n",
"\n",
" cm = confusion_matrix(labels, preds)\n",
" plt.figure(figsize=(8, 6))\n",
" # Assuming the order of classes is ['Negative', 'Neutral', 'Positive', 'Very Negative', 'Very Positive']\n",
" sns.heatmap(cm, annot=True, fmt='d', cmap='Blues',\n",
" xticklabels=target_names,\n",
" yticklabels=target_names)\n",
" plt.xlabel('Predicted Label')\n",
" plt.ylabel('True Label')\n",
" plt.title('Confusion Matrix')\n",
" plt.show()\n",
"\n",
" return accuracy, preds\n",
"\n",
" except Exception as e:\n",
" print(f\"❌ Evaluation error: {str(e)}\")\n",
" return None, None\n",
"\n",
"\n",
"def clear_memory():\n",
" tf.keras.backend.clear_session()\n",
" import gc\n",
" gc.collect()\n",
" print(\"🧹 Memory cleared\")"
],
"metadata": {
"id": "etRSEOj1dNgU"
},
"execution_count": 21,
"outputs": []
},
{
"cell_type": "code",
"source": [
"tokenizer = init_tokenizer(model_sources[0])\n",
"train_enc = tokenize(train_texts, tokenizer)\n",
"val_enc = tokenize(val_texts, tokenizer)\n",
"test_enc = tokenize(test_texts, tokenizer)\n",
"\n",
"model = create_model(model_sources[0])\n",
"train_model(model, train_enc, train_labels, val_enc, val_labels)\n",
"evaluate_model(model, test_enc, test_labels)"
],
"metadata": {
"id": "MID11fHidWL_",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000,
"referenced_widgets": [
"b8da4da1a407451985cdf6357edf1f24",
"3e00630e970f47c7b8d014801c4bf4ed",
"fd5d4c94318342c2a780b16bd44fa987",
"a165f021037749dcaae9b374c393ba8e",
"f48927332f8a4698977e80d5e8328171",
"db5db26f1b4e4410b7052b2bcb2895b7",
"4666bb5fb1a34326a0ab861d0261f145",
"3af8c955673b47849cc6f113ba6d3dbb",
"3351c4b43574449592d45efed01bc5bb",
"75d40be701f7448498aa24ea87d00f48",
"ff0d4f80d1ba4d2f9f71e9e22d0a6f39",
"c6dc5d11415c45b2b60dc23066386cfb",
"65e4d3cd544b4378a9b2a49a2721c458",
"c64abf97665c4932be6f0ad0e386824b",
"305abf14d1794b1a90494f624cbf8f2b",
"b6d74308a6b64947a4a875852a188d36",
"1a8ab5a2ec1f4365ac54ffbc51132610",
"ce2eb39d3c63484182d2056019b040b6",
"823a86bf592f4a4399c195c489e5d5d1",
"815cdfdd462d4ff894f49902ff38c2ed",
"162735087b67442da69aa7f9c061548b",
"21a83ac2bf9d4853ae3f3b6b11ba5e37",
"98e69fdd115a4642be4cd2daa6e64ac0",
"77a0cf2d20cd4b07bb20702d389c587a",
"d1ef446397c14305bb71532b8a19cebc",
"607367c28b48449b9c4fe351a47f93b8",
"9c87401a87924bce90a0c380c71c6293",
"7c8741583a66417aaf9490736c5f7a05",
"6c7dc92d00db45af87dfcd7e7f7d54c1",
"e20e158fdc6b48e3a2badbd284b4c263",
"7988433c08c84febbb77c771eb692858",
"7402d61456c547199a33a284e1309ed3",
"b8a722f3a5934b5a9c5d04b804a9e600",
"4cfb9c7ad48c42b7af7061586e63e1d6",
"9eaa2808570a4a1cb222f69690dae3d9",
"053cc8353ac24fb4923a4d8dffff5883",
"55531057e92641ea8f4d9e6905e3ff6f",
"f24ee5f541494d26ab376b7f68cb67ef",
"98b806a2fc02452a90e3ffb470fbd0df",
"0591ef70564542439e9ab18e817adf41",
"0b579e57b5ee4bfd98887cf2cc82c87b",
"08c08ed2a69b4f119c470e8092df9408",
"cf0af92954d54cabbf1ed3bd643e231c",
"ade704ecfa454b2b87de92f9aaac1c18",
"5ff5812783cc4910af68208a368a4846",
"7f078137ae544d408104bff8c3cd6926",
"b86e5695944d4f99b4ef2abde54b496a",
"271e7d6ca0ff415283716e52d66d545f",
"dc61b2d113a641bcae6c1d0862cd5752",
"b454aeebd3ba4569805609a58f402e9b",
"8575f0b9b20f46ab83550d12a113cb4b",
"6ad165751f264fa393664213160bbc1e",
"57c908f5cb2d4c7980f202d7e181351f",
"ae062a5787af4c75ba4582f02ea4ce10",
"6c1fc560da6248f8a04eefbca7ec8e1e"
]
},
"outputId": "1db15c3f-5016-453f-8162-09abfc48fcb3"
},
"execution_count": 22,
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"/usr/local/lib/python3.11/dist-packages/huggingface_hub/utils/_auth.py:94: UserWarning: \n",
"The secret `HF_TOKEN` does not exist in your Colab secrets.\n",
"To authenticate with the Hugging Face Hub, create a token in your settings tab (https://huggingface.co/settings/tokens), set it as secret in your Google Colab and restart your session.\n",
"You will be able to reuse this secret in all of your notebooks.\n",
"Please note that authentication is recommended but still optional to access public models or datasets.\n",
" warnings.warn(\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"tokenizer_config.json: 0%| | 0.00/48.0 [00:00, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "b8da4da1a407451985cdf6357edf1f24"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"config.json: 0%| | 0.00/570 [00:00, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "c6dc5d11415c45b2b60dc23066386cfb"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"vocab.txt: 0%| | 0.00/232k [00:00, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "98e69fdd115a4642be4cd2daa6e64ac0"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"tokenizer.json: 0%| | 0.00/466k [00:00, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "4cfb9c7ad48c42b7af7061586e63e1d6"
}
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"✅ Tokenizer loaded: bert-base-uncased\n",
"✅ Data tokenized - Max length: 256\n",
"✅ Data tokenized - Max length: 256\n",
"✅ Data tokenized - Max length: 256\n",
"🏗️ Creating model: bert-base-uncased\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"model.safetensors: 0%| | 0.00/440M [00:00, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "5ff5812783cc4910af68208a368a4846"
}
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stderr",
"text": [
"Some weights of the PyTorch model were not used when initializing the TF 2.0 model TFBertModel: ['cls.seq_relationship.weight', 'cls.predictions.transform.LayerNorm.bias', 'cls.predictions.transform.dense.weight', 'cls.predictions.transform.LayerNorm.weight', 'cls.seq_relationship.bias', 'cls.predictions.transform.dense.bias', 'cls.predictions.bias']\n",
"- This IS expected if you are initializing TFBertModel from a PyTorch model trained on another task or with another architecture (e.g. initializing a TFBertForSequenceClassification model from a BertForPreTraining model).\n",
"- This IS NOT expected if you are initializing TFBertModel from a PyTorch model that you expect to be exactly identical (e.g. initializing a TFBertForSequenceClassification model from a BertForSequenceClassification model).\n",
"All the weights of TFBertModel were initialized from the PyTorch model.\n",
"If your task is similar to the task the model of the checkpoint was trained on, you can already use TFBertModel for predictions without further training.\n"
]
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"Total BERT layers: 12\n",
"✅ Model created successfully with custom classification head and 3 layers fine-tuned: bert-base-uncased\n",
"🚀 Training started - Batch size: 32, Epochs: 10\n",
"Epoch 1/10\n"
]
},
{
"output_type": "stream",
"name": "stderr",
"text": [
"WARNING:tensorflow:Gradients do not exist for variables ['tf_bert_model/bert/pooler/dense/kernel:0', 'tf_bert_model/bert/pooler/dense/bias:0'] when minimizing the loss. If you're using `model.compile()`, did you forget to provide a `loss` argument?\n",
"WARNING:tensorflow:Gradients do not exist for variables ['tf_bert_model/bert/pooler/dense/kernel:0', 'tf_bert_model/bert/pooler/dense/bias:0'] when minimizing the loss. If you're using `model.compile()`, did you forget to provide a `loss` argument?\n",
"WARNING:tensorflow:Gradients do not exist for variables ['tf_bert_model/bert/pooler/dense/kernel:0', 'tf_bert_model/bert/pooler/dense/bias:0'] when minimizing the loss. If you're using `model.compile()`, did you forget to provide a `loss` argument?\n",
"WARNING:tensorflow:Gradients do not exist for variables ['tf_bert_model/bert/pooler/dense/kernel:0', 'tf_bert_model/bert/pooler/dense/bias:0'] when minimizing the loss. If you're using `model.compile()`, did you forget to provide a `loss` argument?\n"
]
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"388/388 [==============================] - 89s 155ms/step - loss: 0.8916 - accuracy: 0.6370 - val_loss: 0.8151 - val_accuracy: 0.6865\n",
"Epoch 2/10\n",
"388/388 [==============================] - 59s 152ms/step - loss: 0.7216 - accuracy: 0.7096 - val_loss: 0.7390 - val_accuracy: 0.6948\n",
"Epoch 3/10\n",
"388/388 [==============================] - 60s 154ms/step - loss: 0.6277 - accuracy: 0.7503 - val_loss: 0.6745 - val_accuracy: 0.7291\n",
"Epoch 4/10\n",
"388/388 [==============================] - 60s 154ms/step - loss: 0.5437 - accuracy: 0.7852 - val_loss: 0.7747 - val_accuracy: 0.7087\n",
"Epoch 5/10\n",
"388/388 [==============================] - 60s 154ms/step - loss: 0.4541 - accuracy: 0.8237 - val_loss: 0.7425 - val_accuracy: 0.7298\n",
"Epoch 6/10\n",
"388/388 [==============================] - 56s 144ms/step - loss: 0.3798 - accuracy: 0.8530 - val_loss: 0.8196 - val_accuracy: 0.7087\n",
"Epoch 7/10\n",
"388/388 [==============================] - 60s 154ms/step - loss: 0.3131 - accuracy: 0.8834 - val_loss: 0.8563 - val_accuracy: 0.7095\n",
"Epoch 8/10\n",
"388/388 [==============================] - 60s 154ms/step - loss: 0.2527 - accuracy: 0.9023 - val_loss: 0.9790 - val_accuracy: 0.7057\n",
"Epoch 9/10\n",
"388/388 [==============================] - 60s 154ms/step - loss: 0.2140 - accuracy: 0.9181 - val_loss: 0.9665 - val_accuracy: 0.7155\n",
"Epoch 10/10\n",
"388/388 [==============================] - 64s 164ms/step - loss: 0.1889 - accuracy: 0.9319 - val_loss: 1.0289 - val_accuracy: 0.7050\n",
"✅ Training completed successfully!\n",
"🔍 Starting evaluation...\n",
"83/83 [==============================] - 9s 78ms/step\n",
"✅ Classification Report:\n",
" precision recall f1-score support\n",
"\n",
" Negative 0.78 0.74 0.75 1294\n",
" Neutral 0.69 0.72 0.70 760\n",
" Positive 0.67 0.63 0.65 521\n",
"Very Negative 0.32 0.67 0.43 63\n",
"Very Positive 0.36 0.25 0.30 16\n",
"\n",
" accuracy 0.70 2654\n",
" macro avg 0.56 0.60 0.57 2654\n",
" weighted avg 0.72 0.70 0.71 2654\n",
"\n",
"🎯 Akurasi: 70.50%\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "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rLgOHz6MH374ATNmzJBcwjAiIgJfffUVpk2bhgULFhRre0RERcFKNxFVKJ06dcLVq1fRo0cP7Ny5EyNHjsSkSZPw8OFDLFq0COHh4ZK5P/74I0JCQnD+/HmMGTMGhw8fRnBwMH755Re5xmRsbIzt27ejUqVKmDBhAjZs2ICwsDB07NhRJnYrKyusX78eI0eOxPfff48WLVrg8OHD0NfX/+D2PTw8sH//fhgbG2P69OlYuHAhmjRpglOnThU7YVWEyZMnY9y4cfjjjz8wevRoXLx4EXv27IGlpaXUPHV1dWzYsAGqqqoYPnw4+vTpg2PHjhXrsd68eYNBgwahYcOGmDJlimTczc0No0ePxqJFi/Dnn3/K5XkREb1PJBTnzBgiIiIiIio2VrqJiIiIiBSMSTcRERERkYIx6SYiIiIiUjAm3URERERECsakm4iIiIhIwZh0ExEREREpGJNuIiIiIiIF4y9S0keJGwYqOwT6x4U985UdAv1DT6yu7BDoPaosIZUahtoayg6B/qGlxCxPkblD5qUVCtu2IvFtioiIiIhIwVjpJiIiIiL5ErGu+29MuomIiIhIvkQiZUdQ6vBjCBERERGRgrHSTURERETyxfYSGdwjREREREQKxko3EREREckXe7plsNJNRERERKRgrHQTERERkXyxp1sG9wgRERERkYKx0k1ERERE8sWebhlMuomIiIhIvtheIoN7hIiIiIhIwVjpJiIiIiL5YnuJDFa6iYiIiIgUjJVuIiIiIpIv9nTL4B4hIiIiIlIwVrqJiIiISL7Y0y2DlW4iIiIiIgVjpZuIiIiI5Is93TKYdBMRERGRfLG9RAY/hhARERERKRgr3UREREQkX2wvkcE9QkRERESkYKx0ExEREZF8sdItg3uEiIiIiEjBWOkmIiIiIvlS4dVL/o2VbiIiIiIiBWOlm4iIiIjkiz3dMph0ExEREZF88cdxZPBjCBERERGRgrHSTURERETyxfYSGdwjREREREQKxko3EREREckXe7plsNJNRERERKRgrHQTERERkXyxp1sG9wgRERERkYKx0k1ERERE8sWebhlMuomIiIhIvtheIoN7pAyxsbHB0qVLlR0GERERERUTk+5/+Pv7QyQSYd68eVLjO3bsgKiEvyKJjIyEgYGBzPj58+cxdOjQEo2lNNOppInvxndH3N5QvDqzGEci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\n"
},
"metadata": {}
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(0.7049736247174077, array([1, 1, 0, ..., 3, 0, 0]))"
]
},
"metadata": {},
"execution_count": 22
}
]
},
{
"cell_type": "code",
"source": [
"tokenizer = init_tokenizer(model_sources[0])\n",
"train_enc = tokenize(train_texts, tokenizer)\n",
"val_enc = tokenize(val_texts, tokenizer)\n",
"test_enc = tokenize(test_texts, tokenizer)\n",
"\n",
"model = create_model(model_sources[0])\n",
"train_model(model, train_enc, train_labels, val_enc, val_labels)\n",
"evaluate_model(model, test_enc, test_labels)"
],
"metadata": {
"id": "_UmviRZvdd13",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"outputId": "1b355560-0cef-41c8-a825-d41b85f5e727"
},
"execution_count": 23,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"✅ Tokenizer loaded: bert-base-uncased\n",
"✅ Data tokenized - Max length: 256\n",
"✅ Data tokenized - Max length: 256\n",
"✅ Data tokenized - Max length: 256\n",
"🏗️ Creating model: bert-base-uncased\n"
]
},
{
"output_type": "stream",
"name": "stderr",
"text": [
"Some weights of the PyTorch model were not used when initializing the TF 2.0 model TFBertModel: ['cls.seq_relationship.weight', 'cls.predictions.transform.LayerNorm.bias', 'cls.predictions.transform.dense.weight', 'cls.predictions.transform.LayerNorm.weight', 'cls.seq_relationship.bias', 'cls.predictions.transform.dense.bias', 'cls.predictions.bias']\n",
"- This IS expected if you are initializing TFBertModel from a PyTorch model trained on another task or with another architecture (e.g. initializing a TFBertForSequenceClassification model from a BertForPreTraining model).\n",
"- This IS NOT expected if you are initializing TFBertModel from a PyTorch model that you expect to be exactly identical (e.g. initializing a TFBertForSequenceClassification model from a BertForSequenceClassification model).\n",
"All the weights of TFBertModel were initialized from the PyTorch model.\n",
"If your task is similar to the task the model of the checkpoint was trained on, you can already use TFBertModel for predictions without further training.\n"
]
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"Total BERT layers: 12\n",
"✅ Model created successfully with custom classification head and 3 layers fine-tuned: bert-base-uncased\n",
"🚀 Training started - Batch size: 32, Epochs: 10\n",
"Epoch 1/10\n"
]
},
{
"output_type": "stream",
"name": "stderr",
"text": [
"WARNING:tensorflow:Gradients do not exist for variables ['tf_bert_model/bert/pooler/dense/kernel:0', 'tf_bert_model/bert/pooler/dense/bias:0'] when minimizing the loss. If you're using `model.compile()`, did you forget to provide a `loss` argument?\n",
"WARNING:tensorflow:Gradients do not exist for variables ['tf_bert_model/bert/pooler/dense/kernel:0', 'tf_bert_model/bert/pooler/dense/bias:0'] when minimizing the loss. If you're using `model.compile()`, did you forget to provide a `loss` argument?\n",
"WARNING:tensorflow:Gradients do not exist for variables ['tf_bert_model/bert/pooler/dense/kernel:0', 'tf_bert_model/bert/pooler/dense/bias:0'] when minimizing the loss. If you're using `model.compile()`, did you forget to provide a `loss` argument?\n",
"WARNING:tensorflow:Gradients do not exist for variables ['tf_bert_model/bert/pooler/dense/kernel:0', 'tf_bert_model/bert/pooler/dense/bias:0'] when minimizing the loss. If you're using `model.compile()`, did you forget to provide a `loss` argument?\n"
]
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"388/388 [==============================] - 82s 166ms/step - loss: 0.8846 - accuracy: 0.6417 - val_loss: 0.7703 - val_accuracy: 0.6963\n",
"Epoch 2/10\n",
"388/388 [==============================] - 60s 154ms/step - loss: 0.7192 - accuracy: 0.7151 - val_loss: 0.7189 - val_accuracy: 0.7084\n",
"Epoch 3/10\n",
"388/388 [==============================] - 60s 155ms/step - loss: 0.6370 - accuracy: 0.7480 - val_loss: 0.7348 - val_accuracy: 0.7080\n",
"Epoch 4/10\n",
"388/388 [==============================] - 60s 154ms/step - loss: 0.5248 - accuracy: 0.7910 - val_loss: 0.7237 - val_accuracy: 0.7261\n",
"Epoch 5/10\n",
"388/388 [==============================] - 60s 154ms/step - loss: 0.4445 - accuracy: 0.8274 - val_loss: 0.8358 - val_accuracy: 0.7016\n",
"Epoch 6/10\n",
"388/388 [==============================] - 60s 154ms/step - loss: 0.3806 - accuracy: 0.8527 - val_loss: 0.7732 - val_accuracy: 0.7317\n",
"Epoch 7/10\n",
"388/388 [==============================] - 56s 145ms/step - loss: 0.3048 - accuracy: 0.8868 - val_loss: 0.8151 - val_accuracy: 0.7351\n",
"Epoch 8/10\n",
"388/388 [==============================] - 60s 154ms/step - loss: 0.2532 - accuracy: 0.9042 - val_loss: 0.9348 - val_accuracy: 0.7249\n",
"Epoch 9/10\n",
"388/388 [==============================] - 60s 154ms/step - loss: 0.2056 - accuracy: 0.9237 - val_loss: 1.0153 - val_accuracy: 0.7325\n",
"Epoch 10/10\n",
"388/388 [==============================] - 60s 154ms/step - loss: 0.1814 - accuracy: 0.9333 - val_loss: 1.0324 - val_accuracy: 0.7197\n",
"✅ Training completed successfully!\n",
"🔍 Starting evaluation...\n",
"83/83 [==============================] - 10s 78ms/step\n",
"✅ Classification Report:\n",
" precision recall f1-score support\n",
"\n",
" Negative 0.79 0.77 0.78 1294\n",
" Neutral 0.68 0.71 0.70 760\n",
" Positive 0.65 0.67 0.66 521\n",
"Very Negative 0.53 0.57 0.55 63\n",
"Very Positive 0.30 0.19 0.23 16\n",
"\n",
" accuracy 0.72 2654\n",
" macro avg 0.59 0.58 0.58 2654\n",
" weighted avg 0.73 0.72 0.72 2654\n",
"\n",
"🎯 Akurasi: 72.38%\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAt0AAAIjCAYAAADfr6ebAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAiCxJREFUeJzs3XdYU2cbBvA7rLCnyFCWqIiKImpVFKmKIop7oOJAxVVx4aR1gQO1TrR1tYJaaB1t1brq3late1XBRVUQBQHZSM73hzWfaVDBJoRx/74r39W8Z+TJCTk+efKcNyJBEAQQEREREZHSqKk6ACIiIiKi8o5JNxERERGRkjHpJiIiIiJSMibdRERERERKxqSbiIiIiEjJmHQTERERESkZk24iIiIiIiVj0k1EREREpGRMuomIiIiIlIxJNxFRCYqNjUW7du1gZGQEkUiEHTt2KHT/Dx8+hEgkQlRUlEL3W5Z9/vnn+Pzzz1UdBhFVcEy6iajCuXfvHkaMGIFq1apBW1sbhoaGaN68OVasWIHs7GylPvagQYNw/fp1zJs3D5s3b0ajRo2U+nglKSAgACKRCIaGhoUex9jYWIhEIohEIixevLjY+3/69Clmz56NK1euKCBaIqKSpaHqAIiIStKePXvQq1cviMViDBw4EHXr1kVeXh5OnTqFyZMn4+bNm1i3bp1SHjs7Oxtnz57FV199haCgIKU8hp2dHbKzs6GpqamU/X+MhoYGsrKy8Ntvv6F3794yy6Kjo6GtrY2cnJxP2vfTp08RGhoKe3t7uLq6Fnm7AwcOfNLjEREpEpNuIqowHjx4gD59+sDOzg5HjhyBlZWVdNno0aMRFxeHPXv2KO3xnz9/DgAwNjZW2mOIRCJoa2srbf8fIxaL0bx5c/z4449ySXdMTAw6duyIn3/+uURiycrKgq6uLrS0tErk8YiIPoTtJURUYSxatAgZGRn4/vvvZRLut6pXr45x48ZJ779+/Rpz5syBo6MjxGIx7O3t8eWXXyI3N1dmO3t7e/j6+uLUqVP47LPPoK2tjWrVqmHTpk3SdWbPng07OzsAwOTJkyESiWBvbw/gTVvG2/9+1+zZsyESiWTGDh48iBYtWsDY2Bj6+vpwcnLCl19+KV3+vp7uI0eOwMPDA3p6ejA2NkaXLl1w+/btQh8vLi4OAQEBMDY2hpGREQYPHoysrKz3H9h/6devH/bt24fU1FTp2IULFxAbG4t+/frJrZ+SkoJJkybBxcUF+vr6MDQ0hI+PD65evSpd59ixY2jcuDEAYPDgwdI2lbfP8/PPP0fdunVx8eJFtGzZErq6utLj8u+e7kGDBkFbW1vu+Xt7e8PExARPnz4t8nMlIioqJt1EVGH89ttvqFatGtzd3Yu0fmBgIGbOnAk3NzcsW7YMnp6eCA8PR58+feTWjYuLQ8+ePdG2bVssWbIEJiYmCAgIwM2bNwEA3bt3x7JlywAAffv2xebNm7F8+fJixX/z5k34+voiNzcXYWFhWLJkCTp37ozTp09/cLtDhw7B29sbSUlJmD17NoKDg3HmzBk0b94cDx8+lFu/d+/eePXqFcLDw9G7d29ERUUhNDS0yHF2794dIpEIv/zyi3QsJiYGtWrVgpubm9z69+/fx44dO+Dr64ulS5di8uTJuH79Ojw9PaUJsLOzM8LCwgAAw4cPx+bNm7F582a0bNlSup/k5GT4+PjA1dUVy5cvR6tWrQqNb8WKFTA3N8egQYNQUFAAAFi7di0OHDiAlStXwtrausjPlYioyAQiogogLS1NACB06dKlSOtfuXJFACAEBgbKjE+aNEkAIBw5ckQ6ZmdnJwAQTpw4IR1LSkoSxGKxMHHiROnYgwcPBADC119/LbPPQYMGCXZ2dnIxzJo1S3j3NL1s2TIBgPD8+fP3xv32MSIjI6Vjrq6uQuXKlYXk5GTp2NWrVwU1NTVh4MCBco83ZMgQmX1269ZNMDMze+9jvvs89PT0BEEQhJ49ewpt2rQRBEEQCgoKBEtLSyE0NLTQY5CTkyMUFBTIPQ+xWCyEhYVJxy5cuCD33N7y9PQUAAhr1qwpdJmnp6fM2O+//y4AEObOnSvcv39f0NfXF7p27frR50hE9KlY6SaiCiE9PR0AYGBgUKT19+7dCwAIDg6WGZ84cSIAyPV+165dGx4eHtL75ubmcHJywv379z855n972wu+c+dOSCSSIm2TkJCAK1euICAgAKamptLxevXqoW3bttLn+a6RI0fK3Pfw8EBycrL0GBZFv379cOzYMSQmJuLIkSNITEwstLUEeNMHrqb25p+jgoICJCcnS1tnLl26VOTHFIvFGDx4cJHWbdeuHUaMGIGwsDB0794d2traWLt2bZEfi4iouJh0E1GFYGhoCAB49epVkdZ/9OgR1NTUUL16dZlxS0tLGBsb49GjRzLjtra2cvswMTHBy5cvPzFieX5+fmjevDkCAwNhYWGBPn36YOvWrR9MwN/G6eTkJLfM2dkZL168QGZmpsz4v5+LiYkJABTruXTo0AEGBgbYsmULoqOj0bhxY7lj+ZZEIsGyZctQo0YNiMViVKpUCebm5rh27RrS0tKK/JhVqlQp1kWTixcvhqmpKa5cuYKIiAhUrly5yNsSERUXk24iqhAMDQ1hbW2NGzduFGu7f1/I+D7q6uqFjguC8MmP8bbf+C0dHR2cOHEChw4dwoABA3Dt2jX4+fmhbdu2cuv+F//lubwlFovRvXt3bNy4Eb/++ut7q9wAMH/+fAQHB6Nly5b44Ycf8Pvvv+PgwYOoU6dOkSv6wJvjUxyXL19GUlISAOD69evF2paIqLiYdBNRheHr64t79+7h7NmzH13Xzs4OEokEsbGxMuPPnj1DamqqdCYSRTAxMZGZ6eOtf1fTAUBNTQ1t2rTB0qVLcevWLcybNw9HjhzB0aNHC9332zjv3Lkjt+yvv/5CpUqVoKen99+ewHv069cPly9fxqtXrwq9+PSt7du3o1WrVvj+++/Rp08ftGvXDl5eXnLHpKgfgIoiMzMTgwcPRu3atTF8+HAsWrQIFy5cUNj+iYj+jUk3EVUYU6ZMgZ6eHgIDA/Hs2TO55ffu3cOKFSsAvGmPACA3w8jSpUsBAB07dlRYXI6OjkhLS8O1a9ekYwkJCfj1119l1ktJSZHb9u2PxPx7GsO3rKys4Orqio0bN8oksTdu3MCBAwekz1MZWrVqhTlz5mDVqlWwtLR873rq6upyVfRt27bhyZMnMmNvPxwU9gGluKZOnYr4+Hhs3LgRS5cuhb29PQYNGvTe40hE9F/xx3GIqMJwdHRETEwM/Pz84OzsLPOLlGfOnMG2bdsQEBAAAKhfvz4GDRqEdevWITU1FZ6enjh//jw2btyIrl27vnc6uk/Rp08fTJ06Fd26dcPYsWORlZWF1atXo2bNmjIXEoaFheHEiRPo2LEj7OzskJSUhG+//RZVq1ZFixYt3rv/r7/+Gj4+PmjWrBmGDh2K7OxsrFy5EkZGRpg9e7bCnse/qampYfr06R9dz9fXF2FhYRg8eDDc3d1x/fp1REdHo1q1ajLrOTo6wtjYGGvWrIGBgQH09PTQpEkTODg4FCuuI0eO4Ntvv8WsWbOkUxhGRkbi888/x4wZM7Bo0aJi7Y+IqChY6SaiCqVz5864du0aevbsiZ07d2L06NGYNm0aHj58iCVLliAiIkK67nfffYfQ0FBcuHAB48ePx5EjRxASEoKffvpJoTGZmZnh119/ha6uLqZMmYKNGzciPDwcnTp1kovd1tYWGzZswOjRo/HNN9+gZcuWOHLkCIyMjN67fy8vL+zfvx9mZmaYOXMmFi9ejKZNm+L06dPFTliV4csvv8TEiRPx+++/Y9y4cbh06RL27NkDGxsbmfU0NTWxceNGqKurY+TIkejbty+OHz9erMd69eoVhgwZggYNGuCrr76Sjnt4eGDcuHFYsmQJ/vjjD4U8LyKid4mE4lwZQ0RERERExcZKNxERERGRkjHpJiIiIiJSMibdRERERERKxqSbiIiIiEjJmHQTERERESkZk24iIiIiIiVj0k1EREREpGT8RUr6KJ0GQaoOgf7x5+6Fqg6B/mGsp6nqEOgdhtr856y00NRgPa+0UOXbQpm5Q/blVUrbtzLxnUFEREREpGQsDRARERGRYolY1/03Jt1EREREpFgikaojKHX4MYSIiIiISMlY6SYiIiIixWJ7iRweESIiIiIiJWOlm4iIiIgUiz3dcljpJiIiIiJSMla6iYiIiEix2NMth0eEiIiIiEjJWOkmIiIiIsViT7ccJt1EREREpFhsL5HDI0JEREREpGSsdBMRERGRYrG9RA4r3URERERESsZKNxEREREpFnu65fCIEBEREREpGSvdRERERKRY7OmWw0o3EREREZGSsdJNRERERIrFnm45TLqJiIiISLHYXiKHH0OIiIiIiJSMlW4iIiIiUiy2l8jhESEiIiIiUjJWuomIiIhIsVjplsMjQkRERESkZKx0ExEREZFiqXH2kn9jpZuIiIiISMlY6SYiIiIixWJPtxwm3URERESkWPxxHDn8GEJEREREpGSsdBMRERGRYrG9RA6PCBERERGRkrHSTURERESKxZ5uOax0ExEREREpGSvdRERERKRY7OmWwyNCRERERKRkrHQTERERkWKxp1sOk24iIiIiUiy2l8jhESlD7O3tsXz5clWHQURERETFxEr3PwICArBx40aEh4dj2rRp0vEdO3agW7duEAShxGKJiorC+PHjkZqaKjN+4cIF6OnplVgcpZ2+rhizvvBF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XplIuoE3LSbff/89OnToAOt3kqV69erh+PHj+Oqrr+Dh4QFBEODo6Ag/P78i7bdv374YP348+vbtW2i7RXGMHTsWaWlpmDhxIpKSklC7dm3s2rULNWrUAPCmNWXRokWIjY2Furo6GjdujL1790r7r9+loaGBiIgIhIWFYebMmfDw8MCxY8cKfdzWrVvD1NQUd+7cQb9+/WSWeXt7Y/fu3QgLC8PChQuhqamJWrVqITAw8D8917Li5s0bCBw8UHp/8aI3rTKdu3TDnPkLVBVWhdTepwNepqTg21URePHiOZxqOePbtd/BjF+hK92tmzcwbMgg6f0lX7/52+/UuStGfhGE48eOAAD69Owqs936DRvRqHGTEouzouJ7o3RISUnG9JCpeP48CfoGBqhZ0wmr132PZu7NP74xURGIhHfn4quAHj58CEdHR1y4cEGmLYP+ryxXuomURSKp0KfOUkdNjXU1on/TVmFpNSFNeW05VkZl8xu4MlPpVrT8/HwkJydj+vTpaNq0KRNuIiIiIlKaCpt0nz59Gq1atULNmjWxfft2VYdDREREVG6I2NUtp8K3l9DHsb2ESB7bS0oXtpcQyVNle0liWr7S9m1ppKm0fStTha10ExEREZGS8HOwnDLx4zhERERERGUZK91EREREpFAsdMtj0k1ERERECsVfpJTH9hIiIiIiIiVjpZuIiIiIFIpTBspjpZuIiIiISMlY6SYiIiIixWKhWw4r3URERERESsZKNxEREREpFAvd8ljpJiIiIiJSMla6iYiIiEihOE+3PCbdRERERKRQnDJQHttLiIiIiIiUjJVuIiIiIlIotpfIY6WbiIiIiEjJmHQTERERESkZk24iIiIiIiVjTzcRERERKRR7uuWx0k1EREREpGSsdBMRERGRQnGebnlMuomIiIhIodheIo/tJURERERESsZKNxEREREpFAvd8ljpJiIiIiJSMla6iYiIiEixWOqWw0o3EREREZGSsdJNRERERArFKQPlsdJNRERERKRkrHQTERERkUJxnm55rHQTERERESkZK91EREREpFAsdMtj0k1EREREisWsWw7bS4iIiIiIlIxJNxEREREplEiJ//sU33zzDezt7aGtrY0mTZrg/PnzCn7GH8ekm4iIiIjKrS1btiA4OBizZs3CpUuXUL9+fXh7eyMpKalE4xAJgiCU6CNS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\n"
},
"metadata": {}
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(0.7238131122833459, array([1, 0, 0, ..., 3, 0, 0]))"
]
},
"metadata": {},
"execution_count": 23
}
]
}
]
}