Switch to side-by-side view

--- a
+++ b/development/qa-server/Fnetune_models_compare.ipynb
@@ -0,0 +1 @@
+{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"Fnetune_models_compare.ipynb","provenance":[],"collapsed_sections":[]},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"},"accelerator":"GPU"},"cells":[{"cell_type":"code","metadata":{"id":"CcJoBmV-Jh84"},"source":["!pip install transformers[sentencepiece] spacy rouge"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"sAAcKPcjuvw4"},"source":["!nvidia-smi"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"FA_vVNqQJonA"},"source":["!python -m spacy download en_core_web_lg"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"7DDkPtP1JqWr","executionInfo":{"status":"ok","timestamp":1632404455171,"user_tz":-210,"elapsed":7974,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}}},"source":["import torch\n","import re\n","import spacy\n","import nltk\n","import json\n","import en_core_web_lg\n","import pandas as pd\n","from tqdm import tqdm\n","from rouge import Rouge \n","from nltk.translate.bleu_score import sentence_bleu, SmoothingFunction\n","from transformers import AutoModelForMaskedLM, AutoModel, AutoTokenizer, pipeline"],"execution_count":5,"outputs":[]},{"cell_type":"code","metadata":{"id":"uHlKEnVyJvgd"},"source":["nlp = en_core_web_lg.load()\n","nltk.download('punkt')"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"9XFoBomznoWR"},"source":["from google.colab import drive\n","drive.mount('/content/drive')"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"HJpeVY414JNx"},"source":["cd /content/drive/My Drive/"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"LxHglW4z4L-I"},"source":["!ls"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"giOXiAl3Jvz7","executionInfo":{"status":"ok","timestamp":1632404644304,"user_tz":-210,"elapsed":22,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"c74547b6-1c70-4fc2-e39e-fdbb5fa1675c"},"source":["cd /content/drive/My Drive/Dataset/"],"execution_count":15,"outputs":[{"output_type":"stream","name":"stdout","text":["/content/drive/My Drive/Dataset\n"]}]},{"cell_type":"code","metadata":{"id":"2CrMRVKNu8cW"},"source":["!gdown https://drive.google.com/uc?id=1wBD5codLeDD8iEBIe_pnTHqQr4hqLsqi"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"hek-cOHHvFus"},"source":["!gdown https://drive.google.com/uc?id=1mj79A-lAVYIWXtvDKUTslyIjPvyHi2MJ"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"urhqR1nTKw3U","executionInfo":{"status":"ok","timestamp":1632404917708,"user_tz":-210,"elapsed":379,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}}},"source":["f = open ('/content/drive/MyDrive/Dataset/qa_multi_answer.json', \"r\")\n","qa = json.loads(f.read())"],"execution_count":19,"outputs":[]},{"cell_type":"code","metadata":{"id":"Ssq5_8g5UB4P"},"source":["qa['data'][0]"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"zIuyVTgSvVCX","executionInfo":{"status":"ok","timestamp":1632404920327,"user_tz":-210,"elapsed":13,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"6459bfe5-bd20-42c3-9c3a-39b4591e0aa4"},"source":["cd /content/drive/My Drive/base_bert/final_base_bert_QA_checkpoint"],"execution_count":21,"outputs":[{"output_type":"stream","name":"stdout","text":["/content/drive/My Drive/base_bert/final_base_bert_QA_checkpoint\n"]}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"ElNw4nJLvgnL","executionInfo":{"status":"ok","timestamp":1632404921026,"user_tz":-210,"elapsed":351,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"3f9afb06-1bad-42e3-c16c-249a2abe9dc5"},"source":["!ls"],"execution_count":22,"outputs":[{"output_type":"stream","name":"stdout","text":["config.json\t\t pytorch_model.bin\t  training_args.bin\n","nbest_predictions_.json  special_tokens_map.json  vocab.txt\n","predictions_.json\t tokenizer_config.json\n"]}]},{"cell_type":"code","metadata":{"id":"bi-y2iGAvQ6G","executionInfo":{"status":"ok","timestamp":1632411140516,"user_tz":-210,"elapsed":556,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}}},"source":["n_top = 3\n","rouge = Rouge()\n","smoothie = SmoothingFunction().method4\n","bleu_scores = []\n","rouge1_scores = []\n","rouge2_scores = []\n","rougel_scores = []\n","\n","\n","model_names = {'/content/drive/My Drive/2_squeeze/Final_squeeze-squad':'question_answering',\n","               '/content/drive/My Drive/2_squeeze/Squeeze-bert_MLM/MLM_output_dir/Final_squeeze_MLM':'question_answering',\n","               '/content/drive/My Drive/Squeeze/QA_Squeeze_Squad/squeeze-bert-squad-QA':'question_answering',\n","               '/content/drive/My Drive/base_bert/final_base_bert_QA_checkpoint':'question_answering',\n","               '/content/drive/My Drive/base_bert/MLM_base_bert':'question_answering',\n","               '/content/drive/My Drive/base_bert/QA_base_bert/base_bert_QA_Final':'question_answering'\n","               }"],"execution_count":63,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"O4_nFkNL69y3","executionInfo":{"status":"ok","timestamp":1632405512915,"user_tz":-210,"elapsed":28,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"7eeb1a3c-eb28-4c61-b1dd-a1e51a825c38"},"source":["cd /content/drive/My Drive/Squeeze/QA_Squeeze_Squad/squeeze-bert-squad-QA"],"execution_count":50,"outputs":[{"output_type":"stream","name":"stdout","text":["/content/drive/My Drive/Squeeze/QA_Squeeze_Squad/squeeze-bert-squad-QA\n"]}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"RbIc_B9k7GrI","executionInfo":{"status":"ok","timestamp":1632405512919,"user_tz":-210,"elapsed":21,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"3dd70b5b-2115-4bd8-90b5-1d5e955ed3f7"},"source":["cd /content/drive/My Drive/base_bert/QA_base_bert"],"execution_count":51,"outputs":[{"output_type":"stream","name":"stdout","text":["/content/drive/My Drive/base_bert/QA_base_bert\n"]}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"GOCF21al7BWn","executionInfo":{"status":"ok","timestamp":1632405513333,"user_tz":-210,"elapsed":22,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"5622db13-b470-4d79-a43e-16c2e1c9bd04"},"source":["!ls\n"],"execution_count":52,"outputs":[{"output_type":"stream","name":"stdout","text":["base_bert_QA_Final  base_bert_QA_final.zip\n"]}]},{"cell_type":"code","metadata":{"id":"8wi60ZiZLRT0","executionInfo":{"status":"ok","timestamp":1632405513763,"user_tz":-210,"elapsed":9,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}}},"source":["class SentenceSimilarity():\n","    def __init__(self, model_name=None, device='cuda'):\n","        self.tokenizer = AutoTokenizer.from_pretrained(model_name)\n","        self.model = AutoModel.from_pretrained(model_name).eval()\n","\n","    def __call__(self, text):\n","        tokens = self.tokenizer(text, padding=True, return_tensors='pt', truncation=True)\n","        with torch.no_grad():\n","            embeddings = self.model(**tokens).last_hidden_state\n","\n","        mask = tokens['attention_mask'].unsqueeze(-1).expand(embeddings.shape).float()\n","        sentence_embeddings = torch.sum(embeddings * mask, dim=1) / torch.clamp(mask.sum(1), min=1e-9) \n","        return sentence_embeddings\n","\n","    def compute_label_embedding(self, labels):\n","        self.label_embeds = self(labels)\n","    \n","    def similarity(self, example):\n","        return torch.cosine_similarity(self(example), self.label_embeds).tolist()"],"execution_count":53,"outputs":[]},{"cell_type":"code","metadata":{"id":"VUPsEEr9LUFb","executionInfo":{"status":"ok","timestamp":1632405514712,"user_tz":-210,"elapsed":9,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}}},"source":["def get_answer(sentences, question, model, model_type, n_top=None):\n","  if model_type == 'similarity':\n","    scores = model.similarity(question)\n","    dic = {}\n","\n","    for i, ex in enumerate(sentences):\n","        dic[ex] = scores[i]\n","\n","    s = pd.Series(dic, name='Similarity')\n","    s.index.name = 'Sentences'\n","    df = s.reset_index()\n","    df.sort_values(by='Similarity', ascending=False, inplace=True)\n","    answer = \" \".join(df.iloc[:n_top]['Sentences'])\n","\n","  elif model_type == 'question_answering':\n","    context = \" \".join(sentences)\n","    answer = model(question=question, context=context)['answer']\n","\n","  return answer"],"execution_count":54,"outputs":[]},{"cell_type":"code","metadata":{"id":"NW6RmKZGLcCf","executionInfo":{"status":"ok","timestamp":1632405515346,"user_tz":-210,"elapsed":9,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}}},"source":["def get_score(token_reference, token_candidate, sf):\n","  bleu_score = sentence_bleu(token_reference, token_candidate, smoothing_function=sf, weights=(1, 0, 0, 0))\n","  rouge_score = rouge.get_scores(candidate, reference)\n","  return bleu_score, rouge_score[0]['rouge-1']['f'], rouge_score[0]['rouge-2']['f'], rouge_score[0]['rouge-l']['f']"],"execution_count":55,"outputs":[]},{"cell_type":"code","metadata":{"id":"Q07h24hZLesx","executionInfo":{"status":"ok","timestamp":1632405515797,"user_tz":-210,"elapsed":8,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}}},"source":["def load_model(model_name, model_type):\n","  if model_type == 'similarity':\n","    model = SentenceSimilarity(model_name)\n","\n","  elif model_type == 'question_answering':\n","    model = pipeline(model=model_name, tokenizer=model_name, task=\"question-answering\")\n","    \n","  return model"],"execution_count":56,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":237},"id":"TYHoCqWyL3YO","executionInfo":{"status":"ok","timestamp":1632405516113,"user_tz":-210,"elapsed":14,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"b43bb064-c716-4daa-b0cd-e58ccc2780e1"},"source":["df = pd.DataFrame(columns=['Type', 'BLEU', 'ROUGE_1', 'ROUGE_2', 'ROUGE_l'], index=list(model_names.keys()))\n","df"],"execution_count":57,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>Type</th>\n","      <th>BLEU</th>\n","      <th>ROUGE_1</th>\n","      <th>ROUGE_2</th>\n","      <th>ROUGE_l</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>/content/drive/My Drive/2_squeeze/Final_squeeze-squad</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>/content/drive/My Drive/2_squeeze/Squeeze-bert_MLM/MLM_output_dir/Final_squeeze_MLM</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>/content/drive/My Drive/Squeeze/QA_Squeeze_Squad/squeeze-bert-squad-QA</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>/content/drive/My Drive/base_bert/final_base_bert_QA_checkpoint</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>/content/drive/My Drive/base_bert/MLM_base_bert</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","    <tr>\n","      <th>/content/drive/My Drive/base_bert/QA_base_bert</th>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                                                   Type BLEU  ... ROUGE_2 ROUGE_l\n","/content/drive/My Drive/2_squeeze/Final_squeeze...  NaN  NaN  ...     NaN     NaN\n","/content/drive/My Drive/2_squeeze/Squeeze-bert_...  NaN  NaN  ...     NaN     NaN\n","/content/drive/My Drive/Squeeze/QA_Squeeze_Squa...  NaN  NaN  ...     NaN     NaN\n","/content/drive/My Drive/base_bert/final_base_be...  NaN  NaN  ...     NaN     NaN\n","/content/drive/My Drive/base_bert/MLM_base_bert     NaN  NaN  ...     NaN     NaN\n","/content/drive/My Drive/base_bert/QA_base_bert      NaN  NaN  ...     NaN     NaN\n","\n","[6 rows x 5 columns]"]},"metadata":{},"execution_count":57}]},{"cell_type":"code","metadata":{"id":"b0xLodKEScO3"},"source":["# import numpy as np\n","\n","# for data in qa['data']:\n","#   context = data['context']\n","#   doc = nlp(context)\n","#   print(\"*************\")\n","#   print(context)\n","#   print(\"*************\")\n","#   sentences = [str(sentence) for sentence in list(doc.sents)]\n","\n","#   if model_type == 'similarity':\n","#     model.compute_label_embedding(sentences)\n","  \n","#   for q_a in data['qas']:\n","#     question = q_a['question']\n","#     reference = \"\".join(q_a['answers'])\n","\n","#     # if type(question) == list:\n","#     #   question = q_a['question'][0]\n","#     print(\"##################\")\n","#     print(question)\n","\n","#   break"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"4mHGKWNaLhJn","executionInfo":{"status":"ok","timestamp":1632416928837,"user_tz":-210,"elapsed":3146763,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"cb0f95f0-a610-44ed-8f72-81ace75fe134"},"source":["for model_name in tqdm(model_names):\n","  model_type = model_names[model_name]\n","  df['Type'][model_name] = model_type\n","\n","  model = load_model(model_name, model_type)\n","\n","  for data in qa['data']:\n","    context = data['context']\n","    doc = nlp(context)\n","    sentences = [str(sentence) for sentence in list(doc.sents)]\n","\n","    if model_type == 'similarity':\n","      model.compute_label_embedding(sentences)\n","    \n","    for q_a in data['qas']:\n","      question = q_a['question']\n","      if type(question) == list:\n","        question = q_a['question'][0]\n","\n","\n","      reference = \"\".join(q_a['answers'])\n","\n","      candidate = get_answer(sentences, question, model, model_type, n_top)\n","      token_reference = nltk.word_tokenize(reference)\n","      token_candidate = nltk.word_tokenize(candidate)\n","\n","      try :\n","        bleu_score, rouge1_score, rouge2_score, rougel_score = get_score(\n","            token_reference, token_candidate, smoothie)\n","\n","\n","        bleu_scores.append(bleu_score)\n","        rouge1_scores.append(rouge1_score)\n","        rouge2_scores.append(rouge2_score)\n","        rougel_scores.append(rougel_score)\n","      except:\n","        pass\n","      \n","\n","  df['BLEU'][model_name] = sum(bleu_scores)/len(bleu_scores)\n","  df['ROUGE_1'][model_name] = sum(rouge1_scores)/len(rouge1_scores)\n","  df['ROUGE_2'][model_name] = sum(rouge2_scores)/len(rouge2_scores)\n","  df['ROUGE_l'][model_name] = sum(rougel_scores)/len(rougel_scores)"],"execution_count":85,"outputs":[{"output_type":"stream","name":"stderr","text":[" 17%|█▋        | 1/6 [06:42<33:34, 402.89s/it]Some weights of the model checkpoint at /content/drive/My Drive/2_squeeze/Squeeze-bert_MLM/MLM_output_dir/Final_squeeze_MLM were not used when initializing SqueezeBertForQuestionAnswering: ['cls.predictions.transform.dense.weight', 'cls.predictions.transform.LayerNorm.weight', 'cls.predictions.bias', 'cls.predictions.transform.LayerNorm.bias', 'cls.predictions.decoder.weight', 'cls.predictions.decoder.bias', 'cls.predictions.transform.dense.bias']\n","- This IS expected if you are initializing SqueezeBertForQuestionAnswering from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).\n","- This IS NOT expected if you are initializing SqueezeBertForQuestionAnswering from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).\n","Some weights of SqueezeBertForQuestionAnswering were not initialized from the model checkpoint at /content/drive/My Drive/2_squeeze/Squeeze-bert_MLM/MLM_output_dir/Final_squeeze_MLM and are newly initialized: ['qa_outputs.weight', 'qa_outputs.bias']\n","You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n"," 67%|██████▋   | 4/6 [30:50<16:37, 498.65s/it]Some weights of the model checkpoint at /content/drive/My Drive/base_bert/MLM_base_bert were not used when initializing BertForQuestionAnswering: ['cls.predictions.transform.dense.weight', 'cls.predictions.transform.LayerNorm.weight', 'cls.predictions.bias', 'cls.predictions.transform.LayerNorm.bias', 'cls.predictions.decoder.weight', 'cls.predictions.decoder.bias', 'cls.predictions.transform.dense.bias']\n","- This IS expected if you are initializing BertForQuestionAnswering from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).\n","- This IS NOT expected if you are initializing BertForQuestionAnswering from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).\n","Some weights of BertForQuestionAnswering were not initialized from the model checkpoint at /content/drive/My Drive/base_bert/MLM_base_bert and are newly initialized: ['qa_outputs.weight', 'qa_outputs.bias']\n","You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n","100%|██████████| 6/6 [52:25<00:00, 524.31s/it]\n"]}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"r-mdMYlmueV2","executionInfo":{"status":"ok","timestamp":1632418553204,"user_tz":-210,"elapsed":442,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"a95d53cd-f5f4-4208-8319-b7941831b412"},"source":["sum(bleu_scores)/len(bleu_scores)"],"execution_count":103,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0.05994253804045497"]},"metadata":{},"execution_count":103}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"IA1feYAzR_Ps","executionInfo":{"status":"ok","timestamp":1632411062312,"user_tz":-210,"elapsed":549,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"d41fdc40-921f-43f4-ac4c-41d97fb8e0da"},"source":["cd /content/drive/My Drive/base_bert/QA_base_bert"],"execution_count":61,"outputs":[{"output_type":"stream","name":"stdout","text":["/content/drive/My Drive/base_bert/QA_base_bert\n"]}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"_43eg3ZkSBUi","executionInfo":{"status":"ok","timestamp":1632411068044,"user_tz":-210,"elapsed":519,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"a95dff10-ce7b-45bb-83c5-23ac3c917a87"},"source":["!ls"],"execution_count":62,"outputs":[{"output_type":"stream","name":"stdout","text":["base_bert_QA_Final  base_bert_QA_final.zip\n"]}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"9s6L9SbtrzG6","executionInfo":{"status":"ok","timestamp":1632417629132,"user_tz":-210,"elapsed":482,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"22d0ea41-3840-4ff8-a831-fc1624d057d8"},"source":["print(token_reference)"],"execution_count":86,"outputs":[{"output_type":"stream","name":"stdout","text":["['Metformin', 'should', 'not', 'be', 'given', 'to', 'a', 'child', 'younger', 'than', '10', 'years', 'old.Some', 'forms', 'of', 'metformin', 'are', 'not', 'approved', 'for', 'use', 'by', 'anyone', 'younger', 'than', '18', 'years', 'old', '.']\n"]}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"_U4TxAy7r6Uh","executionInfo":{"status":"ok","timestamp":1632417629667,"user_tz":-210,"elapsed":15,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"54fe61a4-217a-4c5b-cfa5-a8041c6b1bf4"},"source":["token_candidate"],"execution_count":87,"outputs":[{"output_type":"execute_result","data":{"text/plain":["['10']"]},"metadata":{},"execution_count":87}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"KvuP3F2xw7sG","executionInfo":{"status":"ok","timestamp":1632419203620,"user_tz":-210,"elapsed":449,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"fe92b165-682d-4a5d-fb04-ac672768069e"},"source":["df.columns"],"execution_count":109,"outputs":[{"output_type":"execute_result","data":{"text/plain":["Index(['Unnamed: 0', 'Type', 'BLEU', 'ROUGE_1', 'ROUGE_2', 'ROUGE_l'], dtype='object')"]},"metadata":{},"execution_count":109}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"GKkwvQccxIB2","executionInfo":{"status":"ok","timestamp":1632419401520,"user_tz":-210,"elapsed":436,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"ccbf1ca3-1dd6-4397-f016-9fced27ffcbc"},"source":["df['Unnamed: 0'][0],df['BLEU'][0],  df['ROUGE_1'][0], df['ROUGE_2'][0], df['ROUGE_l'][0]"],"execution_count":115,"outputs":[{"output_type":"execute_result","data":{"text/plain":["('/content/drive/My Drive/2_squeeze/Final_squeeze-squad',\n"," 0.045835349004110466,\n"," 0.19854756525977146,\n"," 0.14850040140960274,\n"," 0.19770246399303446)"]},"metadata":{},"execution_count":115}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"H_ueotwEwkfN","executionInfo":{"status":"ok","timestamp":1632419452165,"user_tz":-210,"elapsed":24,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"b065aa4d-7e6a-4a65-e4f1-37007906b3b7"},"source":["df['Unnamed: 0'][1],df['BLEU'][1],  df['ROUGE_1'][1], df['ROUGE_2'][1], df['ROUGE_l'][1]"],"execution_count":116,"outputs":[{"output_type":"execute_result","data":{"text/plain":["('/content/drive/My Drive/2_squeeze/Squeeze-bert_MLM/MLM_output_dir/Final_squeeze_MLM',\n"," 0.047861168051024916,\n"," 0.17696092711645833,\n"," 0.12715152845920613,\n"," 0.17566550960893856)"]},"metadata":{},"execution_count":116}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"NpXeMk5qyDdU","executionInfo":{"status":"ok","timestamp":1632419476306,"user_tz":-210,"elapsed":452,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"74f2b786-c496-4156-a31b-3972cb624934"},"source":["df['Unnamed: 0'][2],df['BLEU'][2],  df['ROUGE_1'][2], df['ROUGE_2'][2], df['ROUGE_l'][2]"],"execution_count":117,"outputs":[{"output_type":"execute_result","data":{"text/plain":["('/content/drive/My Drive/Squeeze/QA_Squeeze_Squad/squeeze-bert-squad-QA',\n"," 0.04644906514503649,\n"," 0.18316448434589336,\n"," 0.133588030588075,\n"," 0.18208277306962864)"]},"metadata":{},"execution_count":117}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Nbd8wXrryHph","executionInfo":{"status":"ok","timestamp":1632419492152,"user_tz":-210,"elapsed":517,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"e1662d33-807f-4535-c777-a490b40a0936"},"source":["df['Unnamed: 0'][3],df['BLEU'][3],  df['ROUGE_1'][3], df['ROUGE_2'][3], df['ROUGE_l'][3]"],"execution_count":118,"outputs":[{"output_type":"execute_result","data":{"text/plain":["('/content/drive/My Drive/base_bert/final_base_bert_QA_checkpoint',\n"," 0.051796216153443916,\n"," 0.2225680806645339,\n"," 0.17216889426750046,\n"," 0.22153564830299854)"]},"metadata":{},"execution_count":118}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"VJDkp_lTyMEI","executionInfo":{"status":"ok","timestamp":1632419508863,"user_tz":-210,"elapsed":465,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"82d129eb-a911-4e8e-f6ed-1eed170a7cd2"},"source":["df['Unnamed: 0'][4],df['BLEU'][4],  df['ROUGE_1'][4], df['ROUGE_2'][4], df['ROUGE_l'][4]"],"execution_count":119,"outputs":[{"output_type":"execute_result","data":{"text/plain":["('/content/drive/My Drive/base_bert/MLM_base_bert',\n"," 0.0623308143722647,\n"," 0.20567073421978976,\n"," 0.15514268988697952,\n"," 0.204525759253429)"]},"metadata":{},"execution_count":119}]},{"cell_type":"markdown","metadata":{"id":"WX5ytzRqD10j"},"source":["```\n"," Model name:  Final_squeeze-squad\n"," Bleu Scores:  0.04644906514503649,\n"," Rouge_1 Scores average0.18316448434589336,\n"," Rouge_1 Scores average 0.133588030588075,\n"," Rouge_2 Scores average 0.18208277306962864 \n","```\n","--- \n","```\n"," Model name:   Final_squeeze_MLM\n"," Bleu Scores:  0.047861168051024916,\n"," Rouge_1 Scores average 0.17696092711645833,\n"," Rouge_2 Scores average 0.12715152845920613,\n"," Rouge_l Scores average 0.17566550960893856\n","  \n","```\n","---  \n","```\n"," Model name:  squeeze-bert-squad-QA\n"," Bleu Scores:  0.04644906514503649,\n"," Rouge_1 Scores average 0.18316448434589336,\n"," Rouge_2 Scores average  0.133588030588075,\n"," Rouge_l Scores average 0.18208277306962864\n","```\n","---\n","``` \n"," Model name:  final_base_bert_QA_checkpoint\n"," Bleu Scores:  0.051796216153443916,\n"," Rouge_1 Scores average  0.2225680806645339,\n"," Rouge_2 Scores average  0.17216889426750046,\n"," Rouge_l Scores average  0.22153564830299854\n","```\n","---\n","``` \n"," Model name:  MLM_base_bert\n"," Bleu Scores:  0.0623308143722647,\n"," Rouge_1 Scores average  0.20567073421978976,\n"," Rouge_2 Scores average  0.15514268988697952,\n"," Rouge_l Scores average  0.204525759253429\n","```\n","---\n"]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":272},"id":"Pf2xpu1oLxiH","executionInfo":{"status":"ok","timestamp":1632417650717,"user_tz":-210,"elapsed":487,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"57035753-4957-4fcd-9c81-1c63712446b6"},"source":["df"],"execution_count":88,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>Type</th>\n","      <th>BLEU</th>\n","      <th>ROUGE_1</th>\n","      <th>ROUGE_2</th>\n","      <th>ROUGE_l</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>/content/drive/My Drive/2_squeeze/Final_squeeze-squad</th>\n","      <td>question_answering</td>\n","      <td>0.0458353</td>\n","      <td>0.198548</td>\n","      <td>0.1485</td>\n","      <td>0.197702</td>\n","    </tr>\n","    <tr>\n","      <th>/content/drive/My Drive/2_squeeze/Squeeze-bert_MLM/MLM_output_dir/Final_squeeze_MLM</th>\n","      <td>question_answering</td>\n","      <td>0.0478612</td>\n","      <td>0.176961</td>\n","      <td>0.127152</td>\n","      <td>0.175666</td>\n","    </tr>\n","    <tr>\n","      <th>/content/drive/My Drive/Squeeze/QA_Squeeze_Squad/squeeze-bert-squad-QA</th>\n","      <td>question_answering</td>\n","      <td>0.0464491</td>\n","      <td>0.183164</td>\n","      <td>0.133588</td>\n","      <td>0.182083</td>\n","    </tr>\n","    <tr>\n","      <th>/content/drive/My Drive/base_bert/final_base_bert_QA_checkpoint</th>\n","      <td>question_answering</td>\n","      <td>0.0517962</td>\n","      <td>0.222568</td>\n","      <td>0.172169</td>\n","      <td>0.221536</td>\n","    </tr>\n","    <tr>\n","      <th>/content/drive/My Drive/base_bert/MLM_base_bert</th>\n","      <td>question_answering</td>\n","      <td>0.0623308</td>\n","      <td>0.205671</td>\n","      <td>0.155143</td>\n","      <td>0.204526</td>\n","    </tr>\n","    <tr>\n","      <th>/content/drive/My Drive/base_bert/QA_base_bert</th>\n","      <td>question_answering</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                                                                  Type  ...   ROUGE_l\n","/content/drive/My Drive/2_squeeze/Final_squeeze...  question_answering  ...  0.197702\n","/content/drive/My Drive/2_squeeze/Squeeze-bert_...  question_answering  ...  0.175666\n","/content/drive/My Drive/Squeeze/QA_Squeeze_Squa...  question_answering  ...  0.182083\n","/content/drive/My Drive/base_bert/final_base_be...  question_answering  ...  0.221536\n","/content/drive/My Drive/base_bert/MLM_base_bert     question_answering  ...  0.204526\n","/content/drive/My Drive/base_bert/QA_base_bert      question_answering  ...       NaN\n","\n","[6 rows x 5 columns]"]},"metadata":{},"execution_count":88}]},{"cell_type":"code","metadata":{"id":"xKU5BhiGQErn","executionInfo":{"status":"ok","timestamp":1632417801238,"user_tz":-210,"elapsed":999,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}}},"source":["df.to_csv('qa_finetune_model.csv')"],"execution_count":89,"outputs":[]},{"cell_type":"code","metadata":{"id":"HGhoAqCPura2","executionInfo":{"status":"ok","timestamp":1632417808738,"user_tz":-210,"elapsed":469,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}}},"source":["df = pd.read_csv('qa_finetune_model.csv')"],"execution_count":90,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":237},"id":"lLyCMD3evZxT","executionInfo":{"status":"ok","timestamp":1632417813427,"user_tz":-210,"elapsed":463,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"82bb34f5-de7e-48c7-8013-9d01378510c1"},"source":["df"],"execution_count":91,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>Unnamed: 0</th>\n","      <th>Type</th>\n","      <th>BLEU</th>\n","      <th>ROUGE_1</th>\n","      <th>ROUGE_2</th>\n","      <th>ROUGE_l</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>/content/drive/My Drive/2_squeeze/Final_squeez...</td>\n","      <td>question_answering</td>\n","      <td>0.045835</td>\n","      <td>0.198548</td>\n","      <td>0.148500</td>\n","      <td>0.197702</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>/content/drive/My Drive/2_squeeze/Squeeze-bert...</td>\n","      <td>question_answering</td>\n","      <td>0.047861</td>\n","      <td>0.176961</td>\n","      <td>0.127152</td>\n","      <td>0.175666</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>/content/drive/My Drive/Squeeze/QA_Squeeze_Squ...</td>\n","      <td>question_answering</td>\n","      <td>0.046449</td>\n","      <td>0.183164</td>\n","      <td>0.133588</td>\n","      <td>0.182083</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>/content/drive/My Drive/base_bert/final_base_b...</td>\n","      <td>question_answering</td>\n","      <td>0.051796</td>\n","      <td>0.222568</td>\n","      <td>0.172169</td>\n","      <td>0.221536</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>/content/drive/My Drive/base_bert/MLM_base_bert</td>\n","      <td>question_answering</td>\n","      <td>0.062331</td>\n","      <td>0.205671</td>\n","      <td>0.155143</td>\n","      <td>0.204526</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>/content/drive/My Drive/base_bert/QA_base_bert</td>\n","      <td>question_answering</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","      <td>NaN</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                                          Unnamed: 0  ...   ROUGE_l\n","0  /content/drive/My Drive/2_squeeze/Final_squeez...  ...  0.197702\n","1  /content/drive/My Drive/2_squeeze/Squeeze-bert...  ...  0.175666\n","2  /content/drive/My Drive/Squeeze/QA_Squeeze_Squ...  ...  0.182083\n","3  /content/drive/My Drive/base_bert/final_base_b...  ...  0.221536\n","4    /content/drive/My Drive/base_bert/MLM_base_bert  ...  0.204526\n","5     /content/drive/My Drive/base_bert/QA_base_bert  ...       NaN\n","\n","[6 rows x 6 columns]"]},"metadata":{},"execution_count":91}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"6P-PK_r8OQQl","executionInfo":{"status":"ok","timestamp":1632417931425,"user_tz":-210,"elapsed":610,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"2bffab6c-f5d9-4fc2-c886-d09e030877a6"},"source":["# list(df.iloc[7:]['Unnamed: 0'])"],"execution_count":98,"outputs":[{"output_type":"execute_result","data":{"text/plain":["['/content/drive/My Drive/base_bert/final_base_bert_QA_checkpoint',\n"," '/content/drive/My Drive/base_bert/MLM_base_bert',\n"," '/content/drive/My Drive/base_bert/QA_base_bert']"]},"metadata":{},"execution_count":98}]},{"cell_type":"code","metadata":{"id":"_vAb9djfOLGi","executionInfo":{"status":"ok","timestamp":1632417857169,"user_tz":-210,"elapsed":538,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}}},"source":["# index = list(df.iloc[7:]['Unnamed: 0'])"],"execution_count":93,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":481},"id":"Ys5wOUp_3p44","executionInfo":{"status":"ok","timestamp":1632417858942,"user_tz":-210,"elapsed":1253,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"6b26a40c-b5da-4dbe-c1a9-8d793f93e905"},"source":["df.iloc[:6].plot.bar(rot=0, subplots=True, figsize=(8, 6))"],"execution_count":94,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([<matplotlib.axes._subplots.AxesSubplot object at 0x7f600e1ee250>,\n","       <matplotlib.axes._subplots.AxesSubplot object at 0x7f6012335250>,\n","       <matplotlib.axes._subplots.AxesSubplot object at 0x7f600e1ee2d0>,\n","       <matplotlib.axes._subplots.AxesSubplot object at 0x7f6012375990>],\n","      dtype=object)"]},"metadata":{},"execution_count":94},{"output_type":"display_data","data":{"image/png":"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THfbSpXAW1paWL16db3DkCTpiIiIl3va5hC6JEklVKozcEmDwF2/We8IDnTXm/WOQOo1z8AlSSohz8AlSX22c+dO2tra6OjoqHcopdbY2EhzczNDhnT3A4HdM4FLkvqsra2NkSNH0tLSQqcftlMvZCbt7e20tbXR2tpa9X41GUKPiCsiYn1EbIiIud1s/0hEvBARP46IpRFxai3ikCTVVkdHB01NTSbvwxARNDU19XoUo9/PwCOiAVgAXErlF45WRcSizOz8SMUfAZMy8+2I+D+B+cCH+jsWSSqtEl3sZ/I+fH3pw1qcgZ8HbMjMjZn5K2AhMK1zhcz8Vma+XayuBJprEIckSYNWLebATwJe7bTeBvzBQerfAvxTTxsjYjowHeCUU07pj/gG5jdb8FYWSeXX339fq/i72NDQwPjx49m1axetra088sgjjBo1CoB169Yxe/ZsNm/ezJ49e7jxxhuZN28eEcFdd93FiBEj+OhHP7qvrb0PDBs9ejSvvfYat99+OytXruT4449n6NChzJkzh/e///0sX76cadOm7Tdnfd9993HJJZd0G+Of/umf8vTTT3PiiSfy/PPPH2anVNT1NrKI+BNgEvCZnupk5oOZOSkzJ40Z0+3T5CRJR7Fjjz2WtWvX8vzzz3PCCSewYMECAHbs2MHUqVOZO3cu69ev57nnnuN73/seX/ziFw/ZZmZy5ZVXMmXKFDZu3MiaNWtYuHAhbW1t++q85z3vYe3atftePSVvgJtvvplvfvObh/9mO6lFAt8MnNxpvbko209EXAJ8DJiamb+sQRySpKPM5MmT2by5knIeffRRzj//fC677DIAhg0bxhe+8AU+/elPH7KdZcuWMXToUG699dZ9ZaeeeiqzZ8/uU1xTpkzhhBNO6NO+PalFAl8FnB4RrRExFLgWWNS5QkScDfw1leT9sxrEIEk6yuzevZulS5cydepUoDJ8fu655+5X57TTTmP79u289dZbB21r3bp1nHPOOQet893vfpeJEyfue7300kuH9wZ6qd/nwDNzV0TMApYADcCXM3NdRNwNrM7MRVSGzEcAf19cefdKZk7t71gkSYPfjh07mDhxIps3b+aMM87g0ksvrWq/nq787q585syZrFixgqFDh7Jq1SqgMoT+9NNP9z3ww1STB7lk5mJgcZeyOzst9zxRIJXRQLww0osidZTYOwf+9ttvc/nll7NgwQJuu+02xo0bx3e+85396m7cuJERI0Zw3HHH0dTUxJYtW/bbvm3bNkaNGsWZZ57JE088sa98wYIFbN26lUmTJh2R91QNn4UuSRoUhg0bxuc//3nuv/9+du3axfXXX8+KFSt45plngMqZ+m233cacOXOAyrz0okWL2LZtGwBPPvkkZ511Fg0NDVx00UV0dHTwwAMP7Gv/7bffPvCgdeSjVHVwnllK6o06//s8++yzmTBhAo899hg33HADX//615k9ezYzZ85k9+7d3HDDDcyaNQuACRMmMGvWLC644AIighNPPJGHHnoIqAyjP/XUU9x+++3Mnz+fMWPGMHz4cO699959x9o7B77XvHnzuPrqq7uN67rrrmP58uVs3bqV5uZmPvGJT3DLLbcc1ns1gUuSSm379u37rX/jG9/Ytzx+/HiWL1/e474zZsxgxowZ3W4bO3YsCxcu7HbbhRdeyJtvVv9l5bHHHqu6brUcQpckqYQ8A5ckqR+0t7dz8cUXH1C+dOlSmpqa+v14JnBJkvpBU1MTa9euPWLHcwhdknRYMrPeIZReX/rQBC5J6rPGxkba29tN4ochM2lvb6exsbFX+zmELknqs+bmZtra2nj99dfrHUqpNTY20tzcu1/WNoFLkvpsyJAh+/2kpo4ch9AlSSohE7gkSSVkApckqYRM4JIklZAJXJKkEjKBS5JUQiZwSZJKyAQuSVIJmcAlSSohE7gkSSVkApckqYRqksAj4oqIWB8RGyJibjfbp0TEDyNiV0RcXYsYJEkazPo9gUdEA7AAeC8wDrguIsZ1qfYKcDPwaH8fX5Kko0Etfo3sPGBDZm4EiIiFwDTghb0VMnNTsW1PDY4vSdKgV4sh9JOAVzuttxVlfRIR0yNidUSs9vdmJUmqGPAXsWXmg5k5KTMnjRkzpt7hSJI0INQigW8GTu603lyUSZKkflKLBL4KOD0iWiNiKHAtsKgGx5Ek6ajV7wk8M3cBs4AlwIvA45m5LiLujoipABHxrohoA64B/joi1vV3HJIkDWa1uAqdzFwMLO5Sdmen5VVUhtYlSVIfDPiL2CRJ0oFM4JIklZAJXJKkEjKBS5JUQiZwSZJKyAQuSVIJmcAlSSohE7gkSSVkApckqYRM4JIklZAJXJKkEjKBS5JUQiZwSZJKyAQuSVIJmcAlSSohE7gkSSVkApckqYRM4JIklZAJXJKkEjKBS5JUQiZwSZJKqGYJPCKuiIj1EbEhIuZ2s/0dEfF3xfZnI6KlVrFIkjTY1CSBR0QDsAB4LzAOuC4ixnWpdgvwRma+E/gscG8tYpEkaTCq1Rn4ecCGzNyYmb8CFgLTutSZBjxcLH8NuDgiokbxSJI0qNQqgZ8EvNppva0o67ZOZu4C3gSaahSPJEmDyjH1DuBQImI6ML1Y3R4R6+sZTzdGA1v7paVPDOoBCPupetX21XhgCJDAHipfgl8pluETMZzKF+XhRZ3tVL5MdxT7NxXH6vpvajywCdhWrA8DfgcYUazvBH4B/BTYXbTTsu+4v/Z8Ubc7AZwCHEfl79Avi9jeOtSb7sTPVPX6p6/sp3o4tcctmdnvL2AysKTT+h3AHV3qLAEmF8vHUOm0qEU8tXwBq+sdQxle9lP/9xWVJHtJsfzbwHPAJ4v1yVQS9oeBkcAJwD3AG8DvFnVuBlYcot13F+3cAfxWUXYK8AngwoO1c4jYhwN3UUn8vwH8MZUvDC1+pur3mTraX2Xrp1oNoa8CTo+I1ogYClwLLOpSZxFwU7F8NbAsix6U1DuZ+VMqX4onFkXzga9m5l9m5rbM/HlmzgNWUkmc1ZoPfCUzP5WZrxXHeiUzP56Zyw8j3v/IzLsyc1Nm7snMp4H/BZzb1zalo01NEnhW5rRnUfmD8iLweGaui4i7I2JqUe1LQFNEbAA+Ahxwq5mk6kREM5W7PjZExDAqZ85/303Vx4FLq2xzOJUz+Sf6K86DHOu3gP8ErKv1saTBomZz4Jm5GFjcpezOTssdwDW1Ov4R9GC9AygJ+6l6vemrpyIiqcxPLwM+TmW4/DeALd3U30Jlnq8axxft/HRvQUTMp3JNyhDgU5l5T7HpDyPiF532bc/M06o5SEQMAf4WeDgzf1JlbOBnqjfsq+qUqp98EtthysxS/Q+vF/uper3sqyszcyRwIfB7VJLzG1QuKBvbTf2x/PoinV1UEnFXQ6hcfHZAO5k5JzNHAf/A/icAKzNzVKdXtcn7N4BHgF9RGbWrmp+p6tlX1SlbP5nApUEgM78N/A1wX2b+B/B9uh/h+iCwtFh+BTil8/MXiuH3E4GXi3aeBT5Qi5iL434J+C3gqszs6Yp1Sd0Y8LeRSara54BNEXEWlWtKlkTET4CvUPm3/mdU5rTfVdR/lsotZXMj4rNAA/ApYDXwclFnTtHOZuDLmfmzYr69FdhwmPE+AJxB5Yr3HYfZlnTU8QxcGiQy83Xgq8CdmbkCuJzK2fMWKgn5bOCCzPz3ov4vgfdRGX5vAzZSud/7g3vvCCnauQiYAvxbMc/9TWA58FedDj85IrZ3eb2LHkTEqcAMKlfN/7TTPtf3T29Ig19455YkSeXjGbgkSSXkHLikmoiIU4AXetg8LjNfOZLxSIONQ+iSJJWQQ+iSJJVQqYbQR48enS0tLfUOQ5KkI2LNmjVbM3NMd9tKlcBbWlpYvXp1vcOQJOmIiIiXe9rmELokSSVUqjNwSeU3/uHx9Q7hAP9607/WOwSp1zwDlySphDwDlyT12c6dO2lra6Ojo6PeoZRaY2Mjzc3NDBnS3Q8Eds8ELknqs7a2NkaOHElLSwudfthOvZCZtLe309bWRmtra9X7OYQuSeqzjo4OmpqaTN6HISJoamrq9SiGCVySdFhM3oevL31oApckqYScA5ekAaist9v1d9zVHLOhoYHx48eza9cuWltbeeSRRxg1ahQA69atY/bs2WzevJk9e/Zw4403Mm/ePCKCu+66ixEjRvDRj350X1t7Hxg2evRoXnvtNW6//XZWrlzJ8ccfz9ChQ5kzZw7vf//7Wb58OdOmTdtvzvq+++7jkksuOSC+V199lRtvvJHXXnuNiGD69Ol8+MMfPuy+8QxcklRqxx57LGvXruX555/nhBNOYMGCBQDs2LGDqVOnMnfuXNavX89zzz3H9773Pb74xS8ess3M5Morr2TKlCls3LiRNWvWsHDhQtra2vbVec973sPatWv3vbpL3gDHHHMM999/Py+88AIrV65kwYIFvPBCTz/UV72j8gx8IH6zBR8mIUmHa/Lkyfz4xz8G4NFHH+X888/nsssuA2DYsGF84Qtf4MILL2TmzJkHbWfZsmUMHTqUW2+9dV/ZqaeeyuzZs3sd09ixYxk7diwAI0eO5IwzzmDz5s2MGzeu12115hm4JGlQ2L17N0uXLmXq1KlAZfj83HPP3a/Oaaedxvbt23nrrbcO2ta6des455xzDlrnu9/9LhMnTtz3eumllw4Z46ZNm/jRj37EH/zBHxyy7qEclWfgkqTBY8eOHUycOJHNmzdzxhlncOmll1a1X09XfndXPnPmTFasWMHQoUNZtWoVUBlCf/rpp6uOc/v27Vx11VV87nOf47jjjqt6v554Bi5JKrW9c+Avv/wymblvDnzcuHGsWbNmv7obN25kxIgRHHfccTQ1NfHGG2/st33btm2MGjWKM888kx/+8If7yhcsWMDSpUt5/fXX+xTjzp07ueqqq7j++uv5wAc+0Kc2ujKBS5IGhWHDhvH5z3+e+++/n127dnH99dezYsUKnnnmGaBypn7bbbcxZ84cAKZMmcKiRYvYtm0bAE8++SRnnXUWDQ0NXHTRRXR0dPDAAw/sa//tt9/uU1yZyS233MIZZ5zBRz7ykcN8l7/mELokqd/U+2Lcs88+mwkTJvDYY49xww038PWvf53Zs2czc+ZMdu/ezQ033MCsWbMAmDBhArNmzeKCCy4gIjjxxBN56KGHgMow+lNPPcXtt9/O/PnzGTNmDMOHD+fee+/dd6y9c+B7zZs3j6uvvvqAmP7lX/6FRx55hPHjx++r/xd/8Rf80R/90WG9VxO41A8G4p0N9f5DKh0p27dv32/9G9/4xr7l8ePHs3z58h73nTFjBjNmzOh229ixY1m4cGG32y688ELefPPNquK74IILyMyq6vaGQ+iSJJWQZ+CSJPWD9vZ2Lr744gPKly5dSlNTU78fzwSug3JoWJKq09TUxNq1a4/Y8RxClyQdllrM7x5t+tKHJnBJUp81NjbS3t5uEj8MmUl7ezuNjY292s8hdElSnzU3N9PW1tbnB5yoorGxkebm5l7tYwKXJPXZkCFD9vtJTR05DqFLklRCJnBJkkqoJgk8Iq6IiPURsSEi5nazfUpE/DAidkXEgc+dkyRJB9XvCTwiGoAFwHuBccB1EdH1V8tfAW4GHu3v40uSdDSoxUVs5wEbMnMjQEQsBKYBL+ytkJmbim17anB8SZIGvVoMoZ8EvNppva0o65OImB4RqyNitbcpSJJUMeAvYsvMBzNzUmZOGjNmTL3DkSRpQKhFAt8MnNxpvbkokyRJ/aQWCXwVcHpEtEbEUOBaYFENjiNJ0lGr3xN4Zu4CZgFLgBeBxzNzXUTcHRFTASLiXRHRBlwD/HVErOvvOCRJGsxq8ijVzFwMLO5Sdmen5VVUhtYlSVIfDPiL2CRJ0oFM4JIklZAJXJKkEjKBS5JUQiZwSZJKyAQuSVIJmcAlSSohE7gkSSVkApckqYRM4JIklZAJXJKkEjKBS5JUQiZwSZJKyAQuSVIJmcAlSSohE7gkSSVkApckqYRM4JIklZAJXJKkEjKBS5JUQiZwSZJKyAQuSVIJmcAlSSohE7gkSSVkApckqYRM4JIklZAJXJKkEjKBS5JUQiZwSZJKyAQuSVIJ1SyBR8QVEbE+IjZExNxutr8jIv6u2P5sRLTUKhZJkgabmiTwiGgAFgDvBcYB10XEuC7VbgHeyMx3Ap8F7q1FLJIkDUa1OgM/D9iQmRsz81fAQmBalzrTgIeL5a8BF0dE1CgeSZIGlVol8JOAVzuttxVl3dbJzF3Am0BTjeKRNECt/7P1bF+3vd5hSKVzTL0DOFRbtq4AAA4DSURBVJSImA5ML1a3R8T6esbTjdHA1v5oKG4e1AMQ9lP1ettX44EhQAJ7qHwZfiVujj3F9uFUvjAPL+psp/KluqPY3lQcs+u/rfHAJmBbsT4M+B1gRLG+E/gF8FNgd9FOSxFDZ88XdXuMf9NnNnU+TrX8TFWvX/rKfqqLU3vckpn9/gImA0s6rd8B3NGlzhJgcrF8DJVOi1rEU8sXsLreMZThZT/Vrq+oJNlLiuXfBp4DPlmsT6aSsD8MjAROAO4B3gB+t6hzM7DiEO2+u2jnDuC3irJTgE8AFx6snd7E72dqYHymjtZX2fqpVkPoq4DTI6I1IoYC1wKLutRZBNxULF8NLMuiByX1TWb+lMqX44lF0Xzgq5n5l5m5LTN/npnzgJXAXb1oej7wlcz8VGa+Vhzrlcz8eGYu7793IKlaNUngWZnTnkXlD8mLwOOZuS4i7o6IqUW1LwFNEbEB+AhwwK1mknonIpqp3P2xISKGUTlz/vtuqj4OXFplm8OpnMk/0V9xSjp8NZsDz8zFwOIuZXd2Wu4ArqnV8Y+gB+sdQEnYT9XrS189FRFJZX56GfBxKsPlvwFs6ab+FirzfdU4vmjnp3sLImI+lWtThgCfysx7ik1/GBG/6LRve2ae1ps30gt+pqpnX1WnVP3kk9gOU2aW6n94vdhP1etjX12ZmSOBC4Hfo5Kc36ByQdnYbuqP5dcX6+yikoi7GkLl4rMD2snMOZk5CvgH9j8RWJmZozq9apW8/Uz1gn1VnbL1kwlcGkQy89vA3wD3ZeZ/AN+n+5GuDwJLi+VXgFM6P4ehGH4/EXi5aOdZ4AM1DF1SLw3428gk9drngE0RcRaVa0uWRMRPgK9Q+Tf/Z1TmtN9V1H+Wyi1lcyPis0AD8ClgNfByUWdO0c5m4MuZ+bNivr0V2HBk3pakzjwDlwaZzHwd+CpwZ2auAC6ncva8hUpCPhu4IDP/vaj/S+B9VIbf24CNVO73/uDeO0OKdi4CpgD/VsxzfxNYDvxVp8NPjojtXV7vQlK/C+/ckiSpfDwDlySphJwDl1RTEXEK8EIPm8dl5itHMh5psHAIXZKkEnIIXZKkEirVEPro0aOzpaWl3mFIknRErFmzZmtmjuluW6kSeEtLC6tXr653GJIkHRER8XJP2xxClySphEp1Bi6p/F78vTPqHcIBzvjJi/UOQeo1z8AlSSohz8AlSf1i586dtLW10dHRUe9QSqexsZHm5maGDOnuhwG7V5MEHhFXAH9J5UcRHsrMT3fZ/hHgv1P5GcPXgT/NzB4n6iVJA19bWxsjR46kpaWFTj9up0PITNrb22lra6O1tbXq/fp9CD0iGoAFwHuBccB1ETGuS7UfAZMycwLwNWB+f8chSTqyOjo6aGpqMnn3UkTQ1NTU65GLWpyBnwdsyMyNRWALgWl0epRiZn6rU/2VwJ/UIA5JKq2yXuxn8u6bvvRbLS5iOwl4tdN6W1HWk1uAf6pBHJIkDVp1vYgtIv4EmAT8l4PUmQ5MBzjllFOOUGSSpMPV36MI1YwANDQ0MH78eHbt2kVrayuPPPIIo0aNAmDdunXMnj2bzZs3s2fPHm688UbmzZtHRHDXXXcxYsQIPvrRj+5ra+/Dw0aPHs1rr73G7bffzsqVKzn++OMZOnQoc+bM4f3vfz/Lly9n2rRp+81f33fffVxyySXdxjhixAi2b99+mL1RmwS+GTi503pzUbafiLgE+BjwXzLzlz01lpkPAg8CTJo0qV9+eWUgDk2B96JK0uE69thjWbt2LQA33XQTCxYs4GMf+xg7duxg6tSpPPDAA1x22WW8/fbbXHXVVXzxi19k5syZB20zM7nyyiu56aabePTRRwF4+eWXWbRo0b4673nPe3j66adr98a6UYsh9FXA6RHRGhFDgWuBRZ0rRMTZwF8DUzPzZzWIQZJ0lJs8eTKbN1fOHx999FHOP/98LrvsMgCGDRvGF77wBT796U8frAkAli1bxtChQ7n11lv3lZ166qnMnj27NoFXqd8TeGbuAmYBS4AXgcczc11E3B0RU4tqnwFGAH8fEWsjYlEPzUmS1Gu7d+9m6dKlTJ1aSTvr1q3j3HPP3a/Oaaedxvbt23nrrbcO2ta6des455xzDlrnu9/9LhMnTtz3eumllw7vDVShJnPgmbkYWNyl7M5Oy91PDEiSdBh27NjBxIkT2bx5M2eccQaXXnppVfv1dBV4d+UzZ85kxYoVDB06lFWrVgH1GUL3SWxSPxiI11V4TYWORnvnwN9++20uv/xyFixYwG233ca4ceP4zne+s1/djRs3MmLECI477jiamprYsmXLftu3bdvGqFGjOPPMM3niiSf2lS9YsICtW7cyadKkI/KeeuKz0CVJg86wYcP4/Oc/z/3338+uXbu4/vrrWbFiBc888wxQOVO/7bbbmDNnDgBTpkxh0aJFbNu2DYAnn3ySs846i4aGBi666CI6Ojp44IEH9rX/9ttvH/k31YVn4Doozywl9VW9/62effbZTJgwgccee4wbbriBr3/968yePZuZM2eye/dubrjhBmbNmgXAhAkTmDVrFhdccAERwYknnshDDz0EVIbRn3rqKW6//Xbmz5/PmDFjGD58OPfee+++Y+2dA99r3rx5XH311TV9fyZwSdKg0fX+6m984xv7lsePH8/y5ct73HfGjBnMmDGj221jx45l4cKF3W678MILefPNN/scY185hC5JUgl5Bi5JUj9rb2/n4osvPqB86dKlNDU19csxTOCSJPWzpqamfU+EqxWH0CVJ/SazX554fdTpS7+ZwCVJ/aKxsZH29naTeC9lJu3t7TQ2NvZqP4fQJUn9orm5mba2Nl5//fV6h1I6jY2NNDc392ofE7gkqV8MGTJkv5/UVG05hC5JUgmZwCVJKiETuCRJJWQClySphEzgkiSVkAlckqQSMoFLklRCJnBJkkrIBC5JUgmZwCVJKiETuCRJJVSTBB4RV0TE+ojYEBFzu9k+JSJ+GBG7IuLqWsQgSdJg1u8JPCIagAXAe4FxwHURMa5LtVeAm4FH+/v4kiQdDWrxa2TnARsycyNARCwEpgEv7K2QmZuKbXtqcHxJkga9WgyhnwS82mm9rSjrk4iYHhGrI2K1vzErSVLFgL+ILTMfzMxJmTlpzJgx9Q5HkqQBoRYJfDNwcqf15qJMkiT1k1ok8FXA6RHRGhFDgWuBRTU4jiRJR61+T+CZuQuYBSwBXgQez8x1EXF3REwFiIh3RUQbcA3w1xGxrr/jkCRpMKvFVehk5mJgcZeyOzstr6IytC5JkvpgwF/EJkmSDmQClySphEzgkiSVkAlckqQSMoFLklRCJnBJkkrIBC5JUgmZwCVJKiETuCRJJWQClySphEzgkiSVkAlckqQSMoFLklRCJnBJkkrIBC5JUgmZwCVJKiETuCRJJWQClySphEzgkiSVkAlckqQSMoFLklRCNUvgEXFFRKyPiA0RMbeb7e+IiL8rtj8bES21ikWSpMGmJgk8IhqABcB7gXHAdRExrku1W4A3MvOdwGeBe2sRiyRJg1GtzsDPAzZk5sbM/BWwEJjWpc404OFi+WvAxRERNYpHkqRBpVYJ/CTg1U7rbUVZt3UycxfwJtBUo3gkSRpUjql3AIcSEdOB6cXq9ohYX894ujEa2NovLQ3uAQj7qXr901f2U/Xsq+rYT/Vwak8bapXANwMnd1pvLsq6q9MWEccAvwm0d20oMx8EHqxRnIctIlZn5qR6xzHQ2U/Vs6+qYz9Vz76qTtn6qVZD6KuA0yOiNSKGAtcCi7rUWQTcVCxfDSzLzKxRPJIkDSo1OQPPzF0RMQtYAjQAX87MdRFxN7A6MxcBXwIeiYgNwM+pJHlJklSFms2BZ+ZiYHGXsjs7LXcA19Tq+EfQgB3eH2Dsp+rZV9Wxn6pnX1WnVP0UjlpLklQ+PkpVkqQSMoH30aEeFauKiPhyRPwsIp6vdywDWUScHBHfiogXImJdRHy43jENVBHRGBE/iIjnir76RL1jGsgioiEifhQRT9c7loEsIjZFxL9GxNqIWF3veKrhEHofFI+K/TfgUioPqVkFXJeZL9Q1sAEoIqYA24GvZubv1zuegSoixgJjM/OHETESWANc6WfqQMUTG4dn5vaIGAKsAD6cmSvrHNqAFBEfASYBx2XmH9c7noEqIjYBkzJzoN0H3iPPwPummkfFCsjM71C5y0AHkZlbMvOHxfI24EUOfHqhgKzYXqwOKV6eiXQjIpqB9wEP1TsW9T8TeN9U86hYqU+KX+Y7G3i2vpEMXMWw8FrgZ8A/Z6Z91b3PAXOAPfUOpAQS+J8RsaZ4AuiAZwKXBpCIGAE8AfzfmflWveMZqDJzd2ZOpPKUx/MiwumZLiLij4GfZeaaesdSEhdk5jlUfkVzZjH9N6CZwPummkfFSr1SzOc+AfxtZj5Z73jKIDN/AXwLuKLesQxA5wNTi7ndhcBFEfH/1TekgSszNxf//RnwD1SmSgc0E3jfVPOoWKlqxYVZXwJezMz/Ue94BrKIGBMRo4rlY6lcTPqT+kY18GTmHZnZnJktVP5GLcvMP6lzWANSRAwvLh4lIoYDlwED/s4ZE3gfFD9/uvdRsS8Cj2fmuvpGNTBFxGPA94H/HBFtEXFLvWMaoM4HbqBylrS2eP1RvYMaoMYC34qIH1P5Mv3PmektUjocvwWsiIjngB8A/5iZ36xzTIfkbWSSJJWQZ+CSJJWQCVySpBIygUuSVEImcEmSSsgELklSCZnAJUkqIRO4JEklZAKXJKmE/n8VqrBDFZ2PMgAAAABJRU5ErkJggg==\n","text/plain":["<Figure size 576x432 with 4 Axes>"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"code","metadata":{"id":"j3I3FobLNgJ3","executionInfo":{"status":"ok","timestamp":1632417970633,"user_tz":-210,"elapsed":534,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}}},"source":["# df.iloc[7:].plot.bar(rot=0, subplots=True, figsize=(16, 8))"],"execution_count":99,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":492},"id":"AsCAmTELQuf4","executionInfo":{"status":"ok","timestamp":1632417881917,"user_tz":-210,"elapsed":1419,"user":{"displayName":"zahra nafarieh","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"05175754217722450138"}},"outputId":"1e650350-5275-40e2-eb61-d2baaaa5fcfa"},"source":["df.plot.bar(rot=0, subplots=True, figsize=(20, 8))"],"execution_count":96,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([<matplotlib.axes._subplots.AxesSubplot object at 0x7f600dcc2310>,\n","       <matplotlib.axes._subplots.AxesSubplot object at 0x7f600dc09910>,\n","       <matplotlib.axes._subplots.AxesSubplot object at 0x7f600dcc2d90>,\n","       <matplotlib.axes._subplots.AxesSubplot object at 0x7f600db790d0>],\n","      dtype=object)"]},"metadata":{},"execution_count":96},{"output_type":"display_data","data":{"image/png":"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9vPWyBkzZuSoo47K5s2bMzQ0lBtuuCH77LNPkmTVqlW5/PLLs3bt2jzzzDO58MILc+WVV6aqctVVV2XOnDl55zvfueVag4ODWb58efbff/888sgjecc73pG77ror++67b2bNmpUrrrgiv/Irv5I77rgjixYtes4aQddee21OPfXUn6vvoYceyoUXXphHHnkkVZVLL700//7f//sJ/zZGDgEAAAAk2XPPPbNy5cp8+9vfzn777ZelS5cmSTZu3JizzjorS5YsyX333Zd77rknX/va1/LhD394m9dsreXss8/OySefnDVr1mTFihW56RVe04sAABthSURBVKabMjw8vKXP61//+qxcuXLLNl4wlCR77LFH/viP/zj33ntv7rrrrixdujT33nvvhL93X+FQVZ1RVfdV1eqqWjLO8ZOr6ptVtbmqzhlz7OmqWtnblk24YgAAAIAptnDhwqxduzZJcuONN+Z1r3tdTj/99CTJXnvtlQ996EN5//vfv83r3H777Zk1a1be/va3b2k79NBDc/nll293TQcddFCOO+64JMnee++dI444YkuNE7HNaWVVNSPJ0iSnJRlOcndVLWutjY6mHkxycZJ3/vwVsrG1Nn/ClQIAAGyHyZ6Swrb1M20HXgiefvrp3HbbbbnkkkuSjEwpO/7445/T57DDDsuGDRvyxBNPPO+1Vq1atSXQ2ZqvfOUrmT///0Unn/70p3PYYYc97zn3339/vvWtb+U1r3nN8/brRz9rDp2YZHVrbU2SVNVNSRYl2RIOtdbu7x17ZsIVAQAAAEyDjRs3Zv78+Vm7dm2OOOKInHbaaX2dt7U3hI3Xftlll+XOO+/MrFmzcvfddycZmVb2xS9+se86N2zYkLe85S354Ac/mJe85CV9n7c1/UwrOzjJQ6P2h3tt/ZpdVcur6q6qOnu7qgMAAADYSZ5dc+iBBx5Ia23LmkPz5s3LihUrntN3zZo1mTNnTl7ykpdkYGAgjz322HOOP/nkk9lnn31y5JFH5pvf/OaW9qVLl+a2227LunXrdqjGp556Km95y1tywQUX5Fd/9Vd36Bpj7YwFqQ9trS1I8htJPlhVPzcuqqou7QVIy3f0xwEAAACYDHvttVf+9E//NH/8x3+czZs354ILLsidd96ZL33pS0lGRhj99m//dq644ookycknn5xly5blySefTJJ85jOf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WlXfTfKXGfmb6D9kZA2hE3r9v5FkU5IlVfWBJDOSvC/J8iQP9Ppc0bvO2iTXt9Z+0FvfaCjJ6p3ztQAAJsbIIQCgE1pr65J8Msm7W2t3JnlTRkb9PJyRsOfYJCe11v6x1/+nSX45I1PShpOsychr73+ttdZ6fe5MckqSk5P836r6UZL/npHX2//ZqNsvrKoNY7YTAgCwC6je3zYAAAAAdJCRQwAAAAAdZs0hAIBpUFWHJLl3K4fntdYe3Jn1AADdZVoZAAAAQIftciOH9t9//zY4ODjdZQAAAADsNlasWPFoa+2A8Y7tcuHQ4OBgli9fPt1lAAAAAOw2quqBrR2zIDUAAABAhwmHAAAAADpMOAQAAADQYbvcmkMAAEy977zqiOkuoXOO+O53prsEgBeUp556KsPDw9m0adN0l/KCMnv27MydOzczZ87s+xzhEAAAALDLGR4ezt57753BwcFU1XSX84LQWsv69eszPDycoaGhvs8zrQwAAADY5WzatCkDAwOCoe1QVRkYGNju0VbCIQAAAGCXJBjafjvymwmHAAAAADpsQmsOVdUZSf4kyYwkH22tvX/M8d9J8m+SbE6yLslvtdYemMg9AQAAgO6Z7Jcp9POigBkzZuSoo47K5s2bMzQ0lBtuuCH77LNPkmTVqlW5/PLLs3bt2jzzzDO58MILc+WVV6aqctVVV2XOnDl55zvfueVag4ODWb58efbff/888sgjecc73pG77ror++67b2bNmpUrrrgiv/Irv5I77rgjixYtes6aQddee21OPfXUcWucM2dONmzYMKHfYodHDlXVjCRLk5yZZF6S86tq3phu30qyoLV2dJKbk1yzo/cDAAAA2Jn23HPPrFy5Mt/+9rez3377ZenSpUmSjRs35qyzzsqSJUty33335Z577snXvva1fPjDH97mNVtrOfvss3PyySdnzZo1WbFiRW666aYMDw9v6fP6178+K1eu3LJtLRiaLBMZOXRiktWttTVJUlU3JVmU5N5nO7TW/teo/ncl+c0J3A8AAKBvkz3KgG3rZyQGvFAtXLgw//AP/5AkufHGG/O6170up59+epJkr732yoc+9KG84Q1vyGWXXfa817n99tsza9asvP3tb9/Sduihh+byyy+fuuK3YSJrDh2c5KFR+8O9tq25JMl/m8D9AAAAAHa6p59+OrfddlvOOuusJCNTyo4//vjn9DnssMOyYcOGPPHEE897rVWrVuW444573j5f+cpXMn/+/C3b9773vYl9gW2Y0JpD/aqq30yyIMkvbeX4pUkuTZJDDjlkZ5Q0JfzLxM7nXyYAAACYKhs3bsz8+fOzdu3aHHHEETnttNP+//buLtTOKr0D+P8hmqbGWuE0FvFIDVTKxBJrSb0ZyYW2RdtBe+GAYkMLA94kOrUXYqkM1DsttkUQGXGEfmqnHavBSu2YEUqgnclHM21jaglBx0jBTGrbiNghztOLs5WYRjo5e5/sJOv3g0Per/2u5xzWOez897vW+oFe92krhp3q+NatW7Nz586sXr06u3btSrI0rOzFF19cfuGnaZonh95OcuUJ+4uTY59QVT+f5LeT3Nrd/3OqG3X3k929qbs3rVu3boqSAAAAAGbjozmH3nzzzXT3x3MObdiwIXv27PnEtYcOHcrFF1+cSy65JAsLC3n33Xc/cf7YsWO59NJLc80112Tv3r0fH3/88cezY8eOHDlyZOW/oU8xTTi0K8nVVbW+qlYnuSPJ9hMvqKrrknw5S8HQO1O0BQAAADAXF110UR577LE8+uijOX78eO66667s3Lkzr7zySpKlJ4zuvffe3H///UmSzZs3Z/v27Tl27FiS5Lnnnsu1116bVatW5cYbb8wHH3yQJ5544uP7v//++2f+mzrBsoeVdffxqtqW5OUsLWX/dHfvr6qHkuzu7u1JfjfJxUn+YvLo1He6+9YZ1A0AAAAMZN7Tilx33XXZuHFjnnnmmWzZsiUvvPBC7rnnnmzdujUffvhhtmzZkm3btiVJNm7cmG3btuWGG25IVeWyyy7LU089lWRpaNnzzz+f++67L4888kjWrVuXtWvX5uGHH/64rY/mHPrIgw8+mNtvv33Fvrfq7hW7+XJs2rSpd+/ePe8ylsWcQ2fevP84AMC5yvuWM8/7ljNPPz/z9HNm6cCBA/nMZ/weL8epfnZVtae7N53q+mmGlQEAAABwjjsjq5UBAAAAsDxHjx7NTTfd9H+O79ixIwsLC1PfXzgEACcxDOHMMwwBAODTLSwsZN++fSt2f8PKAAAAgLPS2TZP8rlgOT8zTw4Bp8UTFWeeJyoAABjRmjVrcvTo0SwsLGSyAjr/j+7O0aNHs2bNmtN6nXAIAAAAOOssLi7m8OHDOXLkyLxLOaesWbMmi4uLp/Ua4RAAAABw1rnwwguzfv36eZcxBHMOAQAAAAxMOAQAAAAwMOEQAAAAwMCEQwAAAAADEw4BAAAADEw4BAAAADAw4RAAAADAwIRDAAAAAAMTDgEAAAAMTDgEAAAAMDDhEAAAAMDAhEMAAAAAAxMOAQAAAAxMOAQAAAAwMOEQAAAAwMCEQwAAAAADEw4BAAAADEw4BAAAADAw4RAAAADAwIRDAAAAAAMTDgEAAAAMTDgEAAAAMDDhEAAAAMDAhEMAAAAAA5sqHKqqm6vq9ao6WFUPnOL85qraW1XHq+r2adoCAAAAYPaWHQ5V1aokjye5JcmGJHdW1YaTLvtOkl9P8mfLbQcAAACAlXPBFK+9PsnB7j6UJFX1bJLbkrz20QXd/cbk3PenaAcAAACAFTLNsLIrkrx1wv7hyTEAAAAAzhFnxYTUVXV3Ve2uqt1HjhyZdzkAAAAAw5gmHHo7yZUn7C9Ojp227n6yuzd196Z169ZNURIAAAAAp2OacGhXkquran1VrU5yR5LtsykLAAAAgDNh2eFQdx9Psi3Jy0kOJPlqd++vqoeq6tYkqaqfq6rDST6f5MtVtX8WRQMAAAAwG9OsVpbufinJSycd+9IJ27uyNNwMAAAAgLPQWTEhNQAAAADzIRwCAAAAGJhwCAAAAGBgwiEAAACAgQmHAAAAAAYmHAIAAAAYmHAIAAAAYGDCIQAAAICBCYcAAAAABiYcAgAAABiYcAgAAABgYMIhAAAAgIEJhwAAAAAGJhwCAAAAGJhwCAAAAGBgwiEAAACAgQmHAAAAAAYmHAIAAAAYmHAIAAAAYGDCIQAAAICBCYcAAAAABiYcAgAAABiYcAgAAABgYMIhAAAAgIEJhwAAAAAGJhwCAAAAGJhwCAAAAGBgwiEAAACAgQmHAAAAAAYmHAIAAAAYmHAIAAAAYGDCIQAAAICBTRUOVdXNVfV6VR2sqgdOcf6HqurPJ+e/WVVXTdMeAAAAALO17HCoqlYleTzJLUk2JLmzqjacdNkXkrzb3T+Z5PeTPLzc9gAAAACYvWmeHLo+ycHuPtTd30vybJLbTrrmtiR/ONn+yyQ3VVVN0SYAAAAAMzRNOHRFkrdO2D88OXbKa7r7eJL/SrIwRZsAAAAAzNAF8y4gSarq7iR3T3bfq6rX51nPgH4syXfnXcSyeBCNH5x+zgj0c0agnzMC/ZwRnLv9/Nz1E592Yppw6O0kV56wvzg5dqprDlfVBUl+NMnRk2/U3U8meXKKWphCVe3u7k3zrgNWkn7OCPRzRqCfMwL9nBHo52eXaYaV7UpydVWtr6rVSe5Isv2ka7Yn+bXJ9u1JvtHdPUWbAAAAAMzQsp8c6u7jVbUtyctJViV5urv3V9VDSXZ39/YkX0nyx1V1MMl/ZClAAgAAAOAsMdWcQ939UpKXTjr2pRO2P0jy+Wna4IwwpI8R6OeMQD9nBPo5I9DPGYF+fhYpo7wAAAAAxjXNnEMAAAAAnOOEQ4Orqpur6vWqOlhVD8y7Hpi1qnq6qt6pqn+Zdy2wUqrqyqp6tapeq6r9VfXFedcEs1ZVa6rqW1X17Uk//5151wQrpapWVdU/VtWL864FVkJVvVFV/1xV+6pq97zrwbCyoVXVqiT/luQXkhzO0gp0d3b3a3MtDGaoqjYneS/JH3X3T8+7HlgJVXV5ksu7e29V/UiSPUl+xd9zzidVVUnWdvd7VXVhkp1Jvtjd/zDn0mDmquo3k2xKckl3f27e9cCsVdUbSTZ193fnXQtLPDk0tuuTHOzuQ939vSTPJrltzjXBTHX332VptUQ4b3X3v3f33sn2sSQHklwx36pgtnrJe5PdCydfPuXkvFNVi0l+OclT864FGIdwaGxXJHnrhP3D8Z8JgHNaVV2V5Lok35xvJTB7k6E2+5K8k+Tr3a2fcz76gyT3J/n+vAuBFdRJ/raq9lTV3fMuBuEQAJw3quriJF9L8hvd/d/zrgdmrbs/7O6fSbKY5PqqMlyY80pVfS7JO929Z961wAq7obt/NsktSbZOpoJgjoRDY3s7yZUn7C9OjgFwjpnMwfK1JH/a3c/Nux5YSd39n0leTXLzvGuBGftsklsn87E8m+TGqvqT+ZYEs9fdb0/+fSfJX2VpyhPmSDg0tl1Jrq6q9VW1OskdSbbPuSYATtNkot6vJDnQ3b8373pgJVTVuqq6dLL9w1laUONf51sVzFZ3/1Z3L3b3VVl6b/6N7v7VOZcFM1VVaycLaKSq1ib5xSRWFp4z4dDAuvt4km1JXs7S5KVf7e79860KZquqnkny90l+qqoOV9UX5l0TrIDPJtmSpU+Y902+fmneRcGMXZ7k1ar6pyx9wPX17rbMN8C558eT7Kyqbyf5VpK/7u6/mXNNw7OUPQAAAMDAPDkEAAAAMDDhEAAAAMDAhEMAAAAAAxMOAQAAAAxMOAQAAAAwMOEQAAAAwMCEQwAAAAADEw4BAAAADOx/AQVxN+2mmZAWAAAAAElFTkSuQmCC\n","text/plain":["<Figure size 1440x576 with 4 Axes>"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"code","metadata":{"id":"balb23Y6Sh8v"},"source":[""],"execution_count":null,"outputs":[]}]}
\ No newline at end of file