Files
detect_bs_text/nbs/03_use_ia3_hftrain .ipynb
T
2024-01-03 13:14:24 +08:00

6107 lines
927 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"https://github.com/huggingface/peft/blob/main/examples/fp4_finetuning/finetune_fp4_opt_bnb_peft.py"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
" from .autonotebook import tqdm as notebook_tqdm\n"
]
}
],
"source": [
"from torch import optim\n",
"import lightning as pl\n",
"from matplotlib import pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"\n",
"import torch\n",
"import torch.nn as nn\n",
"import transformers\n",
"from datasets import load_dataset\n",
"from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig, AutoConfig\n",
"import numpy as np\n",
"from tqdm.auto import tqdm\n",
"import pandas as pd\n",
"import warnings\n",
"from peft import LoraConfig, get_peft_model, IA3Config"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"plt.style.use('ggplot')\n",
"torch.set_float32_matmul_precision('medium')\n",
"warnings.filterwarnings(\"ignore\", \".*does not have many workers.*\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"0\"\n",
"\n",
"model_name = \"microsoft/phi-2\"\n",
"\n",
"# model = AutoModelForCausalLM.from_pretrained(\n",
"# model_name,\n",
"# # max_memory=max_memory,\n",
"# quantization_config=BitsAndBytesConfig(\n",
"# load_in_4bit=True,\n",
"# llm_int8_threshold=6.0,\n",
"# llm_int8_has_fp16_weight=False,\n",
"# bnb_4bit_compute_dtype=torch.float16,\n",
"# bnb_4bit_use_double_quant=True,\n",
"# bnb_4bit_quant_type=\"nf4\",\n",
"# ),\n",
"# torch_dtype=torch.float16,\n",
"# trust_remote_code=True,\n",
"# )\n",
"\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"# model_name = \"TheBloke/phi-2-GPTQ\"\n",
"model_name = \"microsoft/phi-2\"\n",
"\n",
"def load_model():\n",
"\n",
" model = AutoModelForCausalLM.from_pretrained(\n",
" model_name,\n",
" # quantization_config=BitsAndBytesConfig(\n",
" # load_in_4bit=True,\n",
" # llm_int8_threshold=6.0,\n",
" # llm_int8_has_fp16_weight=False,\n",
" # bnb_4bit_compute_dtype=torch.float16,\n",
" # bnb_4bit_use_double_quant=True,\n",
" # bnb_4bit_quant_type=\"nf4\",\n",
" # ),\n",
" torch_dtype=torch.float16,\n",
" trust_remote_code=True,\n",
" )\n",
"\n",
"\n",
" # config = AutoConfig.from_pretrained(model_name, trust_remote_code=True,)\n",
" # config.quantization_config['use_exllama'] = False\n",
" # config.quantization_config['disable_exllama'] = True\n",
" # model = AutoModelForCausalLM.from_pretrained(\n",
" # model_name,\n",
" # torch_dtype=torch.bfloat16,\n",
" # trust_remote_code=True,\n",
" # config=config,\n",
" # )\n",
" return model\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Loading checkpoint shards: 100%|██████████| 2/2 [00:01<00:00, 1.85it/s]\n",
"Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.\n"
]
}
],
"source": [
"base_model = load_model()\n",
"tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True,)\n",
"tokenizer.pad_token = tokenizer.eos_token"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"def reset_model(base_model):\n",
" # peft_config = LoraConfig(\n",
" # # task_type=TaskType.TOKEN_CLS, \n",
" # target_modules=[ \"fc2\", \"Wqkv\",],\n",
" # inference_mode=False, r=4, lora_alpha=4, \n",
" # # lora_dropout=0.1, \n",
" # # bias=\"all\"\n",
" # )\n",
" peft_config = IA3Config(\n",
" target_modules=[ \"fc2\", \"Wqkv\",], \n",
" feedforward_modules=[\"fc2\"],\n",
" inference_mode=False,\n",
" )\n",
" model = get_peft_model(base_model, peft_config)\n",
" model.config.use_cache = False\n",
" return model\n",
"\n",
"model = reset_model(base_model)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"import json\n",
"MAX_LEN = 2000\n",
"samples = json.load(open(\"../samples.json\"))\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Helpers"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"# modified from https://github.dev/huggingface/evaluate/blob/8dfe05784099fb9af55b8e77793205a3b7c86465/measurements/perplexity/perplexity.py#L154\n",
"\n",
"# from evaluate.measurements.perplexity import Perplexity\n",
"import evaluate\n",
"from evaluate import logging\n",
"from torch.nn import CrossEntropyLoss\n",
"\n",
"# @evaluate.utils.file_utils.add_start_docstrings(_DESCRIPTION, _KWARGS_DESCRIPTION)\n",
"def perplexity_compute(\n",
" data, model, tokenizer, batch_size: int = 16, add_start_token: bool = True, device=None, max_length=None\n",
"):\n",
"\n",
" if device is not None:\n",
" assert device in [\"gpu\", \"cpu\", \"cuda\"], \"device should be either gpu or cpu.\"\n",
" if device == \"gpu\":\n",
" device = \"cuda\"\n",
" else:\n",
" device = \"cuda\" if torch.cuda.is_available() else \"cpu\"\n",
"\n",
" # model = AutoModelForCausalLM.from_pretrained(model_id)\n",
" model = model.to(device)\n",
"\n",
" # tokenizer = AutoTokenizer.from_pretrained(model_id)\n",
"\n",
" # # if batch_size > 1 (which generally leads to padding being required), and\n",
" # # if there is not an already assigned pad_token, assign an existing\n",
" # # special token to also be the padding token\n",
" # if tokenizer.pad_token is None and batch_size > 1:\n",
" # existing_special_tokens = list(tokenizer.special_tokens_map_extended.values())\n",
" # # check that the model already has at least one special token defined\n",
" # assert (\n",
" # len(existing_special_tokens) > 0\n",
" # ), \"If batch_size > 1, model must have at least one special token to use for padding. Please use a different model or set batch_size=1.\"\n",
" # # assign one of the special tokens to also be the pad token\n",
" # tokenizer.add_special_tokens({\"pad_token\": existing_special_tokens[0]})\n",
"\n",
" # if add_start_token and max_length:\n",
" # # leave room for <BOS> token to be added:\n",
" # assert (\n",
" # tokenizer.bos_token is not None\n",
" # ), \"Input model must already have a BOS token if using add_start_token=True. Please use a different model, or set add_start_token=False\"\n",
" # max_tokenized_len = max_length - 1\n",
" # else:\n",
" max_tokenized_len = max_length\n",
"\n",
" encodings = tokenizer(\n",
" data,\n",
" add_special_tokens=False,\n",
" padding=True,\n",
" truncation=True if max_tokenized_len else False,\n",
" max_length=max_tokenized_len,\n",
" return_tensors=\"pt\",\n",
" return_attention_mask=True,\n",
" ).to(device)\n",
"\n",
" encoded_texts = encodings[\"input_ids\"]\n",
" attn_masks = encodings[\"attention_mask\"]\n",
"\n",
" # check that each input is long enough:\n",
" if add_start_token:\n",
" assert torch.all(torch.ge(attn_masks.sum(1), 1)), \"Each input text must be at least one token long.\"\n",
" else:\n",
" assert torch.all(\n",
" torch.ge(attn_masks.sum(1), 2)\n",
" ), \"When add_start_token=False, each input text must be at least two tokens long. Run with add_start_token=True if inputting strings of only one token, and remove all empty input strings.\"\n",
"\n",
" ppls = []\n",
" loss_fct = CrossEntropyLoss(reduction=\"none\")\n",
"\n",
" for start_index in logging.tqdm(range(0, len(encoded_texts), batch_size)):\n",
" end_index = min(start_index + batch_size, len(encoded_texts))\n",
" encoded_batch = encoded_texts[start_index:end_index]\n",
" attn_mask = attn_masks[start_index:end_index]\n",
"\n",
" # if add_start_token:\n",
" # bos_tokens_tensor = torch.tensor([[tokenizer.bos_token_id]] * encoded_batch.size(dim=0)).to(device)\n",
" # encoded_batch = torch.cat([bos_tokens_tensor, encoded_batch], dim=1)\n",
" # attn_mask = torch.cat(\n",
" # [torch.ones(bos_tokens_tensor.size(), dtype=torch.int64).to(device), attn_mask], dim=1\n",
" # )\n",
"\n",
" labels = encoded_batch\n",
"\n",
" with torch.no_grad():\n",
" out_logits = model(encoded_batch, attention_mask=attn_mask).logits\n",
" # print(out_logits.shape)\n",
"\n",
" shift_logits = out_logits[..., :-1, :].contiguous()\n",
" shift_labels = labels[..., 1:].contiguous()\n",
" shift_attention_mask_batch = attn_mask[..., 1:].contiguous()\n",
"\n",
" perplexity_batch = torch.exp(\n",
" (loss_fct(shift_logits.transpose(1, 2), shift_labels) * shift_attention_mask_batch).sum(1)\n",
" / shift_attention_mask_batch.sum(1)\n",
" )\n",
" # perplexity_batch = torch.exp(\n",
" # (loss_fct(shift_logits.transpose(1, 2), shift_labels) * shift_attention_mask_batch)\n",
" # / shift_attention_mask_batch.sum(1)\n",
" # )\n",
" # print(perplexity_batch.shape)\n",
"\n",
" ppls += perplexity_batch.tolist()\n",
"\n",
" return {\"perplexities\": ppls, \"mean_perplexity\": torch.tensor(ppls).mean()}"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"# perplexity_compute(\n",
"# second_half, model, tokenizer\n",
"# )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Training"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"from torch.nn import functional as F\n",
"from torch.utils.data import DataLoader, TensorDataset"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Lightning helpers"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"\n",
"\n",
"\n",
"\n",
"# def str2xya(s, tokenizer):\n",
"# max_len = min(MAX_LEN, len(s))\n",
"# input_ids = tokenizer(s, return_tensors=\"pt\")[\"input_ids\"][0]\n",
"\n",
"# pad = tokenizer.bos_token_id\n",
"# data = []\n",
"# for i in range(1, len(input_ids)):\n",
"# x = input_ids[:i][-max_len:]\n",
"# padding = max_len - len(x)\n",
"# x = torch.tensor([pad]*padding + x.tolist())\n",
"\n",
"# labels = input_ids[i:i+1]\n",
"# attention_mask = (x==pad)*1\n",
"# data.append(dict(input_ids=x, labels=labels, attention_mask=attention_mask, return_loss=True))\n",
" \n",
"# return data\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"def eval(model, tokenizer, second_half):\n",
" model.eval();\n",
" with torch.no_grad():\n",
" with model.disable_adapter():\n",
" results = perplexity_compute(data=second_half, model=model, tokenizer=tokenizer, device='cuda')\n",
" results2 = perplexity_compute(data=second_half, model=model, tokenizer=tokenizer, device='cuda')\n",
" return dict(before=results['mean_perplexity'].item(), after=results2['mean_perplexity'].item())\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Train"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"from datasets import Dataset\n",
"\n",
"\n",
"def compute_metrics(eval_prediction):\n",
" return {}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Trainer docs\n",
"\n",
"- https://huggingface.co/docs/transformers/v4.36.1/en/main_classes/trainer#transformers.Trainer"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"def learn_sample(sample):\n",
" # device = 'cuda'\n",
" # lr = 4e-3\n",
" # epochs = 3\n",
" # accum_steps = 1\n",
" batch_size = 6\n",
" verbose = True\n",
"\n",
" s = sample['text']\n",
" first_half = s[:len(s)//2]\n",
" second_half = s[len(s)//2:]\n",
" ds_train = Dataset.from_dict(tokenizer([first_half]))\n",
" ds_val = Dataset.from_dict(tokenizer([second_half]))\n",
"\n",
" os.environ['CUDA_VISIBLE_DEVICES']=\"1\"\n",
" model = reset_model(base_model)\n",
" eval(model, tokenizer, second_half)\n",
"\n",
" # https://huggingface.co/docs/transformers/v4.36.1/en/main_classes/trainer#transformers.Trainer\n",
" trainer = transformers.Trainer(\n",
" model=model,\n",
" train_dataset=ds_train,\n",
" eval_dataset=ds_val,\n",
" compute_metrics=compute_metrics, # without this it wont even give val loss\n",
" args=transformers.TrainingArguments(\n",
" # checkpoint='epoch',\n",
" save_strategy='epoch',\n",
" label_names=['labels',],\n",
" per_device_train_batch_size=batch_size,\n",
" gradient_accumulation_steps=3,\n",
" warmup_steps=6,\n",
" max_steps=20,\n",
" learning_rate=2e-3,\n",
" fp16=True,\n",
" logging_steps=1,\n",
" output_dir=\"outputs\",\n",
" log_level='error',\n",
" # do_eval=True,\n",
" evaluation_strategy=\"epoch\",\n",
" eval_steps=1,\n",
" load_best_model_at_end=True,\n",
" \n",
" # disable_tqdm=not verbose,\n",
" ),\n",
" data_collator=transformers.DataCollatorForLanguageModeling(tokenizer, mlm=False),\n",
" )\n",
" trainer._signature_columns = ['input_ids', 'attention_mask', 'labels',]\n",
" model.config.use_cache = False # silence the warnings. Please re-enable for inference!\n",
" train_output = trainer.train()\n",
"\n",
" df_hist = pd.DataFrame(trainer.state.log_history)\n",
" df_hist_epoch = df_hist.groupby('epoch').last().drop(columns=['step'])\n",
" df_hist_step = df_hist.set_index('step').dropna(thresh=2, axis=1)\n",
" if verbose:\n",
" df_hist_epoch['loss'].plot()\n",
" plt.twinx()\n",
" df_hist_epoch['eval_loss'].plot(c='b', label='eval')\n",
" plt.legend()\n",
" plt.show()\n",
"\n",
"\n",
" result_train = {f'train/{k}':v for k,v in eval(model, tokenizer, first_half).items()}\n",
" result = eval(model, tokenizer, second_half)\n",
" result['hist'] = df_hist_epoch\n",
" result.update(result_train)\n",
" return result\n"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 5.37it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 11.16it/s]\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
" 0%| | 0/20 [00:00<?, ?it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
" 5%|▌ | 1/20 [00:00<00:06, 3.04it/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.975, 'learning_rate': 0.0003333333333333333, 'epoch': 1.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 5%|▌ | 1/20 [00:00<00:06, 3.04it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.6324350833892822, 'eval_runtime': 0.0795, 'eval_samples_per_second': 12.581, 'eval_steps_per_second': 12.581, 'epoch': 1.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 10%|█ | 2/20 [00:00<00:05, 3.48it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.9477, 'learning_rate': 0.0006666666666666666, 'epoch': 2.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 10%|█ | 2/20 [00:00<00:05, 3.48it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.6316795349121094, 'eval_runtime': 0.0794, 'eval_samples_per_second': 12.598, 'eval_steps_per_second': 12.598, 'epoch': 2.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 15%|█▌ | 3/20 [00:00<00:04, 3.60it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.964, 'learning_rate': 0.001, 'epoch': 3.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 15%|█▌ | 3/20 [00:00<00:04, 3.60it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.6300618648529053, 'eval_runtime': 0.078, 'eval_samples_per_second': 12.825, 'eval_steps_per_second': 12.825, 'epoch': 3.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 20%|██ | 4/20 [00:01<00:04, 3.89it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.9541, 'learning_rate': 0.0013333333333333333, 'epoch': 4.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 20%|██ | 4/20 [00:01<00:04, 3.89it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.6292779445648193, 'eval_runtime': 0.0797, 'eval_samples_per_second': 12.552, 'eval_steps_per_second': 12.552, 'epoch': 4.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 25%|██▌ | 5/20 [00:01<00:03, 4.07it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.9307, 'learning_rate': 0.0016666666666666668, 'epoch': 5.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 25%|██▌ | 5/20 [00:01<00:03, 4.07it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.630882501602173, 'eval_runtime': 0.0785, 'eval_samples_per_second': 12.732, 'eval_steps_per_second': 12.732, 'epoch': 5.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 30%|███ | 6/20 [00:01<00:03, 4.18it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8942, 'learning_rate': 0.002, 'epoch': 6.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 30%|███ | 6/20 [00:01<00:03, 4.18it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.6326723098754883, 'eval_runtime': 0.0776, 'eval_samples_per_second': 12.893, 'eval_steps_per_second': 12.893, 'epoch': 6.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 35%|███▌ | 7/20 [00:01<00:03, 4.12it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.855, 'learning_rate': 0.0018571428571428573, 'epoch': 7.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 35%|███▌ | 7/20 [00:01<00:03, 4.12it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.6402180194854736, 'eval_runtime': 0.0791, 'eval_samples_per_second': 12.637, 'eval_steps_per_second': 12.637, 'epoch': 7.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 40%|████ | 8/20 [00:02<00:02, 4.03it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8358, 'learning_rate': 0.0017142857142857142, 'epoch': 8.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 40%|████ | 8/20 [00:02<00:02, 4.03it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.6456449031829834, 'eval_runtime': 0.0784, 'eval_samples_per_second': 12.753, 'eval_steps_per_second': 12.753, 'epoch': 8.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 45%|████▌ | 9/20 [00:02<00:02, 4.03it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8034, 'learning_rate': 0.0015714285714285715, 'epoch': 9.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 45%|████▌ | 9/20 [00:02<00:02, 4.03it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.651256799697876, 'eval_runtime': 0.0778, 'eval_samples_per_second': 12.856, 'eval_steps_per_second': 12.856, 'epoch': 9.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 50%|█████ | 10/20 [00:02<00:02, 4.09it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7903, 'learning_rate': 0.0014285714285714286, 'epoch': 10.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 50%|█████ | 10/20 [00:02<00:02, 4.09it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.660555601119995, 'eval_runtime': 0.0788, 'eval_samples_per_second': 12.69, 'eval_steps_per_second': 12.69, 'epoch': 10.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 55%|█████▌ | 11/20 [00:02<00:02, 4.04it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7733, 'learning_rate': 0.0012857142857142859, 'epoch': 11.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 55%|█████▌ | 11/20 [00:02<00:02, 4.04it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.6638293266296387, 'eval_runtime': 0.0794, 'eval_samples_per_second': 12.599, 'eval_steps_per_second': 12.599, 'epoch': 11.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 60%|██████ | 12/20 [00:03<00:01, 4.04it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7502, 'learning_rate': 0.0011428571428571427, 'epoch': 12.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 60%|██████ | 12/20 [00:03<00:01, 4.04it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.663893222808838, 'eval_runtime': 0.0791, 'eval_samples_per_second': 12.648, 'eval_steps_per_second': 12.648, 'epoch': 12.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 65%|██████▌ | 13/20 [00:03<00:01, 3.94it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7307, 'learning_rate': 0.001, 'epoch': 13.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 65%|██████▌ | 13/20 [00:03<00:01, 3.94it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.664576530456543, 'eval_runtime': 0.0793, 'eval_samples_per_second': 12.608, 'eval_steps_per_second': 12.608, 'epoch': 13.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 70%|███████ | 14/20 [00:03<00:01, 4.07it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7164, 'learning_rate': 0.0008571428571428571, 'epoch': 14.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 70%|███████ | 14/20 [00:03<00:01, 4.07it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.6659302711486816, 'eval_runtime': 0.0783, 'eval_samples_per_second': 12.777, 'eval_steps_per_second': 12.777, 'epoch': 14.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 75%|███████▌ | 15/20 [00:03<00:01, 4.17it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7007, 'learning_rate': 0.0007142857142857143, 'epoch': 15.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 75%|███████▌ | 15/20 [00:03<00:01, 4.17it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.6626029014587402, 'eval_runtime': 0.0793, 'eval_samples_per_second': 12.605, 'eval_steps_per_second': 12.605, 'epoch': 15.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 80%|████████ | 16/20 [00:04<00:00, 4.07it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6813, 'learning_rate': 0.0005714285714285714, 'epoch': 16.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 80%|████████ | 16/20 [00:04<00:00, 4.07it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.6663095951080322, 'eval_runtime': 0.0783, 'eval_samples_per_second': 12.778, 'eval_steps_per_second': 12.778, 'epoch': 16.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 85%|████████▌ | 17/20 [00:04<00:00, 4.05it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6783, 'learning_rate': 0.00042857142857142855, 'epoch': 17.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 85%|████████▌ | 17/20 [00:04<00:00, 4.05it/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.6696841716766357, 'eval_runtime': 0.0787, 'eval_samples_per_second': 12.703, 'eval_steps_per_second': 12.703, 'epoch': 17.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
" 90%|█████████ | 18/20 [00:04<00:00, 3.61it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6676, 'learning_rate': 0.0002857142857142857, 'epoch': 18.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 90%|█████████ | 18/20 [00:04<00:00, 3.61it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.6674890518188477, 'eval_runtime': 0.0823, 'eval_samples_per_second': 12.148, 'eval_steps_per_second': 12.148, 'epoch': 18.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 95%|█████████▌| 19/20 [00:04<00:00, 3.66it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6586, 'learning_rate': 0.00014285714285714284, 'epoch': 19.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
" 95%|█████████▌| 19/20 [00:04<00:00, 3.66it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.667912721633911, 'eval_runtime': 0.0787, 'eval_samples_per_second': 12.708, 'eval_steps_per_second': 12.708, 'epoch': 19.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 20/20 [00:05<00:00, 3.75it/s]/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6558, 'learning_rate': 0.0, 'epoch': 20.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" \n",
"100%|██████████| 20/20 [00:05<00:00, 3.80it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.668612003326416, 'eval_runtime': 0.0784, 'eval_samples_per_second': 12.753, 'eval_steps_per_second': 12.753, 'epoch': 20.0}\n",
"{'train_runtime': 5.2597, 'train_samples_per_second': 136.89, 'train_steps_per_second': 3.802, 'train_loss': 0.7981548935174942, 'epoch': 20.0}\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 11.87it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 11.29it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 11.77it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 11.18it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"bad_ml\n",
"{'before': 13.906105995178223, 'after': 13.862305641174316}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 13.47it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 12.95it/s]\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.1471, 'learning_rate': 0.0003333333333333333, 'epoch': 1.0}\n",
"{'eval_loss': 3.3446907997131348, 'eval_runtime': 0.0514, 'eval_samples_per_second': 19.443, 'eval_steps_per_second': 19.443, 'epoch': 1.0}\n",
"{'loss': 1.1413, 'learning_rate': 0.0006666666666666666, 'epoch': 2.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.3427512645721436, 'eval_runtime': 0.0519, 'eval_samples_per_second': 19.286, 'eval_steps_per_second': 19.286, 'epoch': 2.0}\n",
"{'loss': 1.1074, 'learning_rate': 0.001, 'epoch': 3.0}\n",
"{'eval_loss': 3.3391706943511963, 'eval_runtime': 0.0457, 'eval_samples_per_second': 21.87, 'eval_steps_per_second': 21.87, 'epoch': 3.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.0979, 'learning_rate': 0.0013333333333333333, 'epoch': 4.0}\n",
"{'eval_loss': 3.3322410583496094, 'eval_runtime': 0.0462, 'eval_samples_per_second': 21.661, 'eval_steps_per_second': 21.661, 'epoch': 4.0}\n",
"{'loss': 1.0826, 'learning_rate': 0.0016666666666666668, 'epoch': 5.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.3301784992218018, 'eval_runtime': 0.0469, 'eval_samples_per_second': 21.311, 'eval_steps_per_second': 21.311, 'epoch': 5.0}\n",
"{'loss': 1.056, 'learning_rate': 0.002, 'epoch': 6.0}\n",
"{'eval_loss': 3.3214917182922363, 'eval_runtime': 0.0464, 'eval_samples_per_second': 21.559, 'eval_steps_per_second': 21.559, 'epoch': 6.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.0074, 'learning_rate': 0.0018571428571428573, 'epoch': 7.0}\n",
"{'eval_loss': 3.3130364418029785, 'eval_runtime': 0.0458, 'eval_samples_per_second': 21.835, 'eval_steps_per_second': 21.835, 'epoch': 7.0}\n",
"{'loss': 0.9524, 'learning_rate': 0.0017142857142857142, 'epoch': 8.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.3035030364990234, 'eval_runtime': 0.0455, 'eval_samples_per_second': 21.991, 'eval_steps_per_second': 21.991, 'epoch': 8.0}\n",
"{'loss': 0.9138, 'learning_rate': 0.0015714285714285715, 'epoch': 9.0}\n",
"{'eval_loss': 3.298600196838379, 'eval_runtime': 0.0463, 'eval_samples_per_second': 21.59, 'eval_steps_per_second': 21.59, 'epoch': 9.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8819, 'learning_rate': 0.0014285714285714286, 'epoch': 10.0}\n",
"{'eval_loss': 3.294665813446045, 'eval_runtime': 0.0459, 'eval_samples_per_second': 21.806, 'eval_steps_per_second': 21.806, 'epoch': 10.0}\n",
"{'loss': 0.8619, 'learning_rate': 0.0012857142857142859, 'epoch': 11.0}\n",
"{'eval_loss': 3.2902116775512695, 'eval_runtime': 0.0459, 'eval_samples_per_second': 21.783, 'eval_steps_per_second': 21.783, 'epoch': 11.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8455, 'learning_rate': 0.0011428571428571427, 'epoch': 12.0}\n",
"{'eval_loss': 3.2865536212921143, 'eval_runtime': 0.0475, 'eval_samples_per_second': 21.07, 'eval_steps_per_second': 21.07, 'epoch': 12.0}\n",
"{'loss': 0.8071, 'learning_rate': 0.001, 'epoch': 13.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.283342123031616, 'eval_runtime': 0.0473, 'eval_samples_per_second': 21.123, 'eval_steps_per_second': 21.123, 'epoch': 13.0}\n",
"{'loss': 0.7878, 'learning_rate': 0.0008571428571428571, 'epoch': 14.0}\n",
"{'eval_loss': 3.2826781272888184, 'eval_runtime': 0.0457, 'eval_samples_per_second': 21.86, 'eval_steps_per_second': 21.86, 'epoch': 14.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7665, 'learning_rate': 0.0007142857142857143, 'epoch': 15.0}\n",
"{'eval_loss': 3.27935791015625, 'eval_runtime': 0.047, 'eval_samples_per_second': 21.273, 'eval_steps_per_second': 21.273, 'epoch': 15.0}\n",
"{'loss': 0.7461, 'learning_rate': 0.0005714285714285714, 'epoch': 16.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.277428150177002, 'eval_runtime': 0.0471, 'eval_samples_per_second': 21.212, 'eval_steps_per_second': 21.212, 'epoch': 16.0}\n",
"{'loss': 0.7316, 'learning_rate': 0.00042857142857142855, 'epoch': 17.0}\n",
"{'eval_loss': 3.2803244590759277, 'eval_runtime': 0.0455, 'eval_samples_per_second': 21.961, 'eval_steps_per_second': 21.961, 'epoch': 17.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7258, 'learning_rate': 0.0002857142857142857, 'epoch': 18.0}\n",
"{'eval_loss': 3.2791643142700195, 'eval_runtime': 0.0477, 'eval_samples_per_second': 20.96, 'eval_steps_per_second': 20.96, 'epoch': 18.0}\n",
"{'loss': 0.7076, 'learning_rate': 0.00014285714285714284, 'epoch': 19.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.2756590843200684, 'eval_runtime': 0.0447, 'eval_samples_per_second': 22.354, 'eval_steps_per_second': 22.354, 'epoch': 19.0}\n",
"{'loss': 0.7127, 'learning_rate': 0.0, 'epoch': 20.0}\n",
"{'eval_loss': 3.278388738632202, 'eval_runtime': 0.0471, 'eval_samples_per_second': 21.234, 'eval_steps_per_second': 21.234, 'epoch': 20.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'train_runtime': 3.4493, 'train_samples_per_second': 208.739, 'train_steps_per_second': 5.798, 'train_loss': 0.9040146082639694, 'epoch': 20.0}\n"
]
},
{
"data": {
"image/png": "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ce7cOVxdXalevTo9evSgXLly1z1m06ZNzJ49O9dzLi4uzJ8/39bh3pJFixaxePHiXM+VK1eO995777rHbN++nYULFxIdHU1QUBDdu3enQYMGNo60cAwcOJDo6Oirnm/Xrh19+vS56vmSdF4PHTrE8uXLOXXqFLGxsQwbNoxGjRrl/NwwDBYtWsT69etJTk6mRo0a9OnTh+Dg4Bu+7o8//siKFSuIi4sjNDSUXr16UbVqVVunc0M3ytVqtbJgwQL27t1LVFQU7u7u1K5dm27duuHv73/d17yZz0JRyevczpo1i82bN+c6pm7duowaNeqGr1vSzi1Aly5drnlcjx49ePTRR6/5s+J6bvPzuyYjI4N58+axbds2MjMzqVu3Ln369MHX1/e6r3uzn3VHIgVTETl06BAPPPAAt912G1lZWXzzzTdMmjSJGTNm3HDDQ4vFwvvvv1+EkRaOChUqMHr06JzHmnb9wcw///yT999/n27dutGgQQO2bt3KtGnTmDJlChUrViyKcG/JW2+9lWuF3IiICCZNmkSTJk2ue0xJOa/p6elUqlSJNm3a8M4771z18++//54ffviBgQMHEhgYyMKFC5k8eTIzZszA1dX1mq+5bds25s2bR9++falWrRqrVq1i8uTJvPfee/j4+Ng6peu6Ua4ZGRmcOnWKzp07U6lSJZKSkvjyyy+ZOnUqb7/99g1ftyCfhaKU17kFqFevHgMGDMh5bDbf+FdGSTy3AJ988kmux3v37uXjjz+mcePGN3zd4nhu8/O75quvvmLPnj28/PLLuLu789lnnzF9+nQmTpx43de9mc+6o5GCqYj896+ygQMH0qdPH06ePMmdd9553eOUUjes+osrTdPyHffq1aupV69ezl9yTz31FPv37+fHH3+kX79+NoyycHh7e+d6vGzZMsqWLesQ57V+/frUr1//mj8zDIPVq1fTqVMn7r77bgBefPFF+vbty+7du2nWrNk1j1u5ciVt27aldevWAPTt25c9e/awceNGHn/8cZvkkR83ytXd3T3XL0aAXr16MXLkSGJiYihTpsx1X7cgn4WidKN8rzCbzQWKvSSeW+CqHHfv3k3NmjUpW7bsDV+3OJ7bvH7XpKSksGHDBoYMGUKtWrUAGDBgAC+99BJHjx6levXqV73mzX7WHY0UTHaSkpICgKen5w3bpaWlMWDAAAzD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",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 13.73it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 13.09it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 13.51it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 13.06it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"good_ml\n",
"{'before': 28.347332000732422, 'after': 26.456573486328125}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 11.51it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 11.03it/s]\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8976, 'learning_rate': 0.0003333333333333333, 'epoch': 1.0}\n",
"{'eval_loss': 2.770636796951294, 'eval_runtime': 0.082, 'eval_samples_per_second': 12.201, 'eval_steps_per_second': 12.201, 'epoch': 1.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8932, 'learning_rate': 0.0006666666666666666, 'epoch': 2.0}\n",
"{'eval_loss': 2.7694220542907715, 'eval_runtime': 0.0811, 'eval_samples_per_second': 12.334, 'eval_steps_per_second': 12.334, 'epoch': 2.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8782, 'learning_rate': 0.001, 'epoch': 3.0}\n",
"{'eval_loss': 2.7660436630249023, 'eval_runtime': 0.0817, 'eval_samples_per_second': 12.233, 'eval_steps_per_second': 12.233, 'epoch': 3.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.877, 'learning_rate': 0.0013333333333333333, 'epoch': 4.0}\n",
"{'eval_loss': 2.7656893730163574, 'eval_runtime': 0.084, 'eval_samples_per_second': 11.902, 'eval_steps_per_second': 11.902, 'epoch': 4.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8601, 'learning_rate': 0.0016666666666666668, 'epoch': 5.0}\n",
"{'eval_loss': 2.762709140777588, 'eval_runtime': 0.0833, 'eval_samples_per_second': 12.011, 'eval_steps_per_second': 12.011, 'epoch': 5.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8495, 'learning_rate': 0.002, 'epoch': 6.0}\n",
"{'eval_loss': 2.7619409561157227, 'eval_runtime': 0.0819, 'eval_samples_per_second': 12.212, 'eval_steps_per_second': 12.212, 'epoch': 6.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8031, 'learning_rate': 0.0018571428571428573, 'epoch': 7.0}\n",
"{'eval_loss': 2.756824016571045, 'eval_runtime': 0.0836, 'eval_samples_per_second': 11.955, 'eval_steps_per_second': 11.955, 'epoch': 7.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7805, 'learning_rate': 0.0017142857142857142, 'epoch': 8.0}\n",
"{'eval_loss': 2.7579498291015625, 'eval_runtime': 0.0821, 'eval_samples_per_second': 12.181, 'eval_steps_per_second': 12.181, 'epoch': 8.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7545, 'learning_rate': 0.0015714285714285715, 'epoch': 9.0}\n",
"{'eval_loss': 2.756481409072876, 'eval_runtime': 0.0849, 'eval_samples_per_second': 11.776, 'eval_steps_per_second': 11.776, 'epoch': 9.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7221, 'learning_rate': 0.0014285714285714286, 'epoch': 10.0}\n",
"{'eval_loss': 2.754746675491333, 'eval_runtime': 0.0812, 'eval_samples_per_second': 12.323, 'eval_steps_per_second': 12.323, 'epoch': 10.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.697, 'learning_rate': 0.0012857142857142859, 'epoch': 11.0}\n",
"{'eval_loss': 2.7567291259765625, 'eval_runtime': 0.0826, 'eval_samples_per_second': 12.101, 'eval_steps_per_second': 12.101, 'epoch': 11.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6809, 'learning_rate': 0.0011428571428571427, 'epoch': 12.0}\n",
"{'eval_loss': 2.7562639713287354, 'eval_runtime': 0.0844, 'eval_samples_per_second': 11.849, 'eval_steps_per_second': 11.849, 'epoch': 12.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6618, 'learning_rate': 0.001, 'epoch': 13.0}\n",
"{'eval_loss': 2.7598867416381836, 'eval_runtime': 0.0821, 'eval_samples_per_second': 12.174, 'eval_steps_per_second': 12.174, 'epoch': 13.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6502, 'learning_rate': 0.0008571428571428571, 'epoch': 14.0}\n",
"{'eval_loss': 2.7595736980438232, 'eval_runtime': 0.0846, 'eval_samples_per_second': 11.819, 'eval_steps_per_second': 11.819, 'epoch': 14.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6368, 'learning_rate': 0.0007142857142857143, 'epoch': 15.0}\n",
"{'eval_loss': 2.7620177268981934, 'eval_runtime': 0.0844, 'eval_samples_per_second': 11.849, 'eval_steps_per_second': 11.849, 'epoch': 15.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6319, 'learning_rate': 0.0005714285714285714, 'epoch': 16.0}\n",
"{'eval_loss': 2.764033555984497, 'eval_runtime': 0.0814, 'eval_samples_per_second': 12.291, 'eval_steps_per_second': 12.291, 'epoch': 16.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6105, 'learning_rate': 0.00042857142857142855, 'epoch': 17.0}\n",
"{'eval_loss': 2.7691619396209717, 'eval_runtime': 0.0831, 'eval_samples_per_second': 12.031, 'eval_steps_per_second': 12.031, 'epoch': 17.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6122, 'learning_rate': 0.0002857142857142857, 'epoch': 18.0}\n",
"{'eval_loss': 2.768242835998535, 'eval_runtime': 0.0841, 'eval_samples_per_second': 11.892, 'eval_steps_per_second': 11.892, 'epoch': 18.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6035, 'learning_rate': 0.00014285714285714284, 'epoch': 19.0}\n",
"{'eval_loss': 2.7695817947387695, 'eval_runtime': 0.0831, 'eval_samples_per_second': 12.039, 'eval_steps_per_second': 12.039, 'epoch': 19.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.5964, 'learning_rate': 0.0, 'epoch': 20.0}\n",
"{'eval_loss': 2.7675888538360596, 'eval_runtime': 0.0824, 'eval_samples_per_second': 12.129, 'eval_steps_per_second': 12.129, 'epoch': 20.0}\n",
"{'train_runtime': 5.2175, 'train_samples_per_second': 137.998, 'train_steps_per_second': 3.833, 'train_loss': 0.7348627179861069, 'epoch': 20.0}\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 11.17it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 10.97it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 11.28it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 10.49it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"sokal hoax\n",
"{'before': 15.966412544250488, 'after': 15.714754104614258}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 12.07it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 11.99it/s]\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.0657, 'learning_rate': 0.0003333333333333333, 'epoch': 1.0}\n",
"{'eval_loss': 3.294236421585083, 'eval_runtime': 0.0664, 'eval_samples_per_second': 15.051, 'eval_steps_per_second': 15.051, 'epoch': 1.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.0643, 'learning_rate': 0.0006666666666666666, 'epoch': 2.0}\n",
"{'eval_loss': 3.2933406829833984, 'eval_runtime': 0.0645, 'eval_samples_per_second': 15.501, 'eval_steps_per_second': 15.501, 'epoch': 2.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.049, 'learning_rate': 0.001, 'epoch': 3.0}\n",
"{'eval_loss': 3.2884457111358643, 'eval_runtime': 0.0594, 'eval_samples_per_second': 16.841, 'eval_steps_per_second': 16.841, 'epoch': 3.0}\n",
"{'loss': 1.031, 'learning_rate': 0.0013333333333333333, 'epoch': 4.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.2826619148254395, 'eval_runtime': 0.0603, 'eval_samples_per_second': 16.594, 'eval_steps_per_second': 16.594, 'epoch': 4.0}\n",
"{'loss': 1.0147, 'learning_rate': 0.0016666666666666668, 'epoch': 5.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.2724156379699707, 'eval_runtime': 0.0612, 'eval_samples_per_second': 16.333, 'eval_steps_per_second': 16.333, 'epoch': 5.0}\n",
"{'loss': 0.9806, 'learning_rate': 0.002, 'epoch': 6.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.2572481632232666, 'eval_runtime': 0.0596, 'eval_samples_per_second': 16.77, 'eval_steps_per_second': 16.77, 'epoch': 6.0}\n",
"{'loss': 0.9593, 'learning_rate': 0.0018571428571428573, 'epoch': 7.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.245199203491211, 'eval_runtime': 0.0611, 'eval_samples_per_second': 16.371, 'eval_steps_per_second': 16.371, 'epoch': 7.0}\n",
"{'loss': 0.906, 'learning_rate': 0.0017142857142857142, 'epoch': 8.0}\n",
"{'eval_loss': 3.2294065952301025, 'eval_runtime': 0.06, 'eval_samples_per_second': 16.654, 'eval_steps_per_second': 16.654, 'epoch': 8.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8816, 'learning_rate': 0.0015714285714285715, 'epoch': 9.0}\n",
"{'eval_loss': 3.225297212600708, 'eval_runtime': 0.0611, 'eval_samples_per_second': 16.379, 'eval_steps_per_second': 16.379, 'epoch': 9.0}\n",
"{'loss': 0.8374, 'learning_rate': 0.0014285714285714286, 'epoch': 10.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.222148895263672, 'eval_runtime': 0.0601, 'eval_samples_per_second': 16.636, 'eval_steps_per_second': 16.636, 'epoch': 10.0}\n",
"{'loss': 0.8355, 'learning_rate': 0.0012857142857142859, 'epoch': 11.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.2083401679992676, 'eval_runtime': 0.061, 'eval_samples_per_second': 16.405, 'eval_steps_per_second': 16.405, 'epoch': 11.0}\n",
"{'loss': 0.8047, 'learning_rate': 0.0011428571428571427, 'epoch': 12.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.2118797302246094, 'eval_runtime': 0.061, 'eval_samples_per_second': 16.4, 'eval_steps_per_second': 16.4, 'epoch': 12.0}\n",
"{'loss': 0.7823, 'learning_rate': 0.001, 'epoch': 13.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.2061452865600586, 'eval_runtime': 0.0601, 'eval_samples_per_second': 16.637, 'eval_steps_per_second': 16.637, 'epoch': 13.0}\n",
"{'loss': 0.7662, 'learning_rate': 0.0008571428571428571, 'epoch': 14.0}\n",
"{'eval_loss': 3.206078052520752, 'eval_runtime': 0.0584, 'eval_samples_per_second': 17.135, 'eval_steps_per_second': 17.135, 'epoch': 14.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7484, 'learning_rate': 0.0007142857142857143, 'epoch': 15.0}\n",
"{'eval_loss': 3.201680898666382, 'eval_runtime': 0.0601, 'eval_samples_per_second': 16.626, 'eval_steps_per_second': 16.626, 'epoch': 15.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7341, 'learning_rate': 0.0005714285714285714, 'epoch': 16.0}\n",
"{'eval_loss': 3.200582265853882, 'eval_runtime': 0.0595, 'eval_samples_per_second': 16.818, 'eval_steps_per_second': 16.818, 'epoch': 16.0}\n",
"{'loss': 0.7348, 'learning_rate': 0.00042857142857142855, 'epoch': 17.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.206627130508423, 'eval_runtime': 0.0591, 'eval_samples_per_second': 16.92, 'eval_steps_per_second': 16.92, 'epoch': 17.0}\n",
"{'loss': 0.7258, 'learning_rate': 0.0002857142857142857, 'epoch': 18.0}\n",
"{'eval_loss': 3.2030231952667236, 'eval_runtime': 0.059, 'eval_samples_per_second': 16.947, 'eval_steps_per_second': 16.947, 'epoch': 18.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7164, 'learning_rate': 0.00014285714285714284, 'epoch': 19.0}\n",
"{'eval_loss': 3.202587842941284, 'eval_runtime': 0.058, 'eval_samples_per_second': 17.244, 'eval_steps_per_second': 17.244, 'epoch': 19.0}\n",
"{'loss': 0.7088, 'learning_rate': 0.0, 'epoch': 20.0}\n",
"{'eval_loss': 3.201478958129883, 'eval_runtime': 0.0595, 'eval_samples_per_second': 16.805, 'eval_steps_per_second': 16.805, 'epoch': 20.0}\n",
"{'train_runtime': 4.087, 'train_samples_per_second': 176.17, 'train_steps_per_second': 4.894, 'train_loss': 0.8673275351524353, 'epoch': 20.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 12.26it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 11.93it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 12.43it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 11.99it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Theory o. general relativity\n",
"{'before': 26.952022552490234, 'after': 24.542512893676758}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 13.53it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 12.94it/s]\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.1165, 'learning_rate': 0.0003333333333333333, 'epoch': 1.0}\n",
"{'eval_loss': 0.4710708558559418, 'eval_runtime': 0.0455, 'eval_samples_per_second': 21.966, 'eval_steps_per_second': 21.966, 'epoch': 1.0}\n",
"{'loss': 0.1141, 'learning_rate': 0.0006666666666666666, 'epoch': 2.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 0.47040221095085144, 'eval_runtime': 0.0429, 'eval_samples_per_second': 23.295, 'eval_steps_per_second': 23.295, 'epoch': 2.0}\n",
"{'loss': 0.1209, 'learning_rate': 0.001, 'epoch': 3.0}\n",
"{'eval_loss': 0.46998435258865356, 'eval_runtime': 0.0434, 'eval_samples_per_second': 23.017, 'eval_steps_per_second': 23.017, 'epoch': 3.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.1018, 'learning_rate': 0.0013333333333333333, 'epoch': 4.0}\n",
"{'eval_loss': 0.47150325775146484, 'eval_runtime': 0.0437, 'eval_samples_per_second': 22.874, 'eval_steps_per_second': 22.874, 'epoch': 4.0}\n",
"{'loss': 0.0845, 'learning_rate': 0.0016666666666666668, 'epoch': 5.0}\n",
"{'eval_loss': 0.4715323746204376, 'eval_runtime': 0.043, 'eval_samples_per_second': 23.254, 'eval_steps_per_second': 23.254, 'epoch': 5.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.0616, 'learning_rate': 0.002, 'epoch': 6.0}\n",
"{'eval_loss': 0.4763885736465454, 'eval_runtime': 0.0427, 'eval_samples_per_second': 23.398, 'eval_steps_per_second': 23.398, 'epoch': 6.0}\n",
"{'loss': 0.0433, 'learning_rate': 0.0018571428571428573, 'epoch': 7.0}\n",
"{'eval_loss': 0.47699809074401855, 'eval_runtime': 0.0439, 'eval_samples_per_second': 22.771, 'eval_steps_per_second': 22.771, 'epoch': 7.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.0455, 'learning_rate': 0.0017142857142857142, 'epoch': 8.0}\n",
"{'eval_loss': 0.47627171874046326, 'eval_runtime': 0.0417, 'eval_samples_per_second': 23.97, 'eval_steps_per_second': 23.97, 'epoch': 8.0}\n",
"{'loss': 0.0349, 'learning_rate': 0.0015714285714285715, 'epoch': 9.0}\n",
"{'eval_loss': 0.47513699531555176, 'eval_runtime': 0.0444, 'eval_samples_per_second': 22.529, 'eval_steps_per_second': 22.529, 'epoch': 9.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.0251, 'learning_rate': 0.0014285714285714286, 'epoch': 10.0}\n",
"{'eval_loss': 0.4725719392299652, 'eval_runtime': 0.043, 'eval_samples_per_second': 23.233, 'eval_steps_per_second': 23.233, 'epoch': 10.0}\n",
"{'loss': 0.0265, 'learning_rate': 0.0012857142857142859, 'epoch': 11.0}\n",
"{'eval_loss': 0.47139081358909607, 'eval_runtime': 0.0441, 'eval_samples_per_second': 22.653, 'eval_steps_per_second': 22.653, 'epoch': 11.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.0244, 'learning_rate': 0.0011428571428571427, 'epoch': 12.0}\n",
"{'eval_loss': 0.47071537375450134, 'eval_runtime': 0.0429, 'eval_samples_per_second': 23.33, 'eval_steps_per_second': 23.33, 'epoch': 12.0}\n",
"{'loss': 0.024, 'learning_rate': 0.001, 'epoch': 13.0}\n",
"{'eval_loss': 0.46806150674819946, 'eval_runtime': 0.0441, 'eval_samples_per_second': 22.656, 'eval_steps_per_second': 22.656, 'epoch': 13.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.022, 'learning_rate': 0.0008571428571428571, 'epoch': 14.0}\n",
"{'eval_loss': 0.467593252658844, 'eval_runtime': 0.0445, 'eval_samples_per_second': 22.488, 'eval_steps_per_second': 22.488, 'epoch': 14.0}\n",
"{'loss': 0.0096, 'learning_rate': 0.0007142857142857143, 'epoch': 15.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 0.4675810933113098, 'eval_runtime': 0.0417, 'eval_samples_per_second': 23.995, 'eval_steps_per_second': 23.995, 'epoch': 15.0}\n",
"{'loss': 0.0123, 'learning_rate': 0.0005714285714285714, 'epoch': 16.0}\n",
"{'eval_loss': 0.4671429693698883, 'eval_runtime': 0.0438, 'eval_samples_per_second': 22.851, 'eval_steps_per_second': 22.851, 'epoch': 16.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.0093, 'learning_rate': 0.00042857142857142855, 'epoch': 17.0}\n",
"{'eval_loss': 0.4678424596786499, 'eval_runtime': 0.0425, 'eval_samples_per_second': 23.51, 'eval_steps_per_second': 23.51, 'epoch': 17.0}\n",
"{'loss': 0.0082, 'learning_rate': 0.0002857142857142857, 'epoch': 18.0}\n",
"{'eval_loss': 0.4684832692146301, 'eval_runtime': 0.046, 'eval_samples_per_second': 21.741, 'eval_steps_per_second': 21.741, 'epoch': 18.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.0115, 'learning_rate': 0.00014285714285714284, 'epoch': 19.0}\n",
"{'eval_loss': 0.46846842765808105, 'eval_runtime': 0.0434, 'eval_samples_per_second': 23.033, 'eval_steps_per_second': 23.033, 'epoch': 19.0}\n",
"{'loss': 0.007, 'learning_rate': 0.0, 'epoch': 20.0}\n",
"{'eval_loss': 0.46743687987327576, 'eval_runtime': 0.0426, 'eval_samples_per_second': 23.455, 'eval_steps_per_second': 23.455, 'epoch': 20.0}\n",
"{'train_runtime': 3.1449, 'train_samples_per_second': 228.939, 'train_steps_per_second': 6.359, 'train_loss': 0.045142221334390345, 'epoch': 20.0}\n"
]
},
{
"data": {
"image/png": "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HDGyZEkgYG0TIbybumEIXNURLIVoH01Cz5H1e87UooWFqKgisrMNbN8uWwIJIcomRZeHqVdPY/58/jblGMWtt9Zgz57Spxw//jgUTVP07ZvHlVc6t/GqcD1lMGAY9QRE14Izp9C+nCbru5zIYICuXW3ruqToEkKUrVK32yxdupSFCxdiNpuJj49n1KhRNG7cuMzj169fz9y5c0lNTSUmJoY77riD9u3bl3rsxx9/zK+//srdd9/NTTfdVJnwfELv3gX8+usZPv44lKlTQ/nttwBuuKEW996bzdNPX2isevasgblzrVv+yCiX71AhYRgeHIc2+XnYmoS+YhGq382uDstrde+ez88/B7F2bQBPPinfZ0I4W0XrEJt169YxdepUOnTowLhx4+yPDxs2rNTjR44cyaBBgwDIysris88+Y8uWLSil6Ny5M/feey+BgYHljrvCI11JSUnMnDmToUOHMmnSJOLj45k4cSLnzp0r9fh9+/YxdepU+vbty6RJk+jYsSP//ve/OXq0ZC+hjRs38scffxAVFVXRsHxSQAA89ph1ynHAAOtdjp9+GkqvXhemHL/4IoS8PMVVVxXY/zcufINKaIb6570A6N9+jn5on4sj8l49eljXdW3Z4k9OTjVsoCqED6toHWJz5swZvvrqK6688soSz3388cfF/jz88MP2wsrmP//5D8eOHePFF1/kueeeY8+ePXz00UcVir3CRdeiRYvo168fffr0oV69eowePRp/f38SExNLPX7x4sW0bduWQYMGUa9ePYYPH05CQgJLly4tdlx6ejqfffYZjz/+OCaT9LupiLp1i/jkkwt3OZ45c2HK8fPPL2xsXR2baQv3ovoOhPZdociC9tFk9KxMV4fklRo2LKJuXQuFhYqNG2WKUQhnqmgdAqBpGtOmTWPYsGHUrl27xPORkZHF/mzatImWLVtSp04dAI4fP8727dt56KGHaNKkCc2bN2fUqFEkJSWRnp5e7tgrVN1YLBYOHTrE4MGD7Y8ZDAZat27N/v37S33N/v37GThwYLHH2rRpw6ZNm+wf2z4ZgwYNon79+peNo7CwkMKLbhMyGAz24T2Dl28maOtcbjAYSqzT6dOnkBUr0vjooxDef9865QjQoIGFgQMLPO5zc6lcvY0zczXcO5aitBRIPQ3ffIh6cBzKxV8L3nhte/QoYM4cE+vWBdC3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",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 13.36it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 12.86it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 13.42it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 12.94it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"lorem ipsum \n",
"{'before': 1.6016581058502197, 'after': 1.5953787565231323}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 13.35it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 12.89it/s]\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.9544, 'learning_rate': 0.0003333333333333333, 'epoch': 1.0}\n",
"{'eval_loss': 3.472707509994507, 'eval_runtime': 0.0454, 'eval_samples_per_second': 22.024, 'eval_steps_per_second': 22.024, 'epoch': 1.0}\n",
"{'loss': 0.9445, 'learning_rate': 0.0006666666666666666, 'epoch': 2.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.469721794128418, 'eval_runtime': 0.0483, 'eval_samples_per_second': 20.686, 'eval_steps_per_second': 20.686, 'epoch': 2.0}\n",
"{'loss': 0.946, 'learning_rate': 0.001, 'epoch': 3.0}\n",
"{'eval_loss': 3.4643774032592773, 'eval_runtime': 0.0463, 'eval_samples_per_second': 21.589, 'eval_steps_per_second': 21.589, 'epoch': 3.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.9389, 'learning_rate': 0.0013333333333333333, 'epoch': 4.0}\n",
"{'eval_loss': 3.4600937366485596, 'eval_runtime': 0.0468, 'eval_samples_per_second': 21.362, 'eval_steps_per_second': 21.362, 'epoch': 4.0}\n",
"{'loss': 0.9084, 'learning_rate': 0.0016666666666666668, 'epoch': 5.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.451901912689209, 'eval_runtime': 0.0482, 'eval_samples_per_second': 20.748, 'eval_steps_per_second': 20.748, 'epoch': 5.0}\n",
"{'loss': 0.8894, 'learning_rate': 0.002, 'epoch': 6.0}\n",
"{'eval_loss': 3.4409453868865967, 'eval_runtime': 0.0469, 'eval_samples_per_second': 21.313, 'eval_steps_per_second': 21.313, 'epoch': 6.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8561, 'learning_rate': 0.0018571428571428573, 'epoch': 7.0}\n",
"{'eval_loss': 3.4258673191070557, 'eval_runtime': 0.0492, 'eval_samples_per_second': 20.329, 'eval_steps_per_second': 20.329, 'epoch': 7.0}\n",
"{'loss': 0.8003, 'learning_rate': 0.0017142857142857142, 'epoch': 8.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.4128029346466064, 'eval_runtime': 0.047, 'eval_samples_per_second': 21.28, 'eval_steps_per_second': 21.28, 'epoch': 8.0}\n",
"{'loss': 0.7699, 'learning_rate': 0.0015714285714285715, 'epoch': 9.0}\n",
"{'eval_loss': 3.402852773666382, 'eval_runtime': 0.0461, 'eval_samples_per_second': 21.708, 'eval_steps_per_second': 21.708, 'epoch': 9.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7424, 'learning_rate': 0.0014285714285714286, 'epoch': 10.0}\n",
"{'eval_loss': 3.3996169567108154, 'eval_runtime': 0.0474, 'eval_samples_per_second': 21.116, 'eval_steps_per_second': 21.116, 'epoch': 10.0}\n",
"{'loss': 0.7199, 'learning_rate': 0.0012857142857142859, 'epoch': 11.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.3883135318756104, 'eval_runtime': 0.0461, 'eval_samples_per_second': 21.686, 'eval_steps_per_second': 21.686, 'epoch': 11.0}\n",
"{'loss': 0.7013, 'learning_rate': 0.0011428571428571427, 'epoch': 12.0}\n",
"{'eval_loss': 3.3812174797058105, 'eval_runtime': 0.0474, 'eval_samples_per_second': 21.091, 'eval_steps_per_second': 21.091, 'epoch': 12.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6796, 'learning_rate': 0.001, 'epoch': 13.0}\n",
"{'eval_loss': 3.3781800270080566, 'eval_runtime': 0.0476, 'eval_samples_per_second': 20.998, 'eval_steps_per_second': 20.998, 'epoch': 13.0}\n",
"{'loss': 0.6666, 'learning_rate': 0.0008571428571428571, 'epoch': 14.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.371669054031372, 'eval_runtime': 0.0476, 'eval_samples_per_second': 21.029, 'eval_steps_per_second': 21.029, 'epoch': 14.0}\n",
"{'loss': 0.6623, 'learning_rate': 0.0007142857142857143, 'epoch': 15.0}\n",
"{'eval_loss': 3.369558811187744, 'eval_runtime': 0.0467, 'eval_samples_per_second': 21.408, 'eval_steps_per_second': 21.408, 'epoch': 15.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6331, 'learning_rate': 0.0005714285714285714, 'epoch': 16.0}\n",
"{'eval_loss': 3.3651580810546875, 'eval_runtime': 0.0469, 'eval_samples_per_second': 21.336, 'eval_steps_per_second': 21.336, 'epoch': 16.0}\n",
"{'loss': 0.6301, 'learning_rate': 0.00042857142857142855, 'epoch': 17.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.36873459815979, 'eval_runtime': 0.0467, 'eval_samples_per_second': 21.409, 'eval_steps_per_second': 21.409, 'epoch': 17.0}\n",
"{'loss': 0.6198, 'learning_rate': 0.0002857142857142857, 'epoch': 18.0}\n",
"{'eval_loss': 3.362344264984131, 'eval_runtime': 0.047, 'eval_samples_per_second': 21.266, 'eval_steps_per_second': 21.266, 'epoch': 18.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6147, 'learning_rate': 0.00014285714285714284, 'epoch': 19.0}\n",
"{'eval_loss': 3.365997552871704, 'eval_runtime': 0.0475, 'eval_samples_per_second': 21.067, 'eval_steps_per_second': 21.067, 'epoch': 19.0}\n",
"{'loss': 0.5957, 'learning_rate': 0.0, 'epoch': 20.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.3667006492614746, 'eval_runtime': 0.0476, 'eval_samples_per_second': 21.003, 'eval_steps_per_second': 21.003, 'epoch': 20.0}\n",
"{'train_runtime': 3.2509, 'train_samples_per_second': 221.479, 'train_steps_per_second': 6.152, 'train_loss': 0.7636661320924759, 'epoch': 20.0}\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlQAAAG0CAYAAAD0NLk2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAACLK0lEQVR4nOzdeVwU9RvA8c8My7XAcogKeGCGZuadWYmWR1mWv1JT8+g08SqP8ig1j0otb80jTe3QPDJLzSOz1Kw80tJKUlPT8kRAWO4FlpnfH6skgQfIsrD7vF8vX7rDzHe+j7PAs99T0XVdRwghhBBCFJnq6AoIIYQQQpR1klAJIYQQQtwkSaiEEEIIIW6SJFRCCCGEEDdJEiohhBBCiJskCZUQQgghxE2ShEoIIYQQ4iZJQiWEEEIIcZMkoRJCCCGEuEkGR1egOKWmppKdne3oathdYGAgiYmJjq5GiZBYnZcrxSuxOi9Xitcesbq7u+Pr61usZTqKUyVU2dnZZGRkOLoadqUoCgAWiwVn3zVIYnVerhSvxOq8XCleV4q1qKTLTwghhBDiJklCJYQQQghxkyShEkIIIYS4SZJQCSGEEELcJKcalC6EEELYk9VqJT09Pfd1RkYGWVlZDqxRybmZWI1GIwaDc6cczh2dEEIIUUysVitpaWn4+fmhqrYOHnd3d5dYrgeKHqumaaSkpODj4+PUSZV0+QkhhBA3ID09PU8yJW6Mqqr4+fnladlzRvKuEEIIIW6QJFNF4wr/b84foRBCCCGEnUlCJYQQQghxkyShEkIIIYS4SZJQCSGEEKLIvL29CQkJcXQ1HE4Squv4+ctzJMc694bLQgghhLg5klBdQ2Z6Ns8PjqBR4zAGtTvH7s/Po2myy7YQQggh8irSClubN29m/fr1mM1mwsPD6dmzJxEREQWea7VaWbt2LTt27CAhIYGwsDB69OhBgwYNcs9ZtWoVq1evznNdWFgYM2fOLEr1is3ZQ8kEeblxPCmA1Qcas/oAVHv9HF0ePEXngeUIi/BxaP2EEEI4jq5DWhpYrUqJ39vbW0cpxG19fX0xGo24ublhtVpJSUnBYrFQsWJFUlJS8qwRZTAYKF++PLGxseTk5ODj45O70rmmaVgsFpKTk9F1aWC4UqETql27drFkyRKioqKoUaMGGzduZMKECcycORN/f/98569cuZIffviBPn36UKlSJX777TemTJnC+PHjueWWW3LPq1KlCqNHj859XRrWrKjeuBzbo3X2f7mPlR/qfPlrHf5ODmPy52FM/TyH+yP+5MmuGTz4XEW8vB1fXyGEECUnI0OhRo3yDrn3sWPnMRpvLKHx9fXF29ubpKQkrFYrHh4eBAYGcvHiRTIyMvD29s6TUBmNRrKyssjJyck9lpSUhKIo6LqOv78/JpOJpKSkYo+rLCt0FrBhwwZat25Ny5YtqVy5MlFRUXh4eLB9+/YCz//hhx/o0KEDjRo1omLFirRp04aGDRuyfv36vBVRVQICAnL/mEymokVUzFRVoXH7SkxdV5kD+88zve/33B12GA03th+vTd/xd9L4Dj/GPB3DH7tTHF1dIYQQIg9fX1/MZjOZmZnk5OSQkZFBeno6RqOR9PR0PDw8cHNzyz3f29ubjIx/xw6npaWRlZWFpmlkZWWRkpKCl5eXI0Ip1QrVQmW1Wjlx4gTt27fPPaaqKnXr1uXo0aMFXpOdnY2Hh0eeYx4eHvz55595jsXExNCnTx/c3d2pWbMm3bt3Jzg4+KplXrmfkKqquQ9XKUwbaCH5BhvpOqYGXcfAXzv38+n8VD7beTsXLOVZvK0Ri7dB3Yr/0LVDAu37BxMYXPx7Fl2Oz55xlhYSq/NypXglVufl7a1z8mQcVqvVIfe+EQaDAVVVKVeuXJ7jiqKQnZ2N1WrFarXi7e1NamoqHh4eqKqaJ6Hy8PDAz88Pg8GAoih5/hS228+Z3xuF+o2fnJyMpmkEBATkOR4QEMC5c+cKvKZ+/fps2LCB22+/nYoVKxIdHc3evXvRNC33nBo1atC/f3/CwsJITExk9erVjBkzhmnTpuHt7Z2vzDVr1uQZcxUZGcmgQYMIDAwsTDg3JbRTKM06wbQ0Cxvn/MyHHypsPlqPgxfCOTg/nDffz6LdXSfpNcifNk+GUNw9mK40RVVidV6uFK/EWvZlZGTg7u6e55itvaD0bvh7eTPi5OTkPF14l7m7u5OVlYXRaCQzMxMfHx+ysrJyr1NVlaCgoNxWLV3XcXd3x8/PD3d3d3Rdz23d+u//zX95eHgQGhpazBGWHnZ/Fzz//PPMnz+fwYMHoygKFStWpEWLFnm6CBs2bJj77/Dw8NwEa/fu3bRq1SpfmR06dKBdu3a5ry+Pt0pMTMRisdgxmoLd80wl7nkGLh75g8/nxrPy2+ocSarO5z/dxufdoXKfODo/fJ4nBwZS9dab+y9XFIWQkBBiYmKcfkCgxOq8XCleidV5ZGVl5ekdAVsS8d9jpYnVakXXdXRdJzMzs8BzUlNTMRqNAHh6emI2m3Njutz7Yzabc2O9nGxlZ2ej63qe19eSlZXF+fPn8xzz8vIq0cYQeyrUb3eTyYSqqpjN5jzHzWZzvlarK68ZPnw4WVlZpKamEhgYyLJly6hYseJV7+Pj40NYWBgxMTEFft3d3f2qmbAjv4mDbqtA1LsVeCHbyu9rt7PyY5V1BxtxJqU8Mz4rz4zPoFnEX3R9KpuHnzJRQOPbDbv8DZLvuDUbMtIhI832t9UKlW9B8fS8icgc62qxOiNXihVcK16JVTiCruukpqbmjkvOyspCVVU8PDzQNI2MjAxycnLIysrK/T1+ZcOE1WpFURR8fHxyuwZ9fIo+w92Z3xeFSqgMBgPVq1cnOjqaJk2aAKBpGtHR0Tz88MPXvNbDw4OgoCCsVis//fQT995771XPtVgsxMTE0Lx588JUr9RQ3Q006HwbDTrDmPP/8NV7p/l0Yyg7Yxrw4/Fb+XEcmCam0v6+U3R90Yd6d7mjKKDn5PybCKWn5f5bv3zs0t8J6ORcjM93nIw0yMrKXyGDO9S8A+WORih1GkFoFafuxxZCCPGvlJQUNE3D19c3d+mD7OxsUlNTc8/JyMggICAgz2w/sCVUSUlJ+Pr6oqoqmZmZJCcnO02rUnEqdP9Tu3btmDt3LtWrVyciIoJNmzaRmZlJixYtAJgzZw5BQUF0794dgGPHjpGQkEC1atVISEjgs88+Q9d1Hn/88dwylyxZQuPGjQkODiYxMZFVq1ahqirNmjUrnigdyBgaxBNvBtFxnMbpHd+xamEmq/bW42xGKEu+rc2Sb6FZxf1Mrf8WYYbTN1Rm2o2c5OkN3kbQNUhKhEO/oh/6Ff2zDyAwGKVOI5Q7GsHt9VCMvjcVoxBCiNItLS2NtLSr//ZIT0/Pl0z999oruzevHLSekZGR57WrKnRC1bRpU5KTk1m1ahVms5lq1aoxcuTI3KbC+Pj4PK0f2dnZrFy5ktjYWLy8vGjYsCEvvfRSnibDhIQEZs2aRUpKCiaTiVq1ajFhwoRSs3RCcVBUlaotazK0JbycnMSPH/7Mp58H8NXJu/nxQiMe3LaUN2pP4YlKG23dc94+toTIaPtbueK1X4WKpObo6F5GFG/jv+dePt/LiHJpkKCu6xBzFv2PX9Cj98PRPyAxHv2HLeg/bAFVheq3/dt6VfVWlFKwBpgQQghRlii6E3VoJiYmlqksWdd1TuyOY/Ab1dkfbUseH3ooncmTkwkO1gq8RlEUQkNDOX/+fJH6ovWsTDj6B/of+9H/OADn/9Mq5mtCqd0Q6jRCuaMBislxzbo3G2tZ4kqxgmvFK7E6j+Tk5Hwf9Ev7oPTidLOxFvT/5+3t7TTdh6V3rqcLUBSFW5tWYM3GVObNg+nT/fj6ayM//+zJ5MlJPPxw8c9YVDw8bclSnUYA6BdjbclV9H448jukJqPv3QF7d6ADVK1ua726oxHcWgvFIG8ZIYQQ4r/kt2MpYDDAwIGptGplYdCgQI4cceeFF4Lo3DmdN99MwmSy3yc9pVwFlPsehvseRrda4cSf/yZYp/6CUyfQT51A/2o1eHlDrfqXxl81RAm++kxNIYQQwpVIQlWK1KljZdOmOKZN82PePF8++8zIzp0ezJhhplmzAmbvFTPFYLDNBqx5B3R4Gj05Ef3QrxC93/Z3ShL8ugf91z221quQSiiNIlHaPYlynQXdhBDCGWiaVir2mi1rrlzM21lJQlXKeHrCyJEpPPhgJoMHB/D33waefDKYF15IZcSIFC6tvVYiFFMgyj0t4Z6W6JoGp0+gR19qvTpxxDbYfdMqSLoIzw6UpRiEEE7NaDSSkpKCn5+fJFWFoGkaKSkpN7V+VVkgCVUpddddWWzZEsdbb5lYutSHxYt92b7di9mzzThi5X5FVSE8AiU8Ah7tgp6ehv7LTvSl89B3boWwcJQ27Uu+YkIIUUIMBgM+Pj551m/y8PAgq6D1/5zQzcTq4+OTu6K6s3Lu6Mo4Hx+dd95J4qGHLAwdGsCJEwYee6wcI0ZAr17gyF42xeiD0rwNWlYm+sqF6Ks/Qg+tjFK3seMqJYQQdmYwGHJnqjn7rMYruVKsRSVtlmVAy5aZbN0aS4cO6eTkKIwfD+3aBXPkiOPzYaVVO5TmbUDX0N6fgn7ulKOrJIQQQpQ4SajKiIAAnTlzzCxYkEi5chAd7U7btuWZP9+HAjYQLzGKoqB07wM164AlA23OePSUZMdVSAghhHAASajKmP/9z0J0NDzwgIWsLIW33vKnc+dy/POPm8PqpBjcUfu+BuVDIC4Gbf47tk2ahRBCCBchCVUZFBICH3+cyNSpZnx8NH76yZMHHijPJ58YcVTXtuJnQn3xddtaVUej0ZcvkH52IYQQLkMSqjJKUaBbt3S+/TaOe+7JJD1d5dVXA3jmmSBiYhzzWJVKVVF7DwNFse0VuG2DQ+ohhBBClDRJqMq4qlVz+Oyzi4wZk4Snp862bV60bl2Bdeu8HFIfpW5jlE7PAaB/uti2ZpUQQgjh5CShcgKqCn36pLF5cxz16mVhNqv07x9E//4BJCaW/GKbyoPtUSJb/zvz7/yZEq+DEEIIUZIkoXIiNWta+fLLeF55JQU3N51164y0bl2BtWu9KclV/xVFQenRHyJqQ0Ya2py30NNSSq4CQgghRAmThMrJuLvDkCEprF8fT0RENhcuuPHii4G0axfMrl0eJVYPxd0dtd9rUK4CxJ5Hmz/JtvmyEEII4YQkoXJS9etns3lzHMOHJ+Pjo/Hbbx507hzMs88GcfRoySwIqpgCUF96HTy94cjv6J8uKpH7CiGEECVNEion5u0NgwalsmtXLM8+m4abm86333rRunV5hg/358IF+z9+pXI11F6v2Gb+fbcJbfsmu99TCCGEKGmSULmA4GCNiROT2LYtlrZtM9A0hWXLfGjWrALTpvmRlmbfgetKg7tROjwDgL7yffRDv9r1fkIIIURJk4TKhURE5LBoUSJr1sTTqFEW6ekq06f7ERlZgaVLjdhziJPycEeUe1qCpqEtmIR+4Zz9biaEEEKUMEmoXFCTJll8+WU8CxYkUK2albg4N157LYDWrcuzZYunXVZbVxQF5ZkXofptkH5p5l96avHfSAghhHAASahclKJAu3YWtm+P5c03kwgMzOH4cXeef74cnTqV49df3Yv/nu4eqC+OhKBgiDmLtmAKuiN3dhZCCCGKiSRULs7DA154IY1du2J56aUUvLx09uzx5NFHy9OvX2Cxb7qsmAJte/55eMKhA+iffVCs5QshhBCOIAmVAMBk0hkxIoXvv79A587pKIrOl196c//9FRg71kRCQvENXFeqVkd94WUA9K3r0b7fXGxlCyGEEI4gCZXIo1IljZkzzWzeHMd991nIzlZYtMiXyMiKvPeeDxZL8dxHadQUpf1TAOjLF6Af+b14ChZCCCEcoGRWeBRlTp06VlasSGDHDk/eesvE4cPujB/vz4cf+vDqqyl06JCBepPpuPJIZzh3Cn3v92jzJ6GOnIpSIbR4AhBCCOF0tmzZwpYtW4iLiwOgcuXKdOrUiYYNG1732p07dzJr1iwaN27M8OHD83ztzJkzLFu2jEOHDqFpGpUrV2bIkCEEBwffcN0koRLXdP/9mTRrFsfq1d5Mnmzi7FkDAwcGsnChD6+/nkyzZllFLltRFHh2AHrsefj7GNqc8aivTUYx+hRjBEIIIZxFUFAQ3bt3JzQ0FF3X2bFjB5MnT2by5MlUqVLlqtfFxsaydOlSbr/99nxfi4mJYcyYMbRq1YouXbrg7e3NmTNncHcv3OQs6fIT1+XmBk8+mcGPP8by2mvJ+PpqHDzowZNPBvPMM0EkJRV9fJXi4Yn64igIKAfnT6MtnIquycw/IYQQ+TVu3JhGjRoRGhpKWFgY3bp1w8vLi2PHjl31Gk3TmD17Nl26dKFChQr5vr5y5UoaNmzIU089xS233EJISAiNGzfG39+/UHVzuhYqRbHvqt+Odjk+R8RpNMLAgWn06JHBjBm+LFliZOtWL55+uhwrVybg41O0BayUwHIog8agzRwLfx2BL5ejdHjGobGWNFeKFVwrXonVeblSvPaONSMjA/2KRRDd3d2v20KkaRq7d+8mMzOTmjVrXvW81atXYzKZaNWqFYcPH85Xxv79+3nssceYMGECJ0+epEKFCrRv354mTZoUKgZF1+2xjKNwBQcOQOvWkJgILVvCxo22/QOFEEKIwnj11Vc5efJk7utOnTrRpUuXAs89deoUo0aNIjs7Gy8vLwYOHEijRo0KPPfIkSPMnDmTyZMnYzKZmDt3LmlpabljqMxmM71798bT05Mnn3ySOnXq8Ouvv7JixQrGjh1L7dq1bzgGp2qhSkxMxFJc09BKKUVRCAkJISYmBkfnwiEh8Mkn7nTpEsT27SqPPWZh0aJEPDyKXqa2aTX6V6vBzQ23Aa8T2qxVqYjV3krTcy0JrhSvxOq8XClee8Xq5eVFYGAg48aNy9dCdTVhYWFMmTKF9PR09uzZw9y5c3njjTeoXLlynvMyMjKYPXs2ffr0wWQyFViWpmmArSuxXbt2AFSrVo0///yTLVu2uG5CBTj9m/oyXddLRawNGmTx8ccJPPVUOb791ouXXgpg3rxE3Iq6HujDHeHUX+g//4h19nisEbeh62qpiLUklJbnWlJcKV6J1Xm5Urz2itW7EN0bBoOBkJAQAKpXr85ff/3Fpk2b6N27d57zLly4QFxcHJMmTco9drnuXbt2ZebMmQQHB+Pm5pYvGatUqRJ//vlnoWJwuoRKlLx7781i0aIEnn8+iA0bvDEadaZNMxdpWQVFUeC5QehxMfDPceJGD0DvMxzCqhZ/xYUQQpR5mqaRnZ2d73hYWBhTp07Nc2zlypVYLBaee+45goODMRgM3HrrrZw7dy7PeefPny/Ukgkgs/xEMWnZMpP33kvEzU1n1SojY8aYirzJsuJ5aeZfUDDWc6fImfAK2s5vi7fCQgghypzly5dz6NAhYmNjOXXqVO7r5s2bAzBnzhyWL18OgIeHB1WrVs3zx8fHBy8vL6pWrYrBYGtTeuyxx9i1axfffvstMTExbN68mV9++YWHHnqoUHWTFipRbNq2tTBjhplBgwL48ENfjEbbdjZFmRSiBJbD7fUZuH8yF8v+PegfvYv2ZzRKj74onl7FX3khhBClXlJSEnPnziUxMRGj0Uh4eDijRo2iXr16AMTHxxd6JmKTJk2Iiopi7dq1fPjhh4SFhTFkyBBq1apVqHKcapZfYmIiGRkZjq6GXSmKQmhoKOfPny+1ffZLlxp57bUAAIYPT2bQoNQilaMoCiEVK3Lug9loa5eBrkFoFdQ+r6JUcq4uwLLwXIuTK8UrsTovV4rXXrF6e3sTGBhYbOU5knT5iWL39NPpjB6dBMDkySYWLSr6yueKqqI+2gV16HjwD7It/jlRugCFEEKULkXq8tu8eTPr16/HbDYTHh5Oz549iYiIKPBcq9XK2rVr2bFjBwkJCYSFhdGjRw8aNGhQ5DJF6de3bxrp6QrTppkYO9YfHx+dbt3Si1yeUrMO6piZaItnwKED0gUohBCiVCl0C9WuXbtYsmQJnTp1YtKkSYSHhzNhwgSSkpIKPH/lypV88803PP/880yfPp0HH3yQKVOm5FnAq7BlirLh5ZdT6dvX1t03bJg/a9fe3KqfiikAddBYlPZPgaKi796GNmEI+tlTxVFdIYQQosgKnVBt2LCB1q1b07JlSypXrkxUVBQeHh5s3769wPN/+OEHOnToQKNGjahYsSJt2rShYcOGrF+/vshlirJBUeD115N5+uk0dF1h4MAAtmzxvLkypQtQCCFEKVSoLj+r1cqJEydo37597jFVValbty5Hjx4t8Jrs7Gw8/rN0toeHR+6CWUUt88o1J1RVxcvL1u3j7HsqlbW9oxQF3n47mYwMhdWrjfTpE8SSJQncd1/WDVx79ViV2+qijJ2Ftng6+h+XugCPRqP26FcmuwDL2nO9Wa4Ur8TqvFwpXleKtagKlVAlJyejaRoBAQF5jgcEBORbFOuy+vXrs2HDBm6//XYqVqxIdHQ0e/fuzV3uvShlrlmzhtWrV+e+joyMZNCgQU4zU+BGXF4ltqxYsQI0Db74QqFnz3J8/TU0a3Zj11411tBQ9HcWkPLZRyR9Mh991zaU0ycJHvEO7uG3Fl/lS1BZe643y5XilVidlyvF60qxFpbd16F6/vnnmT9/PoMHD0ZRFCpWrEiLFi1uqjuvQ4cOuXvugK2FCmQvv9Ju2jRITAxk+3YvHnlE47PPLlKvnvWq599wrPe1xS2kCjkLpmA9fZKYwU+jdu+H2uwBO0RhH2X5uRaFK8UrsTovV4rX3nv5OYNCJVQmkwlVVTGbzXmOm83mfC1MV14zfPhwsrKySE1NJTAwkGXLllGxYsUil+nu7n7VjROd/U19WVncO8rDAxYuTOTpp4PYvduTrl3L8fnn8dSqdfWkCm4w1hp35JkFqH00C/3Pg2VuFmBZfK43w5XilVidlyvF60qxFlahBqUbDAaqV69OdHR07jFN04iOjqZmzZrXvNbDw4OgoCBycnL46aefaNy48U2XKcoeb2+djz5KoGHDLMxmlW7dynHiRFF3Us5LZgEKIYRwlELP8mvXrh1bt27lu+++48yZMyxatIjMzExatGgB5N1HB+DYsWP89NNPXLhwgcOHDzNx4kR0Xefxxx+/4TKFc/H11Vm69CK3355NbKwbXbuW4+zZYkqqZBagEEIIByj0GKqmTZuSnJzMqlWrMJvNVKtWjZEjR+Z2z/13H53s7GxWrlxJbGwsXl5eNGzYkJdeegkfH58bLlM4n8BAnRUrLtKxYzAnThjo0qUca9bEU6GCVizly0KgQgghSpLs5VfGONveUefOqXTsGMzp0wZq1crms8/iCQqyxVUcseqahv7VavR1y0v1XoDO9lyvx5XilVidlyvFK3v5XZ/s5SccKixMY+XKi4SE5HDkiDs9epQjObn41jmRLkAhhBAlQRIq4XDVquWwcuVFgoJy+P13D559Noj09OJdPO5yFyC1G0JWlq0L8IMZ6JnOvcyGEEKIkiEJlSgVatSwsmLFRUwmjb17PXnhhUAyM4v3HvlnAW5HmzMeXcsp3hsJIYRwOZJQiVKjTh0rS5dexGjU+P57L/r2DeSKHYaKRW4X4JDx4OkFR35H/3JF8d5ECCGEy5GESpQqjRtn8+GHCXh66nz9tRc9e4I9xnoqt9VBefpFAPSNq9Cjfyn+mwghhHAZklCJUqdZsyzefz8Bg0Hnk09g+XJvu9xHvft+lBZtAWybLCfE2eU+QgghnJ8kVKJUeuCBTF57LQWAMWNM/PVX8Sz8+V9Kl14QHgGpKWgLJqNbi7mPUQghhEuQhEqUWn37ptGqFWRkqLz0UiBZWcV/D8XdHbXPcPD2gRN/on++pPhvIoQQwulJQiVKLVWFJUsgIEDj9989mDbNzy73UcqHoPYcBID+7Tr0/bvsch8hhBDOSxIqUapVqgRTpiQBMHeuL7t3e9jlPkqDe1DadABA++hd9NhzdrmPEEII5yQJlSj1Hn3UQrduaei6wsCBAZjNxbvo52VKh6chojZkpKPNn4SebYc+RiGEEE5JEipRJrzxRjLVqlk5d87Aa68F2GcpBYMBtfcw8DXB6ZPoKxcW/02EEEI4JUmoRJng46Mzd24iBoPO+vXefPaZfZZSUALLoUYNAUVB//5rtD3b7XIfIYQQzkUSKlFmNGiQzZAhtqUUXn/dn7//ttNSCrUborR7EgB96Tz0s6fsch8hhBDOQxIqUaa8+GIqd9+dSVqabSmF4t6a5jKl3ZNwe33IykRbMAndkmGfGwkhhHAKklCJMsXNDWbPNmMyaRw44MGsWXZaSkF1Q+01BAKC4Pxp9E/modtj4JYQQginIAmVKHMqVcrhnXfMAMya5cu+fXZaSsEUgNp7OKgq+k870L//2i73EUIIUfZJQiXKpMcft9CpUzqapjBgQADJyXZaSqFGbZSOzwCgr3wf/Z+/7HIfIYQQZZskVKLMGj8+iapVrZw+bWDUKH+73Udp0wHqNwGrFW3+O+jpqXa7lxBCiLJJEipRZvn56cyenYibm84XXxhZs8ZOSykoCurzg6FcBYi/gPbhuzKeSgghRB6SUIkyrXHjbAYPti2lMGKEP6dP22kpBR9f1L6vgsEAv+5B/2adXe4jhBCibJKESpR5AwemcuedWaSkqAwYEIDVap/7KNVqoHTpBYD+xcfoxw/b50ZCCCHKHEmoRJlnMMCcOYn4+mrs2+fJnDm+druX0qItyl3NIScHbcFk9JQku91LCCFE2SEJlXAKVavmMHGiLbmZPt2P/fvd7XIfRVFQnnkRQiqB+SLaounommaXewkhhCg7JKESTqNjxwzat08nJ0dhwIBAUlPttJSClxG172vg4QGHDqBvWmWX+wghhCg7JKESTkNRYOLEJCpVsvL33wbGjLHjUgqVwlF69ANA/3IF+uHf7HYvIYQQpZ8kVMKp+PvrzJ5tRlV1Pv3UyPr1Xna7l9q0NUqzB0HX0RZORTdftNu9hBBClG6SUAmnc/fdWbz0km3xzVdfDeDsWfu9zZVuvaHyLZCShPb+FPScHLvdSwghROklCZVwSq+8kkKDBlkkJakMGhSIvfIcxcPTtj6VlzccO4S+9hP73EgIIUSpJgmVcEru7jB7diJGo8bu3Z7Mn2/HpRQqhqE+NxAAffPn6L/ts9u9hBBClE6SUAmnVb16Dm+9ZVtKYfJkP37/3T5LKQAod0aitP4fANoHM9DjL9jtXkIIIUofSaiEU3vyyQwefTQDq1XhxRcDSU+3z1IKAEqn5+CWmpCealv0MzvbbvcSQghRukhCJZyaosCkSWZCQnI4ccLAuHEm+93L4I7a51Xw8YO/j6F/9oHd7iWEEKJ0kYRKOL3AQJ13301EUXSWLfNh82b7LaWglCuP+sIrAOjbN6L/LuOphBDCFUhCJVxCZGQW/frZllIYOtSfmBg7LqVQ906UBx4HQNvwKbqu2+1eQgghSgdJqITLGDYshbp1s0hMdGPw4EDsuQWf0rYjGNzh5FE4fth+NxJCCFEqGIpy0ebNm1m/fj1ms5nw8HB69uxJRETEVc/fuHEjW7ZsIT4+HpPJxN1330337t3x8PAAYNWqVaxevTrPNWFhYcycObMo1ROiQB4eMGeOmYceCuaHHzxZuNCHPn3S7HIvxRSIcm9L9B+2oG1Zg1uN2na5jxBCiNKh0AnVrl27WLJkCVFRUdSoUYONGzcyYcIEZs6cib9//r3TfvzxR5YvX06/fv2oWbMm58+fZ968eSiKwrPPPpt7XpUqVRg9enTua1WVxjNR/CIirIwbl8xrrwXwzjsmIiMzqVPHapd7KW3ao/+wBX7bix5zBiWksl3uI4QQwvEKnbVs2LCB1q1b07JlSypXrkxUVBQeHh5s3769wPP//PNPbrvtNpo1a0aFChWoX78+kZGRHD9+PG9FVJWAgIDcPyaT/WZjCdf21FPpPPRQBllZCq+9FoC9hjgpIZWhfhPQdfRv1tnnJkII4UK2bNnC0KFDefbZZ3n22WcZNWoUBw4cuKFrd+7cSZcuXZg8efJVz3n//ffp0qULGzduLHTdCtVCZbVaOXHiBO3bt889pqoqdevW5ejRowVec9ttt/HDDz9w/PhxIiIiuHDhAgcOHKB58+Z5zouJiaFPnz64u7tTs2ZNunfvTnBwcIFlZmdnk33FGj+qquLlZZu5pSj2W2eoNLgcn7PHCfaLVVFg8uRkvv/ekwMHPPj2Wy/atMks1ntc5vZQR3J+24u+axu0fwrFFHCVOrnOcwXXildidV6uFG9piTUoKIju3bsTGhqKruvs2LGDyZMnM3nyZKpUqXLV62JjY1m6dCm33377Vc/Zu3cvx44dIzAwsEh1K1RClZycjKZpBAQE5DkeEBDAuXPnCrymWbNmJCcn53bn5eTk8OCDD9KxY8fcc2rUqEH//v0JCwsjMTGR1atXM2bMGKZNm4a3t3e+MtesWZNnzFVkZCSDBg0q8n9CWRQSEuLoKpQYe8QaGgqDBsE778CMGUE8/TTYo5dZDwkh7qs7yTp+BJ9fd+P/ZM9rnu9KzxVcK16J1Xm5Urz2ijUjIyPPjGh3d3fc3fPvbtG4ceM8r7t168aWLVs4duzYVRMqTdOYPXs2Xbp04fDhw6Sl5R87m5CQwAcffMCoUaN45513ihRDkQalF8Yff/zBmjVr6NWrFzVq1CAmJoYPP/yQ1atX06lTJwAaNmyYe354eHhugrV7925atWqVr8wOHTrQrl273Ncy3koUxbBhMG8e/PYbrF4NXboU/z0URaHCOwuKv2AhhHAi48aN4+TJk7mvO3XqRJfr/FDWNI3du3eTmZlJzZo1r3re6tWrMZlMtGrVisOH88+6vpxwPfbYY9ds5bqeQiVUJpMJVVUxm815jpvN5nytVpd9+umn3HfffbRu3RqAqlWrYrFYeP/99+nYsWOByZCPjw9hYWHExMQUWObVMtfExEQsFkthQipzFEUhJCSEmJgYp1/fqCRi7d3bl6lT/Rg50sq998ZhsMNHDF3LQXtzMFyMQ+nSE7V5m3znuNJzBdeKV2J1Xq4Ur71i9fLyIjAwkHHjxuVrobqaU6dOMWrUKLKzs/Hy8mLo0KFUrlzwpJ8jR46wbdu2a46bWrduHW5ubrRt27bogVDIhMpgMFC9enWio6Np0qQJYMvsoqOjefjhhwu8JjMzM1+f6/ValCwWCzExMfnGWd0IZ39TX6brusRaDHr1SmXxYiN//WXg88+96NIlo/hvoqjQvA36ivfRN30GTVuhqG4FnupKzxVcK16J1Xm5Urz2irWg4T1XExYWxpQpU0hPT2fPnj3MnTuXN954I19SlZGRwezZs+nTp89VJ7qdOHGCTZs2MWnSpJseH1boz+Pt2rVj7ty5VK9enYiICDZt2kRmZiYtWrQAYM6cObmDxgDuvPNONm7cyC233JLb5ffpp59y55135iZWS5YsoXHjxgQHB5OYmMiqVatQVZVmzZrdVHBCXI+fn86LL6Yyfrw/M2b40b59BpeWRytWSuQD6OuWQ1wM/PoTNGpa/DcRQggXYDAYcsdyVa9enb/++otNmzbRu3fvPOdduHCBuLg4Jk2alHvscjLYtWtXZs6cyeHDh0lOTqZ///6552iaxpIlS9i0aRNz58698XoVNpCmTZuSnJzMqlWrMJvNVKtWjZEjR+Z2+cXHx+fJ8p544gkURWHlypUkJCRgMpm488476datW+45CQkJzJo1i5SUFEwmE7Vq1WLChAmydIIoEc89l86CBb6cOmXg00+NPP10erHfQ/H0QmnxCPqmVWhb1uImCZUQQhQLTdPyzPy/LCwsjKlTp+Y5tnLlSiwWC8899xzBwcHcd9991K1bN885EyZM4L777qNly5aFqkeRRow8/PDDV+3iGzduXJ7Xbm5udO7cmc6dO1+1vMGDBxelGkIUC29vnYEDUxk92p+ZM/3o3DkdLzvsn6y0fhR9yxfw1xH044dRIq4+fVcIIUR+y5cvp0GDBgQHB2OxWPjxxx85dOgQo0aNAvL2knl4eFC1atU81/v4+ADkHvfz88PPzy/POQaDgYCAAMLCwgpVN7vP8hOiLOjRI4333vPh3DkDS5f6EBVV/FvS2LajaWXbjubrNbhJQiWEEIWSlJTE3LlzSUxMxGg0Eh4ezqhRo6hXrx6Qv5esJCm6E42kS0xMJCPDDoOKSxFFUQgNDeX8+fNOPwiypGNdvtzIsGEBBAfnsGtXLD4+xX9P/fxptDEvgqKgvjkPJaQS4FrPFVwrXonVeblSvPaK1dvb22nWkJQFnIS4pHPndKpVsxIf78YHH/jY5R5KaBWod5dtO5pvZTsaIYRwFpJQCXGJuzsMGZICwHvv+ZKUZJ9mY/WhDgDou7ahpyTZ5R5CCCFKliRUQlzh8cczqFkzm6QklYULfe1zkxp3QLUakJ2Fvn2Tfe4hhBCiRElCJcQV3Nxg6FBbK9X77/uQkFD83yKKoqC0udRKtX0jeqZ9NmYWQghRciShEuI/HnnEQp06WaSlqcybZ59WKqXRvVCuAqQmo+/eZpd7CCGEKDmSUAnxH4oCw4fbWqk+/NDIhQt2aKVyc0N5sD0A+jfr0LWcYr+HEEKIkiMJlRAFaNUqkzvvzMJiUZk9206tVJGtwegLsefQf9trl3sIIYQoGZJQCVEARYFXX00G4JNPfDhzpuDNjG/qHl7eKC1su5trm9cUe/lCCCFKjiRUQlxFZGQWkZGZZGcrzJxpp1aqlo+CwQB/HSbz0G92uYcQQgj7k4RKiGsYPtzWSrVqlZETJ+zQShUQhHKPbQPOlDWfFHv5QgghSoYkVEJcQ+PG2bRubSEnR2HGDL/rX1AEyoOPA5Cx+zv0C+fscg8hhBD2JQmVENcxbJhtxt+aNd4cOVL8+4krYVVR6jUGXUeT7WiEEKJMkoRKiOuoWzebRx7JQNcVpk2zUytVm44A6Du/RU9Jtss9hBBC2I8kVELcgGHDUlAUnU2bvPn9d/diL1+5rQ7uNWpDVhb6d7IdjRBClDWSUAlxA2rWtNKhQwYAU6YUfyuVoiiYOj4FXNqOJku2oxFCiLJEEiohbtCQISm4uels2+bFvn0exV6+d2Qr23Y0KUnoe7YXe/lCCCHsRxIqIW5QtWo5dO2aDsDkyXZopXIzoF6a8advWYeuacV+DyGEEPYhCZUQhTBoUCoeHjq7dnnyww/F30qlNHsQjD5w4Sz8LtvRCCFEWSEJlRCFUKlSDk8/nQbA5MkmdL14y1e8vFHuv7Qdzddri7dwIYQQdiMJlRCF9NJLqXh5aezf78G333oWe/lKq3bgZoDjh9D/OlLs5QshhCh+klAJUUgVKmj07GlrpZoyxURxD3WybUdzPwDalrXFW7gQQgi7kIRKiCLo1y8VX1+NP/5wZ9Mmr2IvX3mwg+0fB3ajx54v9vKFEEIUL0mohCiCoCCd3r1trVRTp/qRk1O85SuVqkJd23Y0umxHI4QQpZ4kVEIUUVRUKgEBGseOubNmjXexl6+2aQ9c2o4mVbajEUKI0kwSKiGKyGTS6d8/FYDp0/3Izi7mG9xWF6reemk7mq+KuXAhhBDFSRIqIW7C88+nERycwz//GPj0U2Oxlq0oCsrlVqptG9Czs4q1fCGEEMVHEiohboLRqDNggK2VauZMPyyW4i1fadwMgsrbtqPZLdvRCCFEaSUJlRA36amn0ggNzeH8eTeWLfMp1rIVNzeUBx8DQP9mrWxHI4QQpZQkVELcJC8vGDw4BYB33/UlPV0p1vKVZg+Ctw/EnIWDPxdr2UIIIYqHJFRCFIMnn0wnPNxKfLwbH35YzK1UXkaU+x8GQPv6i2ItWwghRPGQhEqIYuDuDq+8YmulmjfPl+TkYm6lan1pO5pjh9BP/FmsZQshhLh5klAJUUw6dMggIiIbs1ll4ULfYi1bCSiHcrdtOxpdtqMRQohSRxIqIYqJmxsMHWprpXr/fR8SEoq5leryEgr7d6PHxRRr2UIIIW6OJFRCFKNHH7Vwxx3ZpKaqvPdeMbdSVQqHOo1A19C//bJYyxZCCHFzDEW5aPPmzaxfvx6z2Ux4eDg9e/YkIiLiqudv3LiRLVu2EB8fj8lk4u6776Z79+54eHgUuUwhSiNVhWHDknnuuXJ88IEPUVFpVKhQfEsdqG06oEXvR//xG/T/dUXxNRVb2UIIIYqu0C1Uu3btYsmSJXTq1IlJkyYRHh7OhAkTSEpKKvD8H3/8keXLl9O5c2dmzJhB37592b17NytWrChymUKUZg88kEnDhllYLCqTJ/sVb+G16kHV6pCVib5jc/GWLYQQosgKnVBt2LCB1q1b07JlSypXrkxUVBQeHh5s317wKs5//vknt912G82aNaNChQrUr1+fyMhIjh8/XuQyhSjNFAXGjrVtZrxypZEDB9yLsWwFpU0H4NJ2NJaMYitbCCFE0RWqy89qtXLixAnat2+fe0xVVerWrcvRo0cLvOa2227jhx9+4Pjx40RERHDhwgUOHDhA8+bNi1xmdnY22VfsRKuqKl5eXoDtF44zuxyfs8cJZTvWJk2y6dw5nc8+MzJqlD8bNlzEze3q5xcmVrVxM3LWLoX4WPQPZqD0G4Gilq3hkGX52RaWxOq8XCleV4q1qAqVUCUnJ6NpGgEBAXmOBwQEcO7cuQKvadasGcnJyYwePRqAnJwcHnzwQTp27FjkMtesWcPq1atzX0dGRjJo0CACAwMLE06ZFhIS4ugqlJiyGuu778LXX8Nvv3mwaVMovXtf/5objTXztXeIfa0P+oE9GL9dS8CzL95kbR2jrD7bopBYnZcrxetKsRZWkQalF8Yff/zBmjVr6NWrFzVq1CAmJoYPP/yQ1atX06lTpyKV2aFDB9q1a5f7Wr306TwxMRFLce9OW8ooikJISAgxMTHouu7o6tiVM8Q6ZIiRsWP9ee01jcjIWIKCCo6j0LEGlEd9dgDa4umkrPqQNL9A1HtbFnPt7ccZnu2NklidlyvFa69Yvby8nKYxpFAJlclkQlVVzGZznuNmszlfC9Nln376Kffddx+tW7cGoGrVqlgsFt5//306duxYpDLd3d1xdy94XIqzv6kv03VdYi0DnnsujRUrjBw54s6kSX688861J1oUJlblnhYo506hf7Ua7ePZUD4E5dZaxVHtElOWn21hSazOy5XidaVYC6tQAy8MBgPVq1cnOjo695imaURHR1OzZs0Cr8nMzMzX56peMd6jKGUKUVYYDDBhgi2J+uQTI7//XnwD1AGU9k9Bg3vAmo02dwL6xbhiLV8IIcSNKfRI1nbt2rF161a+++47zpw5w6JFi8jMzKRFixYAzJkzh+XLl+eef+edd/LNN9+wc+dOYmNj+f333/n000+58847cxOr65UpRFl2zz1ZdOiQjq4rjBzpj1Z8y1KhqCrqCy9D5VsgJQltzniZ+SeEEA5Q6DFUTZs2JTk5mVWrVmE2m6lWrRojR47M7Z6Lj4/P0yL1xBNPoCgKK1euJCEhAZPJxJ133km3bt1uuEwhyrrXX09myxYvDhzw4LPPvHnyyeJLehQvb9SXXkeb8AqcOYm2eAZqv9fK3Mw/IYQoyxTdiTpDExMTychw7k/niqIQGhrK+fPnnb4f29linT/fh7fe8qdcuRy+/z6WgIB/YyqOWPW/jqBNHQlWK0rbTqgdnymuqhc7Z3u21yKxOi9XitdesXp7ezvNoHT5CCtECXnhhTRq1Mjm4kU3pk4t5hXUAeXWWijPDgCwDVTfIwvjCiFESZGESogS4u4Ob71lG6D+8cc+REcX/6ol6j0tUdraliPRP56D/teRYr+HEEKI/CShEqIENW+eRbt2GWiawuuv+2OPXgKZ+SeEECVPEiohStiYMUl4e2vs2+fJ5597F3v5MvNPCCFKniRUQpSwSpU0Bg9OBWD8eBPJycW/N9blmX/4+efO/NOLc70GIYQQedh96xkhRH5RUamsXGnk5EkD06b58eabKcV+D6VcedQXR9lm/v26B33tJyileOafEEJcz5YtW9iyZQtxcbahDJUrV6ZTp040bNjwutfu3LmTWbNm0bhxY4YPHw6A1Wpl5cqVHDhwgNjYWIxGI3Xr1qV79+4EBQUVqm7SQiWEA3h6wvjxtgHqH37ow5Ej9vlsIzP/hBDOJCgoiO7du/POO+/w9ttvU6dOHSZPnszp06eveV1sbCxLly7l9ttvz3M8KyuLkydP8sQTTzBp0iSGDBnCuXPnmDx5cqHr5nQtVP/d5sbZXI7P2eME54+1Zcss2ra18NVXXowa5c/OnfaJ1e3eVmhxF9C/WQerPoCQyii3OHZbJ2d/tleSWJ2XK8Vr71gzMjLyrG91tT17GzdunOd1t27d2LJlC8eOHaNKlSoFlq1pGrNnz6ZLly4cPnyYtLS03K8ZjUZGjx6d5/yePXsycuRI4uPjCQ4OvuEYnCqhcpbFwW5ESEiIo6tQYpw51vfeg1q1YPduD1auhG7d7BRrn1dsf0oZZ362/yWxOi9XitdesY4bN46TJ0/mvu7UqRNdunS55jWaprF7924yMzOvuffv6tWrMZlMtGrVisOHD1+3Lunp6SiKgtFovPEAcLKEKjExEYvF4uhq2JWiKISEhBATE+MSK/M6e6weHjBggC9TpvgxdCjcddcFfHzsM3hct2SgzRwHZ/+BSuGog8eheBX/LMMb4QrP9jKJ1Xm5Urz2itXLy4vAwEDGjRuXr4Xqak6dOsWoUaPIzs7Gy8uLoUOHUrly5QLPPXLkCNu2bbvhLrysrCyWLVtGZGSkaydUgNO/qS/TdV1idRJ9+6bw2Wfe/P23genTfXj99WT73MjTC6XXENuef8cPkbNousP3/HP2Z3slidV5uVK89orV2/vGP9yFhYUxZcoU0tPT2bNnD3PnzuWNN97Il1RlZGQwe/Zs+vTpg8lkum65VquVGTNmANCrV6/CBYAMShfC4by84M03bUnUwoU+HDtmv885l2f+YTDkzvwTQoiyxGAwEBISQvXq1enevTvVqlVj06ZN+c67cOECcXFxTJo0ia5du9K1a1e+//57fvnlF7p27UpMTEzuuZeTqfj4eF5//fVCt06BE7ZQCVEWPfBAJv/7H6xfb1tBfeXKi9hrnOvlmX/64hm2mX9hVVDvaWmfmwkhhJ1pmkZ2dna+42FhYUydOjXPsZUrV2KxWHjuuedyB5xfTqZiYmIYO3Ysfn5F22tVWqiEKCVmzgRPT50ff/RkwwYvu94r755/s2XPPyFEmbB8+XIOHTpEbGwsp06dyn3dvHlzAObMmcPy5csB8PDwoGrVqnn++Pj44OXlRdWqVTEYDFitVqZPn86JEycYMGAAmqZhNpsxm81YrdZC1U1aqIQoJapXh/79U5kxw4833vCndetMjEb7jctQ2j+Ffv4M/LoHbe4E1FHTUcqVt9v9hBDiZiUlJTF37lwSExMxGo2Eh4czatQo6tWrB0B8fHyhlnZISEjg559/Bshd7POysWPHcscdd9xwWYruRCPpEhMTychw7j3LFEUhNDSU8+fPO/0gSFeM9cSJ87RoUZ7Tpw289FIKI0YU/wrqV9ItGWiTXoMzJ6HyLaivvlMiM/9c8dlKrM7HleK1V6ze3t5Os+SRdPkJUYp4e8Mbb9gGqC9Y4Mtff7nZ9X6y558QQhQPSaiEKGXatLHQsqWF7GyFMWP8sfcHX5n5J4QQN08SKiFKGUWBN99MwsND57vvvPj6a/sOUAfZ808IIW6WJFRClELVq+fQp08qAGPHmsjIsP9eYTLzTwghik4SKiFKqYEDUwkLs3LmjIE5c3xL5J5K+6egwT1gtaLNGY8ec6ZE7iuEEGWdJFRClFJGo87YsbYB6u+958vff9t3gDqAoqqoL7wMVW+F1GS0GWPRE+Ltfl8hhCjrJKESohR79FELzZtnkpmpMHasf4ncU/HyRh00FipWgoQ4tJlj0VPttL+gEEI4CUmohCjFFAXGj0/CYND59lsvvvnGs2TuawpAffkNCCgH50+jvfsmusW513gTQoibIQmVEKVcRISVqKg0AMaO9cdiKZn7KuUq2JIqHz84eRTtvbfRC9gvSwghhCRUQpQJgwenEBKSwz//GHjvvZIZoA6ghFVFHTgGPL3g0K/oH8xA13JK7P5CCFFWSEIlRBng66szZkwSAHPm+HH6tP0HqF+mVL8Ntf8IcDOg//wj+rIFTr/NhhBCFJYkVEKUEY89ZuHeezOxWBTGjTOV6L2V2g1RXngFFAX9+83o65aV6P2FEKK0k4RKiDLi8gB1NzedzZu92b69ZAaoX6be1Qyle18A9I2r0L79skTvL4QQpZkkVEKUIbVqWenZ0zZA/fXX/cko4Yl3aou2tsU/Af3TRbJFjRBCXCIJlRBlzJAhKVSokMPffxsYOTLA7psn/5fySGeUBx4DQP9wFvrv+0q2AkIIUQpJQiVEGePnp/Puu4moqs6qVUaWLjWW6P0VRUHp3BPlnpagaWjzJ6Ef/aNE6yCEEKWNJFRClEHNm2fx2mspAIwZ48/+/e4len9FVVGeHQD17oLsLNu+f6dPlmgdhBCiNJGESogyqn//VNq2zSA7WyEqKoj4+JL9dlYMBtQ+wyGiNmSk2baoiT1fonUQQojSQhIqIcooRYEZM8zcems2MTFu9OsXiNVawnXw8EQd8DpUrgbJZrQZY9DNCSVbCSGEKAUkoRKiDPPz01m0KBGjUWPXLk/eeadk16cCUIy+qIPfgPIhEH/B1lKVllri9RBCCEcyFOWizZs3s379esxmM+Hh4fTs2ZOIiIgCzx03bhyHDh3Kd7xhw4aMGDECgLlz57Jjx448X69fvz6jRo0qSvWEcCk1a1qZPt1M375BvPeeLw0bZvHooyW04d8lin8g6stvok16Fc7+gzbnLdTBb6J4luxaWUII4SiFTqh27drFkiVLiIqKokaNGmzcuJEJEyYwc+ZM/P39850/dOhQrFf0Q6SkpDBs2DDuvffePOc1aNCA/v37/1sxQ5FyPSFc0v/+Z+HAgVQWLPDl5ZcDqFkznho1Srb/Tykfgjp4HNqUkXD8MNqCSaj9R6LI97IQwgUU+ifdhg0baN26NS1btgQgKiqK/fv3s337dtq3b5/vfF/fvBu57ty5E09PT+655568FTEYCAgIuKE6ZGdnk33FrveqquLl5QXYpnQ7s8vxOXucILEW1qhRKfz+uzu7d3vSq1cQmzbF4+tbsotUKVWqowwYQ86M0XDwZ/SP3kV54WUUNe/oAnm2zsmVYgXXiteVYi2qQiVUVquVEydO5EmcVFWlbt26HD169IbK2LZtG02bNs1NgC47dOgQvXr1wsfHhzp16tC1a1f8/PwKLGPNmjWsXr0693VkZCSDBg0iMDCwMOGUaSEhIY6uQomRWG/cmjVw551w/LiBESNC+Owz2+D1EhUaSoa3J/FvDUH/6Tu8K1QkoM/QAn8Qy7N1Tq4UK7hWvK4Ua2EVKqFKTk5G07R8LUkBAQGcO3fuutcfP36c06dP069fvzzHGzRowN13302FChWIiYlhxYoVTJw4kQkTJqCq+cfNd+jQgXbt2uW+vnxOYmIiFkvJjh0paYqiEBISQkxMDHpJL5FdwiTWonnvPXeeeKIcn3+uMGZMMv37pxVTLQuh8q2oPQejLZxG6vpPSVcNqP/rmvtlebbOyZViBdeK116xenl5OU1jSIkObti2bRtVq1bNN4A9MjIy999Vq1YlPDycAQMG8Mcff1C3bt185bi7u+PuXvBChs7+pr5M13WJ1QkVR6x33pnFuHFJjBoVwMSJftStm0WzZlnFVMMbpzS5HyUlBX3l+2jrlqH7+qG2eCTPOfJsnZMrxQquFa8rxVpYhVo2wWQyoaoqZrM5z3Gz2Xzd8U8Wi4WdO3fSqlWr696nYsWK+Pn5ERMTU5jqCSEuefbZdDp1SkfTFPr3D+TsWceskKK2bofSztYypS9fgLbvB4fUQwgh7K1QP2UNBgPVq1cnOjo695imaURHR1OzZs1rXrtnzx6sVivNmze/7n0uXrxIamqq0zQDClHSFAXeeSeJ2rWzuXjRjT59gsjMdFBdHuuG0uIR0HX0xTPQo/c7piJCCGFHhf7Y2q5dO7Zu3cp3333HmTNnWLRoEZmZmbRo0QKAOXPmsHz58nzXbdu2jbvuuivfQHOLxcLSpUs5evQosbGxHDx4kMmTJxMSEkL9+vWLFpUQAm9vnUWLEggI0DhwwIOxY/Mva1ISFEVB6dYb5a7mkGNFe+9t9L+OOKQuQghhL4UeQ9W0aVOSk5NZtWoVZrOZatWqMXLkyNwuv/j4+Hyzec6dO8eRI0d4/fXX85WnqiqnTp1ix44dpKWlERQURL169XjyySevOk5KCHFjwsNzmD07kWeeCWLpUh8aNsziySczSrweiqpCz8Ho6anwxwFyZr1BVuUq4OlT4nURQgh7UHQnGl2WmJhIRkbJ/7IoSYqiEBoayvnz551+YKDEWnymT/dl2jQTXl4669bFUadOCW/6d4meaUGbPhpO/Ini44f64iioUdshdSkp8j52Xq4Ur71i9fb2dprhPbKXnxAuYPDgVFq1smCxKPTqFURiomMW51M8vVAHjoFba6GnpZAzfTT6L7scUhchhChOklAJ4QJUFWbPTiQ83Mrp0wYGDAgkJ8cxdVF8/HAbMh7ve1uANRttwSS0resdUxkhhCgmklAJ4SICAnQWLkzAy0tn+3YvZswoeCeCkqB4eFJuxCSUlpdm/61ciLb6Q3RNc1idhBDiZkhCJYQLueMOK5MmmQGYMcOPb77xdFhdFDc31O59UTo+A4D+9Rr0xdPRr9inUwghygpJqIRwMZ06ZfDcc7btaAYODOTkSTeH1UVRFNS2nVB6vgxubuh7v0ebNQ493QHb5QghxE2QhEoIFzR2bBJ33plFcrJKVFQQGRmO3UFevbelbbC6pzf8eRBt8mvoiRcdWichhCgMSaiEcEEeHrBgQQLBwTkcPuzO8OH+OHrWt1K7IerwieAfCGf/QXtnGPrZU46tlBBC3CBJqIRwUaGhGvPnJ+LmpvPFF0Y++sjo6CqhVL0V9bXJEFIZEuLRJr+K/mf09S8UQggHk4RKCBd2771ZjBqVDMC4cf7s2+fh4BqBElwR9bVJEHE7pKehzRyDtu9HR1dLCCGuSRIqIVxc795p/O9/GVitCn36BBIb6/gfC4qPH+rLb0LDe8BqRV84Be3bdY6ulhBCXJXjf3IKIRxKUWDaNDM1a2Zz4YIbffsGUhpWLlA8PFH7vorS8lHbWlWfLkb77ANZq0oIUSpJQiWEwMfHtuinr6/GTz95MmGCydFVAkBR3VC69UZ54lkA9C1r0RdNk7WqhBCljiRUQggAIiJymDnTDMDChb4sW2akNDQGKYqC+vATKC+8Am4G9H0/XFqrKtXRVRNCiFySUAkhcrVta+Gll1IAGD48gObNK7BggY/DNlO+knpPC9RBY8Hr8lpVI9AT4h1dLSGEACShEkL8x/DhKbz0Ugomk8bffxt4801/GjcOYcgQf37/3d2hdVNur486/B3wD7q0VtVw9LP/OLROQggBklAJIf7DzQ1GjEjhl18uMHmymdq1s7FYFFau9KFt2/K0axfMZ595Y7E4pn5KlVtQR0yG0CqQGI826TX0Pw86pjJCCHGJJFRCiAIZjTo9eqSzZUsc69bF0bFjOh4eOgcOeDB4cCCNG1dk/HgT//xT8nsBKuUqoL76DtSoDRlpaDPHou37ocTrIYQQl0lCJYS4JkWBxo2zmT3bzL59FxgxIpnKla0kJrrx3nu+REZW4Omng/j2W09yckqwXpfXqrqzqW2tqvenoG1ZW3IVEEKIK0hCJYS4YcHBGi+9lMquXbF8+OFFWra0oOsK27Z58eyz5WjWrALz5vmSkFAyP1oUdw/U3sNQWv8PAP2zD9A+XSRrVQkhSpzB0RUQQpQ9bm7Qpk0mbdpkcvKkG0uX+vDpp0ZOnTIwYYKJqVP9aNcug2efTaNRo2wUO04SVFQ3eLIXBAajr/4Q/dsvIfEi9ByM4uFpvxsLIUrcli1b2LJlC3FxcQBUrlyZTp060bBhw+teu3PnTmbNmkXjxo0ZPnx47nFd11m1ahVbt24lLS2NWrVq0atXL0JDQwtVN2mhEkLclFtuyWHMmGR+/jmG6dMTqV8/i8xMhc8/N/LYY+Vp2zaYFSuMZGTYL6tSFAX1oQ4ovYbY1qr6ZSfaxKHoZ0/Z7Z5CiJIXFBRE9+7deeedd3j77bepU6cOkydP5vTp09e8LjY2lqVLl3L77bfn+9q6dev46quviIqKYuLEiXh6ejJhwgSysrIKVTena6FS7PlRuBS4HJ+zxwkSa1ljNELXrha6drXw66/ufPSRkXXrvDl40IOhQz146y0TXbqk88wz6URE2Lrkijtet3taoJcrj/bRu5AQjz7jdXjieZR7Wzrs/9YZnu2NcqVYwbXitXesGRkZ6Lqe+9rd3R139/zLtDRu3DjP627durFlyxaOHTtGlSpVCixb0zRmz55Nly5dOHz4MGlpablf03WdTZs20bFjR+666y4AXnrpJaKioti3bx+RkZE3HINTJVSBgYGOrkKJCQkJcXQVSozEWvaEhkLbtnDxInz4Ibz3Hpw4obJwoS8LF/ry4IMwcybUrm2HeEND4b4Hir/cm+Qsz/ZGuFKs4Frx2ivWcePGcfLkydzXnTp1okuXLte8RtM0du/eTWZmJjVr1rzqeatXr8ZkMtGqVSsOHz6c52uxsbGYzWbq1auXe8xoNBIREcHRo0ddN6FKTEzE4qjFcUqIoiiEhIQQExOTJ5t3RhKrc+jRA7p1gx07PPnwQyNbt3ryzTcK//sffP31BXx87DOAXNc09G3r0TesgpwcKFce9flBKOERdrnf1Tjzs/0vV4oVXCtee8Xq5eVFYGAg48aNy9dCdTWnTp1i1KhRZGdn4+XlxdChQ6lcuXKB5x45coRt27YxefLkAr9uNpsB8Pf3z3Pc398/92s3yqkSKsDp39SX6bousTohZ41VUaBFCwstWlg4dcqNTp3KceKEgTfe8GXSpCS73VRp/RhUq4m2cCqc+ZuciUNROjyD8uDjKGrJDiF11mdbEFeKFVwrXnvF6u3tfcPnhoWFMWXKFNLT09mzZw9z587ljTfeyJdUZWRkMHv2bPr06YPJZP8N32VQuhCiRFWtmsPMmbYk6pNPfPj2W/vOxFNurYU6ZibKnZGQk4O++kO02W+iJ5vtel8hhH0YDAZCQkKoXr063bt3p1q1amzatCnfeRcuXCAuLo5JkybRtWtXunbtyvfff88vv/xC165diYmJISAgAICkpLwf7JKSknK/dsP1KmpAQghRVJGRWbz8MsyYAUOHBrBtWxxBQfZbO0ox+kKf4fDD1+grF0H0frQ3B6G+8ArK7fXtdl8hhP1pmkZ2dna+42FhYUydOjXPsZUrV2KxWHjuuecIDg7Gzc2NgIAADh48SLVq1QBIT0/n+PHjtGnTplD1kBYqIYRDTJgANWpkExfnxmuv+WPvHhNFUVDvexh11DTbPoBJiWgzxqCtWYpekku8CyGKbPny5Rw6dIjY2FhOnTqV+7p58+YAzJkzh+XLlwPg4eFB1apV8/zx8fHBy8uLqlWrYjAYUBSFRx55hC+++IKff/6ZU6dOMWfOHAIDA3Nn/d0oaaESQjiEtzfMnm2mXbtgNm70Zs0aCx07Ztj9vkqlcNRR09E/XYj+wxb0TZ+h/3kQNWoYSrnydr+/EKLokpKSmDt3LomJiRiNRsLDwxk1alTuLL34+PhCL+3w+OOPk5mZyYIFC0hPT6dWrVqMHDkSDw+PQpWj6E40ki4xMZGMDPv/QHYkRVEIDQ3l/PnzTj8IUmJ1XlfGO326D1OnmjCZNL79NpZKlUpu2xht34/oS+dARjoYfVCfHYjS6N5ivYcrPVtXihVcK157xert7e00Sx5Jl58QwqEGDEilYcMskpNVXnklkJLchk+9qxnq6JlwS01IT0N77220ZfPRswu3QrIQQkhCJYRwKIMBZs1KxMtL48cfPfnoI58Svb9SPgR1+NsoD3UAQP9uk23bmvPX3spCCCGuJAmVEMLhbr01h9GjkwGYMMHE8eMlO7xTMbijdnoeddA48POHM3+jjX8Fbee3Tt+VI4QoHpJQCSFKhWeeSee++yxYLAoDBwZQwCxou1PqNEIdMwturw9ZmegfvYu+aDp6RnrJV0YIUaZIQiWEKBVUFaZPN+Pvr/Hbbx7Mnu3rkHooAUGog99A6fA0qCr63h1obw1G//uYQ+ojhCgbJKESQpQaoaEaEyfaViyeOdOP3367+n5e9qSoKuojnVGHvQ1B5SEuBu2dV9G+WSddgEKIAhVpoMLmzZtZv349ZrOZ8PBwevbsSUREwRuOjhs3jkOHDuU73rBhQ0aMGAHY9gZatWoVW7duJS0tjVq1atGrVy9CQ0OLUj0hRBn2+OMZbN7sxfr13gwcGMDmzXEUYpuvYqVE3I46Zhbaktmwfzf6qsXoh3+zbbLs53/9AoQQLqPQLVS7du1iyZIldOrUiUmTJhEeHs6ECRPy7YNz2dChQ3n//fdz/0ybNg1VVbn33n/Xelm3bh1fffUVUVFRTJw4EU9PTyZMmEBWlkxdFsLVKApMnGimYsUcjh935+237b+p6TXr4+OL2vc1lB59weAOB39Ge3Mw+qm/HFovIUTpUugWqg0bNtC6dWtatmwJQFRUFPv372f79u20b98+3/m+vnnHQezcuRNPT0/uuecewNY6tWnTJjp27Ji7zPtLL71EVFQU+/btIzIyMl+Z2dnZefbtUVUVLy8vgEKvkFrWXI7P2eMEidWZXS/ecuVg2rQknnoqiMWLfWnTJpPmzR33AUtRFGj5KHpEbXIWTIaYM2iTR6BGDUNt0OT61+Iaz9aVYgXXiteVYi2qQiVUVquVEydO5EmcVFWlbt26HD169IbK2LZtG02bNs1NgGJjYzGbzbnLxgMYjUYiIiI4evRogQnVmjVrWL16de7ryMhIBg0a5DSrrd6IkJAQR1ehxEiszuta8fboAT/+CPPnw5Ah5Th4EAq5+XvxCw1Fq72U+LdfJfPXvWjzJmCKegW/x7pe91JXerauFCu4VryuFGthFSqhSk5ORtM0Av7zUy0gIIBz585d9/rjx49z+vRp+vXrl3vMbDYD4O+fdzyCv79/7tf+q0OHDrRr1y73taraei4TExOxWCw3EEnZpSgKISEhxMTEOP3gWInVed1ovEOGKGzeHMzffxuIikrn3XcLHlpQ0vS+I1CWz0f//mvMC6aSdOwI6pO9UNzc8p3rSs/WlWIF14rXXrF6eXk5TWNIia6et23bNqpWrXrVAew3yt3dHXf3gmf/OPub+jJd1yVWJ+RKscL14zUadWbOTKRjx2BWrzbSpo2FRx8tBR+a3NxQnuoPFULRV3+Evm0DOXExqL2HongZC7zElZ6tK8UKrhWvK8VaWIUalG4ymVBVNV/Lkdlsztdq9V8Wi4WdO3fSqlWrPMcvX/ffQe1JSUnXLVMI4fzuuiub/v1TAXj1VX9iY0vHai+KoqA+1BG172vg7mEbrD5pBHpCvKOrJoRwgEL9ZDIYDFSvXp3o6OjcY5qmER0dTc2aNa957Z49e7BarTRv3jzP8QoVKhAQEMDBgwdzj6Wnp3P8+PHrlimEcA1DhqRQu3Y2iYluDB0aQGn6gKzc2RR12EQwBcCZk7Z9AP+RGYBCuJpCf9Rr164dW7du5bvvvuPMmTMsWrSIzMxMWrRoAcCcOXNYvnx5vuu2bdvGXXfdhZ+fX57jiqLwyCOP8MUXX/Dzzz9z6tQp5syZQ2BgYO6sPyGEa/PwgNmzE/Hw0Nm61YsVKwruVnMU5ZaaqCOnQlhVSEpAm/wa+m97HV0tIUQJKvQYqqZNm5KcnMyqVaswm81Uq1aNkSNH5nbPxcfH55tWee7cOY4cOcLrr79eYJmPP/44mZmZLFiwgPT0dGrVqsXIkSPx8PAofERCCKdUq5aVV19N5q23/Bk3zkRkZCbh4TmOrlYupVwF1FcnoS2YDIcOoM2dgNLlBdQHHnN01YQQJUDRnWh0WWJiIhkZGY6uhl0pikJoaCjnz593+oGBEqvzKmq8OTnQpUs59uzxpEmTTFavvkgBE+scSrda0VcsQP/+awCUlo9S6eXRxMTGOf2zlfex87JXrN7e3k4zy690jO4UQogb4OYGM2aY8fHR2LvXkwULHLOB8rUoBgPKU/1ROj0PioK+fSPxb76Cbkl3dNWEEHYkCZUQokypWjWHN9+0zQqeMsWPQ4dKdPWXG2KbAdgBte+r4OGB5edd5LzzKnpCnKOrJoSwE0mohBBlzpNPZvDggxayshQGDgwkM9PRNSqY0qgpbsPeRg0oB2f+Rps4DP2f446ulhDCDiShEkKUOYoCU6aYCQrK4fBhd6ZN87v+RQ6i3FKTijM+gkrhl2YAjkD/dY+jqyWEKGaSUAkhyqTy5TUmT7Z1/c2b58vevaV3VrChQihur06C2g0hKxNt3tto365z+oHMQrgSSaiEEGVW27YWOndOR9cVBg8OIDVVuf5FDqIYfVAHjkG572HQdfRPF6MvX4CeU3qWfhBCFJ0kVEKIMu3NN5OoVMnKP/8YePNNk6Orc02KmxvKU/1QOl+aAfjdJrQ549EzZAagEGWdJFRCiDLNZNKZMcMMwLJlPnz7radjK3QdiqKgtumA2m+EbQn46F/QJskMQCHKOkmohBBlXmRkFlFRtg2Uhw4NICGh9P9oUxregzrsbfAPhLP/yAxAIcq40v9TRwghbsCrryZTo0Y2cXFuvPaaf6naQPlqlGo1UEdMlRmAQjgBSaiEEE7B2xvefdeMwaCzcaM306f7lY2kqlx51FcnwR1XzABct0xWVheijJGESgjhNOrVy2bkyGQApk/3Y9Qof8rCJDrF24g6YAzK/ZdmAG74FG1EFNrXX6CX1lVLhRB5SEIlhHAqffqkMWGCGUXR+fhjH/r1K70rqV9JcXND6dEPpfdwqFgJUlPQV3+ENjIKbet69OwsR1dRCHENklAJIZzOc8+lM29eIu7utu6/p58uR0pK6V2j6jJFUVDvaob6xhyU5wdBcEVINqOvXIg2qi/ajs3o1mxHV1MIUQBJqIQQTumxxywsWXIRHx+NnTs96dy5HHFxZeNHnuLmhtq0Nepb81Ce7g+BwZAYj/7JPLTX+6Ht/FYWBBWilCkbP12EEKII7rsvi88+u0i5cjkcPOhB+/bBnDrl5uhq3TDF4I5638OoE+ajdO1tW2LhYiz6R++ijXkR7acd6JokVkKUBpJQCSGcWv362axdG0+VKlb+/tvA448H88cfBkdXq1AUdw/U1u1QJ7yP0ul58DVB7Dn0RdPQxg1E/2UXuqY5uppCuDRJqIQQTq969RzWro3n9tuziY1144kngtm9u/Rupnw1iqcn6kMdUN9+H6X9U2D0gfOn0ea/gzb+ZfTf9sqGy0I4iCRUQgiXEBKi8fnn8dx9dyYpKSo9epTjq6+8HF2tIlG8jKiPdkF9eyFKu67g5Q2nT6LNGY/29jD0Pw5IYiVECZOESgjhMvz9dZYtu8hDD2WQmanQu3cgy5cbHV2tIlOMvqiPd7clVg8/AR6ecPIo2syxtlXX/4x2dBWFcBmSUAkhXIq3N7z/fiJdu6ahaQrDhgUwa5ZvmVhV/WoUXxPqE8/augIfeAwM7nD8ENrUkeRMH43+1xFHV1EIpycJlRDC5RgMMHVqEgMGpAAwebKJMWNMlPVx3YopEPXJXqgT30dp0RbcDHD4N7R3hpPz7puy+bIQdlS2proIIUQxURR47bUUypfXGDPGnw8+8OXiRZWZM814lL3x6nkogeVQevRDf6gj+sZV6Lu2wsGf0Q7+DA3uRql3F0pYVahUFcWr7HZ5ClGaSEIlhHBpL7yQRlCQxuDBAaxbZyQxUWXhwkR8fctwH+AlSnBFlGcHoLd9An39SvSfdsCvP6H/+hO50QWVh0rhKGFVICwcpVJVCKmC4unpyKoLUeZIQiWEcHkdOmQQGKgRFRXI99970aVLOZYuTaBcuTLeB3iJUiEM5YVX0Nt2Qv/xG/Sz/8DZU5CUAAlxkBCHfvBnAFuipSi2bW8qhdtassKq2hKtipVR3N0dGosQpZUkVEIIAbRokcmqVRd5+ukgfvvNtqr68uUXqVLFeVYiV8KqonR5Ife1npYCZ0+hnzsF5/5BP3cazv4DqckQFwNxMei//mQ7F0BVoUKYraswrOqlbsNwKB+KYpBfJ8K1yXeAEEJc0rBhNmvXXqR79yBOnDDQvn0wn3xykdtvtzq6anah+PhBzTtQat6R57iebIZzp9DPnrL9fe4fOHcK0tMg5gzEnLGtzn75AjcDhFRCqRROSqO70Rs0Bbeys8WPEMVBEiohhLhCRISVdevi6dGjHH/+6c4TTwTz0UcJNGmS5eiqlRjFFACmAJRa9XKP6boO5oRLidY/lxKtU3DuNGRmwNl/0M/+g3nv9yjNHkR55iUURXFcEEKUMEmohBDiP0JDbauqP/dcOX7+2YNu3crx3nsJtGmT6eiqOYyiKBBYDgLLodzRMPe4rmmQGG9LqP4+jr7xU/Qfv4HgiiiPdnFgjYUoWbIOlRBCFCAwUGflyos88IAFi0WhV68gPv3U29HVKnUUVUUpVwGl3l24Pd6dgD7DANDXfoK25zvHVk6IEiQJlRBCXIW3t86iRQl07pxOTo7CK68EMndu2V5V3d782nVGeagDAPrH78r2N8JlSEIlhBDX4O4OM2aY6d/ftqr6xIkmRozw5+xZ+fF5NeoTz0GjpmC1os2biH7+jKOrJITdyU8EIYS4DkWBUaNSGD06CYClS324556KPP10EJs2eZHlOuPVb4iiqqgvvAzVb4P0VLR337DNHBTCicmgdCGEuEF9+6YREWFl/nxfdu/2ZNs2L7Zt8yI4OIdOnTLo1i2diAjnXGKhsBQPT9SXXkd7exjExaDNGY86ZIKswC5uypYtW9iyZQtxcXEAVK5cmU6dOtGwYcMCz//pp59Ys2YNMTEx5OTkEBISwv/+9z/uu+++3HMsFgvLli1j3759pKSkUKFCBdq2bUubNm0KVTdJqIQQohAeeCCTBx7I5MQJNz791MiqVUZiY92YP9+X+fN9adIkk27d0mnXzoLR6NqDrRQ/f9SBY9HeGQ4nj6Itnoba91UUVdaoEkUTFBRE9+7dCQ0NRdd1duzYweTJk5k8eTJVqlTJd76vry8dO3YkLCwMg8HA/v37mTdvHiaTiQYNGgDw8ccfEx0dzYABAyhfvjy///47ixYtIigoiMaNG99w3YqUUG3evJn169djNpsJDw+nZ8+eREREXPX8tLQ0VqxYwd69e0lNTaV8+fI8++yzNGrUCIBVq1axevXqPNeEhYUxc+bMQtfN2dc9uRyfs8cJEqszc4Z4b71VY+TIVIYNS2XbNk+WLzeydasne/fa/owerdGhQwbdu2cQElK2Y71RBT1XJbQyyoDRaHPHw5GD8OVylA7POKqKxcoZ3sc3yt6xZmRk2NY6u8Td3R33ArY5+m+C061bN7Zs2cKxY8cKTKjuuCPvorWPPPIIO3bs4MiRI7kJ1dGjR7n//vtzz33ggQf45ptvOH78uH0Tql27drFkyRKioqKoUaMGGzduZMKECcycORN/f/9851utVsaPH4/JZOKVV14hKCiI+Ph4jMa8O5xXqVKF0aNH575W1cIP7woMDCz0NWVVSEiIo6tQYiRW5+Us8T73nO3P2bPw8ceweDGcOKGydKkPS5f6UL8+vPBCCD16QFCQo2trf/mea2goNG/lmMqUAGd5H98Ie8U6btw4Tp48mfu6U6dOdOly7XXMNE1j9+7dZGZmUrNmzeveQ9d1oqOjOXfuHD169Mg9XrNmTX755RdatWpFYGAgf/zxB+fPn+fZZ58tVAyKrhduAvDIkSO59dZbeeGFF3ID6tevH23btqV9+/b5zt+yZQvr169nxowZGK6y19OqVavYt28fU6ZMKVTl/ysxMRGLxXJTZZR2iqIQEhJCTEwMhXx0ZY7E6rycPV5Ng927PVi+3MimTV5kZto+1Xt66jzyiIXu3dO5994sivC5sVS73nPVvlmH/uUKUFTUqFdQ6t74p//SyNnfx1eyV6xeXl4EBgbecAsVwKlTpxg1ahTZ2dl4eXkxcODA3B6vgqSnp9OnTx+sViuqqvLCCy/QqtW/CX52djYLFizg+++/x83NDUVR6NOnD/fff3+hYilUC5XVauXEiRN5EidVValbty5Hjx4t8JpffvmFGjVqsHjxYn7++WdMJhORkZG0b98+TytUTEwMffr0wd3dnZo1a9K9e3eCg4MLLDM7O5vs7Ow8dfDy8ipMKEIIYTeqCpGRWURGZmE2q2zdWpH33svm0CF31qzxZs0ab8LDrXTrlk6XLhmEhGiOrnKJUB54DP38afTvvybnvXdwG/42SrUajq6WKAW8vW980dywsDCmTJlCeno6e/bsYe7cubzxxhtUrly5wPO9vLyYMmUKFouFgwcPsmTJEipWrJjbxffVV19x7Ngxhg8fTvny5Tl8+DCLFy8mMDCQevXqFVhmQQrVQpWQkEDfvn0ZP358nua1Tz75hEOHDjFx4sR81wwePJi4uDiaNWvGQw89RExMDIsWLaJt27Z07twZgAMHDmCxWAgLCyMxMZHVq1eTkJDAtGnTCvxP/u+Yq8jISAYNGnTDQQshREnTdfjlF1t34PLlkJxsO66q8Oij8MIL8MgjtnWvnJlutRL/xstY9u9GDShHxRkfYagQ6uhqiTLsrbfeomLFivTu3fuGzp8/fz4XL15k1KhRZGVl8eyzzzJs2LA8rVxXnnOj7D7LT9d1TCYTffr0QVVVqlevTkJCAl9++WVuQnXldMfw8HBq1KhB//792b17d55mucs6dOhAu3btcl9fbumSLj/nIrE6L1eK93KsFy7EUKmSzpgxMHSowoYNXqxY4c1PP3myfj2sXw8VKuTQpUsGzz2XRlhY2Wu1utHnqj8/GGLPo535m/Oj+uP22mQUo2/JVbSYuOL72F5dfjdD07Q8vVaFOd9qtZKTk5NvsL2qqoWOs1AJlclkQlVVzGZznuNms5mAgIACrwkICMBgMOTp3qtUqRJmsxmr1VrguCofHx/CwsKIiYkpsMxr9a06+5v6Ml3XJVYn5EqxgmvFe2Ws3t46nTun07lzOsePG1i50shnn3kTG+vGnDm+fPKJkfffTyAysmyuGHrd5+rljTpgDNrbQ+HcaXLmvY06aCyKoWw2z7nq+9gRli9fToMGDQgODsZisfDjjz9y6NCh3JakOXPm5C6tALBmzRpuvfVWKlasSHZ2NgcOHOCHH36gV69eABiNRmrXrs0nn3yCh4cH5cuX59ChQ+zYsaPQg9ILlVAZDAaqV69OdHQ0TZo0AWyZXnR0NA8//HCB19x2223s3LkTTdNyk6rz588TGBh41UHqFouFmJgYmjdvXpjqCSFEmRMRYeX115N59dVkvv3Wi3ff9eX33z3o3r0cEycm0aNHuqOraBdKULAtqZo8Ao78jr5kLjw/yCWWIBBFl5SUxNy5c0lMTMRoNBIeHs6oUaNyxzrFx8fneQ9lZmayaNEiLl68iIeHB5UqVWLAgAE0bdo095zBgwezfPly3n333dylnbp168aDDz5YqLoVusuvXbt2zJ07l+rVqxMREcGmTZvIzMykRYsWQP7ssE2bNnz99dd89NFHPPzww8TExLBmzRratm2bW+aSJUto3LgxwcHBJCYmsmrVKlRVpVmzZoWtnhBClEnu7tC2rYUWLSwMHRrA2rVGhg8P4OhRA6NHJ3OVz59lmlK1Omqf4Whz3kLfvQ3Kh6D8r6ujqyVKsX79+l3z6+PGjcvzumvXrnTteu33VEBAAP3797/ZqhU+oWratCnJycmsWrUKs9lMtWrVGDlyZG6X33+zw+DgYEaNGsXHH3/MsGHDCAoKyrfEQkJCArNmzSIlJQWTyUStWrWYMGECJpPppgMUQoiyxNsb5swxU6OGlSlTTCxa5MuJEwbmzk3EZHK+biWl7p0oPfqiL52H/uVytHIVUJs675pVwnkVeh2q0iwxMZGMjAxHV8OuFEUhNDSU8+fPO32fvcTqvFwp3puJdcMGLwYNCsBiUalRI5uPPkqgWrUcO9X05t1MrNoXH6N/9Tm4GVAHj0OpdePT1R1F3sc3z9vb22kW5XayZeWEEMJ5tGtnYc2ai4SE5HDsmDvt2gWzZ4+Ho6tlF0r7p1Huag45VrR5b6OfO+XoKglRKJJQCSFEKVavXjYbN8ZRv34WiYludO1ajhUrjNe/sIxRVBXl+UEQcTtkpKG9+yZ6UqKjqyXEDZOESgghSrmQEI3PP7/I//6XQXa2wtChAbz5pomc0tv7VySKuwdq/1FQIQwuxqLNfgs907nXFhTOQxIqIYQoA7y9dd57L5EhQ2xLrC9Y4MvzzweRkuJcywwofibUQWPA1w/+OY62cCq65mSZo3BKklAJIUQZoSjwyiupvPdeAl5eOlu3evH448GcOuXm6KoVK6VCGOqLr4PBHX7bi77qA0dXSYjrkoRKCCHKmMces/D55/FUrJjDn3+68+ijwezd61yD1ZWI21FfeBkAfet6tG+/dHCNhLg2SaiEEKIMatDANli9bt0sEhLc6NKlHJ9+mn8z+bJMadwMpdNzAOirFqMf2OPYCglxDZJQCSFEGRUaqrFmzUUefdQ2WP2VVwIZP965BqsrbTqgtGgLuo62aCr60Wh0rextHC2cnxNuZiCEEK7D21tn/vxEpk2zMnOmH++958tff7kxe7YZX9+yv9ikoijQtTf6xTg4+DPalJHgZoDAclCuAkpQMASVv/Tv8rZ/B5VH8fR0dNWFi5GESgghyjhVhWHDUoiIsDJkSABbtnjTvr2Bjz5KoHLlst9cpbi5ofYehvb+FPhjP+RYIf4CxF/gypQxT/roa/o3uSp35d8VoFww+AXIRsyiWElCJYQQTqJDhwzCw6307BnE4cO2weqLFiVw113Zjq7aTVO8vHEbOAY9JweSEiAhztZqlRCX998XY8GSAanJtj+n/spNtPIkXAb3Sy1b5fO2ctWqh1KuggMiFGWdJFRCCOFEGjWyDVZ//vly/PGHO126BDNliplOnZxjn1PFze3flqeIgs/R01MvJVdx6Jf+JuGKfyclgDUbYs9B7Lm8rVyKAnXuRL3/Yah7J4rqXEtSCPuRhEoIIZxMpUoaa9fGM3BgAF995c2gQYEcO2bg1VdTUF1gKpJi9AWjL1S+hYI69XRrNiRehIR49Iux/7ZynT8Nxw/bxmod/BmCglGat0Fp9iBKQLkSj0OULZJQCSGEEzIadd5/P5HJk63Mnu3HnDl+HD9u4N13zfj4lP3B6jdDMbhD+RAoH5Iv4dIvnEP//mv0Xd/aEq51y9HXr4QGd9tarWrVR3GFrFQUmrwrhBDCSakqvPZaCu++m4iHh87mzd60bx/M1q2epKfLgOyCKBXDUDs/jzr5Q5QXXoGI2qBpsH832oyxaK/3Rfv6C/SUZEdXVZQy0kIlhBBO7oknbIPVX3ghiEOH3HnmmXK4u+s0bpzFffdlct99mdStm42bDBfKpbh7oNzTAu5pgX72H/Qdm9H3bIe4GPTVH6Gv/QT9zmZkPvEUeqAMYheg6LruNG2/iYmJZGQ4x8DLq1EUhdDQUM6fP48TPboCSazOy5XiLU2xnj3rxqxZvuzY4cmZM3k/TwcEaDRrlpmbYFWpUvjlFkpTrPagZ1rQ936PvmMz/HP83y+EVUW5/2GUe1qiGH0cV0E7stez9fb2JjAwsNjKcyRJqMoYZ/+BdSWJ1Xm5UrylMVZdh5Mn3fj+e0++/96TXbs8SUnJOwLkllus3HdfJvffn0nTppn4+V2/7qUxVnvR/z5mS6z2/YCeabEd9PBEaXKfLbmqVsOxFSxmklBdnyRUZYwr/cCSWJ2XK8VbFmK1WuHAAXe+/96L77/35MABd3Jy/h1j5eam07BhNvffb6F580waNszGUMCAkbIQa3FSFIWKfr6cX7cS7buv4Nypf78YHmFLrJrch+Lp5bhKFhNJqK5PEqoyxpV+YEmszsuV4i2LsSYnK+ze7cmOHbYWrJMn82ZPfn4akZGZNG9u6x685ZYcFKVsxnozroxX0zQ4fhh9x1fov+y0ZakA3kaUe1qg3PcwSuVqDq3vzZCE6vpkULoQQog8TCadhx6y8NBDtq6s06f/7R788UdPzGaVzZu92bzZG4AqVayXxl5l0amTI2vuOIqiQI3aKDVqoz8Zhb5rK/qOr2yD2LdvQt++CW6tZVuJvVoEVI2AwHKy/Y0TkRaqMsaVPgFKrM7LleJ1tlhzcuDgQffcBOvnnz3Izv43KfDwgJ49Uxk4MAV//7If77Vc79nqmgZHfkfbsRl+3WNbfuFKpgBb12B4BEr4rVAtotQuICotVNcnLVRCCCFumJsbNGiQTYMG2QwcmEpamsKePR65CdbRo+7Mn+/LqlXeDBmSwlNPpRc43soVKKoKtRvgVrsBuvki+oGf4J9j6P/8ZRtvlWyGgz+jH/z53+1v/AOvSLIibEmWv3MkHM7ORd/mQgghioOPj07r1pm0bp0JKPz6ayiDBlk5ftzAqFEBfPSRD2PGJNOqVaajq3pN//zjxuefexMZmcXdd2cVe/lKQDmUlo/kvtYzM+HMSfR/jsPfx9FP/QXnTkNSIvy+D/33ff8mWQFB/yZZ1SIg/FYUkyRZpY0kVEIIIYqFosAjj0CdOnF88ok3U6f6ceyYO08/XY4WLSyMHp1MrVpWR1czj99+c+e993zZuNELTVOYOVNn7NhkevZMw57DmxRPT9uYqltr5R7TMy1w+lKS9c9x9L+PQ8xZMCeAeS/6b3v/TbICg22JVW6SFYHi52+/CovrkoRKCCFEsXJ3h+eeS6dDhwzefdePxYt9+O4725IMPXqkM3RoCsHB2vULshNdh+++82TePF927fLMPV6jRjbHjrkzZow/hw8bmDAhCU/PaxRUzBRPL4i4HSXi9n/rasnIm2T98xfEnIHEeEiMR//1p3+TrLCqqM+8lCdJEyVHEiohhBB24e+vM3p0Mk8/ncaECSY2bfJm6VIf1q71ZuDAVHr2TMWrBJdoys6Gdeu8mT/fl8OH3QEwGHQefzyDvn1Tuf12KwsX+vDWWyZWrPDh+HEDCxcmUr6845I/xcs7d/bgZbolHU5dmWRdask6dwptygiUjs+gPNheZhCWMEmohBBC2FW1ajksXJjInj1pvPGGid9/92DCBBNLlxoZOTKZdu0sdu1eS0lRWLbMyKJFvpw/b9uw0MdHo0ePdHr1SqVSpX8Tpt6906hZ00q/foHs2+fJI48E88EHidStm22/ChaS4mWEmneg1Lwj95ieloK+bD76vh/QP/sQ/egfqM8PQvHxc2BNXYt6/VOEEEKIm3fPPVls3BjPzJmJhITkcOqUgb59g+jQoRwHDrgX+/0uXFCZONGPJk0q8tZb/pw/70aFCjmMGJHMvn0XGDs2OU8ydVmLFpls2BDHrbdmc+6cgfbty/Hll6V7tXPFxw8laijKU/3B4A6/7UV7czD6X0ccXTWXIQmVEEKIEqOq0LlzBj/8EMuQIcl4e2vs2+dJu3blGTAggLNnb/7X0rFjBoYM8eeeeyoyd64fyckqERHZTJ1qZs+eC7z0Uup118i69dYc1q+Pp2VLCxaLSr9+QUye7JdvKanSRFEU1PsfRh0xBSqEQkIc2pQRaFvWFHrtKE2DixdVjhwx8MMPHnzxhReLFtmp4k5CFvYsY5xtkcBrkVidlyvFK7Fe2/nzKpMmmfjsMyMAXl46ffqk8uKLqfj43Pj/l67Dvn0ezJvnyzff/Nua1KRJJv36pfLAA5moRcjVcnJg4kQT8+f7AvDQQxm8+64ZX1+9VD9bPSMdfelc9H0/2A7Ub4L+zCASM/2Ji1OJj3cjLk699Mft0jHbv+PjVS5eVPPs5whgNMKxY+cBWdizIDKGSgghhMOEhmrMnGmmZ0/b+Ko9ezyZNcuPFSuMvPpqMp07Z+DmdvXrc3Lg66+9eO89X/bv9wBAUXQefthC376pNG58c2Of3Nxg9Ohkbr89m+HDA/j6a28ef9zABx8kUK1a6WmuMpsVfv3V44rEyERs7ATiTyUS908G8d8GkvBOAJp+jf/MAgQG5lC+vEb58hpVqnhiteKyC7Vej/y3CCGEcLh69bJZvfoimzd7MX68ib//NjBkSCAffODL2LFJREbmXWwzIwNWrzayYIFv7ubNnp46nTql06dPKrfemlOs9evUKYPq1a306hXEkSPuPPJIeRYuTHT43oVnz6q8/74vy5YZycgoqAnOmOeVgkaQn4XgMPdLiVIOwcG2hCk42JY8VahgO1aunIb7paFt/7bG2VoDRX6SUAkhhCgVFAXatrXQqpWFjz7yYeZMP/74w50uXYJ56KEMXn89mcBAjY8/9uHDD32Ij7e1tgQEaDzzTBo9e6bZdYmDRo2y2bgxjhdeCOK33zzo2jWId9+FDh3sdsurOnbMwLx5vnzxhTdWq61rrlo1K1WrWnMTpDzJkl8awTsWEfjH1xjUHKjfRGYBFjMZQ1XGlOY+++ImsTovV4pXYi26hASV6dN9WbLEh5wcBYNBx91dz22JqVTJSu/eaXTrll6o8VY3KyMDhg0LYM0aW+vPM8+k8cYbSXh42P/ev/zizrx5vmze7J17rGnTTF56KZX77su85vITuq6jf/81+sqFYM2GoPKovYfd0EKgsjny9cksPyGEEKVSUJDG+PHJbN0aR+vWFqxWhYwMlTvuyGbOnER27oylV6+0Ek2mALy9YfZsM6NGJaMosGSJD926lePiRfv8StV12L7dk06dyvHYY+Vzk6m2bTNYvz6Ozz67yP33XzuZgv/OAgy7qVmAIr8idflt3ryZ9evXYzabCQ8Pp2fPnkRERFz1/LS0NFasWMHevXtJTU2lfPnyPPvsszRq1KjIZQohhHANNWpYWbIkgb17PcjJsa1n5ehFwBUFXnwxjXvvNdG1q8aePbZFQD/8MIHatYtnv0KrFTZu9GLOHD8OHfp3ZfcnnsigX79UatQo2n2UqtVRX5+eOwtQFgItHoVOp3ft2sWSJUvo1KkTkyZNIjw8nAkTJpCUlFTg+VarlfHjxxMXF8crr7zCzJkz6dOnD0FBQUUuUwghhOtp0iSLe+91fDJ1pUcfhY0bL1KtmpUzZww8/ngwmzbd3CKgFgssWWLkvvsq0L9/EIcOuWM0akRFpbJr1wWmTzcXOZm6TPE2ykKgxazQCdWGDRto3bo1LVu2pHLlykRFReHh4cH27dsLPH/btm2kpqYybNgwatWqRYUKFahduzbVqlUrcplCCCFEaVGjhpUNG+Jo3jyT9HSVqKggZszwLfQioMnJCnPm+HLPPRUZMSKAf/4xEBiYw9Chyfz00wXGjSt4Zfeiki7A4lWoLj+r1cqJEydo37597jFVValbty5Hjx4t8JpffvmFGjVqsHjxYn7++WdMJhORkZG0b98eVVWLVGZ2djbZ2dl5zve6tMOms28GeTk+Z48TJFZn5krxSqzO68p4g4J0li1L4M03TSxa5MPUqSYOH3Zn1qwkjMZrJyexsSoLF/qwZImRlBRbO0dYWA59+6bSvXvGFdfb5/9VCb8VZfQMtCVzcrsAOfoHyvODUXz98sUqClaohCo5ORlN0wgICMhzPCAggHPnzhV4zYULF4iLi6NZs2aMGDGCmJgYFi1aRE5ODp07dy5SmWvWrGH16tW5ryMjIxk0aJDTzBS4ESEhIY6uQomRWJ2XK8UrsTqvK+NduBDuvRf69oWNG705c8abdesgPDz/dcePw9Sp8NFHkJlpO1a7Nrz6KnTr5oa7uz/gXyIxAOhjp5O2+QsSF0xD/20vTHiFoFcn4nl7vdxzXO3ZFobd16HSdR2TyUSfPn1QVZXq1auTkJDAl19+SefOnYtUZocOHWjXrl3ua/XSfgKJiYlYLJZiqXdppSgKISEhxMTEOH2TrMTqvFwpXonVeV0t3rZt4bPP3OnVK5DffnPjzjtzWLQokbvvtvWsHDxoYO5cXzZs8ELTbC0+d96ZxUsvpfLgg7YtcuLjHRISNGiK24gQchZMIufCOWJfjULt+CzqQx0IDQ0t9mfr5eXlNI0hhUqoTCYTqqpiNpvzHDebzflamC4LCAjAYDDkJj0AlSpVwmw2Y7Vai1Smu7s77u4F70zuCt/EcGk9EYnV6bhSrOBa8UqszqugeO+6K4tNm+Lp2TOQ6GgPunQpx6BBKfz8swfffffvoPVWrSy8+GIqd9/972B7h//XVbkFddS/swC1zz5APxpNzoi3Xe7ZFkahBqUbDAaqV69OdHR07jFN04iOjqZmzZoFXnPbbbcRExODdsXovPPnzxMYGIjBYChSmUIIIURpV6lSDmvXXuR//8sgO1th6lQT333nharqtG+fzpYtsSxdmlAqloH4r//OAtR/28uFAT3QY887umqlVqFn+bVr146tW7fy3XffcebMGRYtWkRmZiYtWrQAYM6cOSxfvjz3/DZt2pCamspHH33EuXPn2L9/P2vWrOGhhx664TKFEEKIssjbW+e99xJ57bVkKlbM4Zln0vjxx1jmzjVzxx3Fs16VveSZBVgxDLdy5SGovKOrVWoVegxV06ZNSU5OZtWqVZjNZqpVq8bIkSNzu+fi4+PzzAIIDg5m1KhRfPzxxwwbNoygoCDatm2bZ1bf9coUQgghyipFgQEDUhkwINXRVSkSpWp13EbPINhkIjbLKl1+VyF7+ZUxsi+Yc3KlWMG14pVYnZcrxSt7+V2f3Wf5CSGEEEIUhy1btrBlyxbi4uIAqFy5Mp06daJhw4YFnv/TTz+xZs0aYmJiyMnJISQkhP/973/cd999ec47c+YMy5Yt49ChQ2iaRuXKlRkyZAjBwcE3XDdJqIQQQghRJgQFBdG9e3dCQ0PRdZ0dO3YwefJkJk+eTJUqVfKd7+vrS8eOHQkLC8NgMLB//37mzZuHyWSiQYMGAMTExDBmzBhatWpFly5d8Pb25syZM1ddTeBqJKESQgghRJnQuHHjPK+7devGli1bOHbsWIEJ1R133JHn9SOPPMKOHTs4cuRIbkK1cuVKGjZsyFNPPZV7XlEWMHW6hMrZl8V3peX/JVbn5UrxSqzOy5XitXesGRkZecZmXWu9ycs0TWP37t1kZmbe0DJLuq4THR3NuXPn6NGjR24Z+/fv57HHHmPChAmcPHmSChUq0L59e5o0aVKoGJxqULoQQgghyp5XX32VkydP5r7u1KkTXbp0KfDcU6dOMWrUKLKzs/Hy8mLgwIE0atToqmWnp6fTp08frFYrqqrywgsv0KpVK8C2iHjv3r3x9PTkySefpE6dOvz666+sWLGCsWPHUrt27RuOwakSKtl6xrlIrM7LleKVWJ2XK8Vrr1gvbz1TmBYqq9VKfHw86enp7Nmzh61bt/LGG29QuXLlAs/XNI3Y2FgsFgsHDx7k888/Z9iwYdxxxx0kJCTQt2/f3D2BL5s0aRKenp4MHjz4hmNxui4/Z39TX+ZKy/9LrM7LleKVWJ2XK8Vrr1i9vb1v+FyDwZA7xql69er89ddfbNq0id69exd4vqqquedXq1aNs2fPsnbtWu644w5MJhNubm75krFKlSrx559/FiqGQq+ULoQQQghRWmiaRnZ2dpHONxgM3HrrrZw7dy7POefPny/UkgkgCZUQQgghyojly5dz6NAhYmNjOXXqVO7r5s2bA/m3v1uzZg2///47Fy5c4MyZM6xfv54ffvgh93yAxx57jF27dvHtt98SExPD5s2b+eWXX/JskXcjnK7LTwghhBDOKSkpiblz55KYmIjRaCQ8PJxRo0ZRr149IP/2d5mZmSxatIiLFy/i4eFBpUqVGDBgAE2bNs09p0mTJkRFRbF27Vo+/PBDwsLCGDJkCLVq1SpU3ZxuULpsPeM8JFbn5UrxSqzOy5Xila1nrk+6/IQQQgghbpIkVEIIIYQQN8mpxlAVdt+dsszLy8vRVSgxEqvzcqV4JVbn5UrxFneszvR726nGUAkhhBBCOIJ0+ZUxFouFWbNmOf2K8CCxOjNXildidV6uFK8rxVpUklCVMZqmsXPnTjRNc3RV7E5idV6uFK/E6rxcKV5XirWoJKESQgghhLhJklAJIYQQQtwkSajKGHd3dzp16uRUMyOuRmJ1Xq4Ur8TqvFwpXleKtahklp8QQgghxE2SFiohhBBCiJskCZUQQgghxE2ShEoIIYQQ4iZJQiWEEEIIcZOcai+/sm7NmjXs3buXs2fP4uHhQc2aNXnqqacICwu76jXfffcd8+bNy3PM3d2dZcuW2bu6N2XVqlWsXr06z7GwsDBmzpx51Wt2797Np59+SlxcHCEhIfTo0YNGjRrZuaY378UXXyQuLi7f8TZt2tCrV698x8vaMz106BBffvklJ0+eJDExkaFDh9KkSZPcr+u6zqpVq9i6dStpaWnUqlWLXr16ERoaes1yN2/ezPr16zGbzYSHh9OzZ08iIiLsHc41XStWq9XKypUrOXDgALGxsRiNRurWrUv37t0JCgq6aplF+V4oCdd7rnPnzmXHjh15rqlfvz6jRo26Zrml8bnC9ePt0qVLgdc99dRTPPbYYwV+rbQ+2xv5XZOVlcWSJUvYtWsX2dnZ1K9fn169ehEQEHDVcov6ve4sJKEqRQ4dOsRDDz3ErbfeSk5ODitWrGD8+PFMnz79mhtSent7M2vWrBKsafGoUqUKo0ePzn2tqldvMP3zzz+ZNWsW3bt3p1GjRvz4449MmTKFSZMmUbVq1ZKobpG9/fbbeVYXPnXqFOPHj+fee++96jVl6ZlmZmZSrVo1WrVqxdSpU/N9fd26dXz11Ve8+OKLVKhQgU8//ZQJEyYwffp0PDw8Cixz165dLFmyhKioKGrUqMHGjRuZMGECM2fOxN/f394hXdW1Ys3KyuLkyZM88cQTVKtWjdTUVD766CMmT57MO++8c81yC/O9UFKu91wBGjRoQP/+/XNfGwzX/pVSWp8rXD/e999/P8/rAwcOMH/+fO6+++5rllsan+2N/K75+OOP2b9/P6+88gpGo5HFixczbdo03nrrrauWW5TvdWciCVUp8t9Pdi+++CK9evXixIkT1K5d+6rXKYpyzU8NpZWqqjdc702bNtGgQYPcT4Jdu3bl4MGDbN68md69e9uxljfPZDLleb127VoqVqzoNM+0YcOGNGzYsMCv6brOpk2b6NixI3fddRcAL730ElFRUezbt4/IyMgCr9uwYQOtW7emZcuWAERFRbF//362b99O+/bt7RLHjbhWrEajMc8vToCePXsycuRI4uPjCQ4Ovmq5hfleKCnXivUyg8FQqHqX1ucK14/3v3Hu27ePO+64g4oVK16z3NL4bK/3uyY9PZ1t27YxaNAg6tSpA0D//v15+eWXOXr0KDVr1sxXZlG/152JJFSlWHp6OgC+vr7XPM9isdC/f390XeeWW26hW7duVKlSpSSqeFNiYmLo06cP7u7u1KxZk+7du1/1l87Ro0dp165dnmP169dn3759JVHVYmO1Wvnhhx949NFHURTlqueV1Wf6X7GxsZjNZurVq5d7zGg0EhERwdGjRwv8IWu1Wjlx4kSeX7CqqlK3bl2OHj1aEtUuNunp6SiKgtFovOZ5hfleKE0OHTpEr1698PHxoU6dOnTt2hU/P78Cz3Wm52o2mzlw4AAvvvjidc8tC8/2v79rTpw4QU5ODnXr1s09p1KlSgQHB181oSrK97qzkYSqlNI0jY8++ojbbrvtml1aYWFh9OvXj/DwcNLT0/nyyy95/fXXmT59OuXKlSvBGhdOjRo16N+/P2FhYSQmJrJ69WrGjBnDtGnT8Pb2zne+2WzO1yXg7++P2WwuoRoXj71795KWlkaLFi2uek5ZfaYFufx8CvPskpOT0TQt36f6gIAAzp07Z4da2kdWVhbLli0jMjLymglVYb8XSosGDRpw9913U6FCBWJiYlixYgUTJ05kwoQJBXZrOctzBdixYwdeXl55xlgVpCw824J+15jNZgwGAz4+PnnOvdb3bVG+152NJFSl1OLFizl9+jRvvvnmNc+rWbNmnk8LNWvW5OWXX+abb76ha9eu9q5mkV3ZtB4eHp77g2f37t20atXKgTWzr+3bt9OgQYNrDlIuq89U/MtqtTJjxgyAAiceXKmsfi9c2eJQtWpVwsPDGTBgAH/88Ueelg1ntH37dpo3b37dcUFl4dne6O8acX2OHx0n8lm8eDH79+9n7NixhW6RMBgM3HLLLcTExNipdvbh4+NDWFjYVesdEBBAUlJSnmNJSUmlbmzCtcTFxfH777/TunXrQl1XVp8p/DvupDDPzmQyoapqvk+1ZrO5TDzvy8lUfHw8r7/++nW7+/7ret8LpVXFihXx8/O7ar3L+nO97PDhw5w7d65ICVFpe7ZX+10TEBCA1WolLS0tz/nX+r4tyve6s5GEqhTRdZ3Fixezd+9exowZQ4UKFQpdhqZpnDp1isDAQDvU0H4sFgsxMTFX/carWbMmBw8ezHPs999/p0aNGiVQu+Kxfft2/P39C73UQ1l9pgAVKlQgICAgz7NLT0/n+PHjBY7DAFsCWb16daKjo3OPaZpGdHT0Va8pLS4nUzExMYwePfqq44mu5XrfC6XVxYsXSU1Nver7tCw/1ytt27aN6tWrU61atUJfW1qe7fV+11SvXh03N7c837fnzp0jPj7+qs+qKN/rzka6/EqRxYsX8+OPPzJ8+HC8vb1zP8kZjcbcpuU5c+YQFBRE9+7dAVi9ejU1atQgJCSEtLQ0vvzyS+Li4grdClLSlixZQuPGjQkODiYxMZFVq1ahqirNmjUD8sf5yCOPMG7cONavX0+jRo3YuXMnf/31V6mf4XeZpml899133H///bi5ueX5Wll/ppd/SVwWGxvL33//ja+vL8HBwTzyyCN88cUXhIaGUqFCBVauXElgYGDuTCD+3979xtT4/3Ecfx7Ln3Kcb8zhFPkTmwxFRmGUmj/DZm5gTpkZbmAzs9GWLYXM/7ih6U62MBUzbsTQhDs0lK013HD8q9Q0TkfnFFrnd8Ncc+TfXP3qy/f12Fo753yuq8/nus7VefU5n/MO2LlzJ1OnTmX+/PkALFq0iGPHjhEZGcno0aO5dOkS79+//+Has67wo7GGhoZy+PBhnj59SlpaGu3t7cY1bLVajZICX4/1Z9dCd/nRWK1WK2fPniUuLo7Q0FAaGho4deoUDoeDmJgYY5s/5bzCz5/H8Ckg3Llzh5UrV35zH3/Kuf3Za01ISAhJSUkUFBRgtVoJCQkhPz+/w3KEzZs343Q6mTp1KhaL5Zeu9b+ZAtW/yNWrVwHIzMwMuH/Dhg3GL5zGxsaAT4c1NzeTl5eH2+2mb9++REZGsnv3boYOHdpV3f4tb9684ejRo7x79w6bzUZUVBTZ2dlGiYGvxzlmzBg2bdpEYWEhZ86cISwsjK1bt/7ra1B9VlVVRWNjo/Fx8S/96ef0yZMnZGVlGbcLCgoASEhIYOPGjSxevJj379+Tl5eHz+cjKiqK9PT0gPUnDQ0NeDwe4/b06dPxeDwUFxfjdrsZMWIE6enp3f6X/Y/GunTpUu7duwfAtm3bArbbsWMH48aNAzqO9WfXQnf50VjXrVvHixcvuHnzJl6vlwEDBhAdHc3y5cvp2bOnsc2fcl7h589j+FRHy+/3fzcQ/Snn9ldea1atWoXFYuHQoUO0tbUZhT2/VFdXZ3xCEPila/1vZvH7/f7u7oSIiIjIn0xrqERERERMUqASERERMUmBSkRERMQkBSoRERERkxSoRERERExSoBIRERExSYFKRERExCQFKhERERGTFKhE5K9XXFzMsmXLAqpYi4h0JgUqEREREZMUqERERERMUqASERERMSmouzsgIn+PN2/eUFhYSGVlJV6vF4fDwaJFi0hKSgKgurqarKwsNm/ezLNnzygrK6O1tZXx48ezZs0aBg4cGLC/27dvc+HCBWpqaujTpw8xMTGkpqYyYMCAgHa1tbUUFRVRXV1Na2srAwcOJD4+nhUrVgS08/l8nDx5krt37+L3+4mLi2PNmjX07t37/3tgROSvp0AlIp3C7Xazfft2AObNm4fNZuPBgwccP36clpYWFi5caLQ9f/48FouFxYsX4/F4KCkpYdeuXRw4cIBevXoBcOPGDXJzcxk1ahROp5OmpiYuXbrE48eP2b9/P3379gXg+fPnZGRkEBQURHJyMoMGDaK+vp779+93CFQ5OTnY7XacTicul4vr169js9lITU3toqMkIn8rBSoR6RSFhYW0t7dz8OBB+vXrB8DcuXM5cuQIZ8+eZc6cOUbb5uZmcnJyCA4OBmDkyJHk5ORQWlrKggULaGtr4/Tp00RERJCVlWWErKioKPbu3UtJSQnLli0DID8/H4B9+/YFzHClpKR06OOIESNYv359QD/KysoUqETENK2hEhHT/H4/5eXlTJ48Gb/fj8fjMb4mTpyIz+fD5XIZ7WfNmmWEKYD4+Hj69+9PZWUlAC6Xi6amJubNm2eEKYDY2FiGDBlCRUUFAB6Ph4cPHzJ79uwObxdaLJYO/fwy1MGngPbu3Tt8Pp/5gyAi/2maoRIR0zweD16vl9LSUkpLS7/b5vPbdGFhYQGPWSwWHA4Hr1+/BjC+h4eHd9hPeHg4jx49AqChoQGAiIiIX+rn16HLarUC4PV6CQkJ+aV9iIh8iwKViJjm9/sBmDlzJgkJCd9sM3z4cGpqarqyWx306PHtSfnP/RcR+V0KVCJims1mIzg4mPb2dqKjo7/b7nOgevXqVcD9fr+f+vp6hg0bBoDdbgegrq6O8ePHB7Stq6szHh88eDAAL1++7JyBiIj8Jq2hEhHTevToQVxcHOXl5bx48aLD41//y5dbt27R0tJi3L5z5w5v375l0qRJAERGRvLPP/9w7do1Pn78aLSrrKyktraW2NhY4FOQGzt2LGVlZTQ2Ngb8DM06iUhX0gyViHQKp9NJdXU127dvJzk5maFDh9Lc3IzL5aKqqooTJ04Yba1WKxkZGSQmJtLU1ERJSQkOh4Pk5GQAgoKCSElJITc3l8zMTGbMmIHb7eby5cvY7faAEgyrV68mIyODtLQ0o2zC69evqaio4MCBA11+HETkv0mBSkQ6RWhoKHv27OHcuXOUl5dz5coV+vXrR0RERIcSBkuWLOH58+dcuHCBlpYWJkyYwNq1awMKbCYmJtKrVy8uXrzI6dOn6d27N1OmTCE1NdVY3A6fSiFkZ2dTVFTEtWvX+PDhA3a7nWnTpnXZ2EVELH7Ni4tIF/lcKX3Lli3Ex8d3d3dERDqN1lCJiIiImKRAJSIiImKSApWIiIiISVpDJSIiImKSZqhERERETFKgEhERETFJgUpERETEJAUqEREREZMUqERERERMUqASERERMUmBSkRERMQkBSoRERERk/4HYPF0ETZt+zEAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 13.31it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 13.10it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 13.74it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 13.20it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"wikipedia on LK-99\n",
"{'before': 32.219017028808594, 'after': 28.852493286132812}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 13.45it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 12.86it/s]\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.5053, 'learning_rate': 0.0003333333333333333, 'epoch': 1.0}\n",
"{'eval_loss': 0.7548888921737671, 'eval_runtime': 0.0432, 'eval_samples_per_second': 23.134, 'eval_steps_per_second': 23.134, 'epoch': 1.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.4909, 'learning_rate': 0.0006666666666666666, 'epoch': 2.0}\n",
"{'eval_loss': 0.7530910968780518, 'eval_runtime': 0.0452, 'eval_samples_per_second': 22.101, 'eval_steps_per_second': 22.101, 'epoch': 2.0}\n",
"{'loss': 0.505, 'learning_rate': 0.001, 'epoch': 3.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 0.7560164332389832, 'eval_runtime': 0.0455, 'eval_samples_per_second': 21.979, 'eval_steps_per_second': 21.979, 'epoch': 3.0}\n",
"{'loss': 0.4813, 'learning_rate': 0.0013333333333333333, 'epoch': 4.0}\n",
"{'eval_loss': 0.7553694248199463, 'eval_runtime': 0.0462, 'eval_samples_per_second': 21.651, 'eval_steps_per_second': 21.651, 'epoch': 4.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.4292, 'learning_rate': 0.0016666666666666668, 'epoch': 5.0}\n",
"{'eval_loss': 0.7545289397239685, 'eval_runtime': 0.0438, 'eval_samples_per_second': 22.822, 'eval_steps_per_second': 22.822, 'epoch': 5.0}\n",
"{'loss': 0.4078, 'learning_rate': 0.002, 'epoch': 6.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 0.7601871490478516, 'eval_runtime': 0.0454, 'eval_samples_per_second': 22.049, 'eval_steps_per_second': 22.049, 'epoch': 6.0}\n",
"{'loss': 0.3897, 'learning_rate': 0.0018571428571428573, 'epoch': 7.0}\n",
"{'eval_loss': 0.7599422335624695, 'eval_runtime': 0.0453, 'eval_samples_per_second': 22.06, 'eval_steps_per_second': 22.06, 'epoch': 7.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.3686, 'learning_rate': 0.0017142857142857142, 'epoch': 8.0}\n",
"{'eval_loss': 0.770047128200531, 'eval_runtime': 0.0455, 'eval_samples_per_second': 21.956, 'eval_steps_per_second': 21.956, 'epoch': 8.0}\n",
"{'loss': 0.3446, 'learning_rate': 0.0015714285714285715, 'epoch': 9.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 0.7731327414512634, 'eval_runtime': 0.0478, 'eval_samples_per_second': 20.914, 'eval_steps_per_second': 20.914, 'epoch': 9.0}\n",
"{'loss': 0.3145, 'learning_rate': 0.0014285714285714286, 'epoch': 10.0}\n",
"{'eval_loss': 0.7693179249763489, 'eval_runtime': 0.0451, 'eval_samples_per_second': 22.166, 'eval_steps_per_second': 22.166, 'epoch': 10.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.3055, 'learning_rate': 0.0012857142857142859, 'epoch': 11.0}\n",
"{'eval_loss': 0.7710816264152527, 'eval_runtime': 0.0465, 'eval_samples_per_second': 21.489, 'eval_steps_per_second': 21.489, 'epoch': 11.0}\n",
"{'loss': 0.2886, 'learning_rate': 0.0011428571428571427, 'epoch': 12.0}\n",
"{'eval_loss': 0.775175154209137, 'eval_runtime': 0.0451, 'eval_samples_per_second': 22.171, 'eval_steps_per_second': 22.171, 'epoch': 12.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.2834, 'learning_rate': 0.001, 'epoch': 13.0}\n",
"{'eval_loss': 0.7782232165336609, 'eval_runtime': 0.0461, 'eval_samples_per_second': 21.704, 'eval_steps_per_second': 21.704, 'epoch': 13.0}\n",
"{'loss': 0.2713, 'learning_rate': 0.0008571428571428571, 'epoch': 14.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 0.781578004360199, 'eval_runtime': 0.0452, 'eval_samples_per_second': 22.101, 'eval_steps_per_second': 22.101, 'epoch': 14.0}\n",
"{'loss': 0.2506, 'learning_rate': 0.0007142857142857143, 'epoch': 15.0}\n",
"{'eval_loss': 0.780716598033905, 'eval_runtime': 0.0468, 'eval_samples_per_second': 21.367, 'eval_steps_per_second': 21.367, 'epoch': 15.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.248, 'learning_rate': 0.0005714285714285714, 'epoch': 16.0}\n",
"{'eval_loss': 0.7813991904258728, 'eval_runtime': 0.0446, 'eval_samples_per_second': 22.42, 'eval_steps_per_second': 22.42, 'epoch': 16.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.2436, 'learning_rate': 0.00042857142857142855, 'epoch': 17.0}\n",
"{'eval_loss': 0.7857518792152405, 'eval_runtime': 0.0498, 'eval_samples_per_second': 20.086, 'eval_steps_per_second': 20.086, 'epoch': 17.0}\n",
"{'loss': 0.2305, 'learning_rate': 0.0002857142857142857, 'epoch': 18.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 0.7873539328575134, 'eval_runtime': 0.0466, 'eval_samples_per_second': 21.473, 'eval_steps_per_second': 21.473, 'epoch': 18.0}\n",
"{'loss': 0.229, 'learning_rate': 0.00014285714285714284, 'epoch': 19.0}\n",
"{'eval_loss': 0.7843477725982666, 'eval_runtime': 0.0523, 'eval_samples_per_second': 19.127, 'eval_steps_per_second': 19.127, 'epoch': 19.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.2195, 'learning_rate': 0.0, 'epoch': 20.0}\n",
"{'eval_loss': 0.7839252948760986, 'eval_runtime': 0.0532, 'eval_samples_per_second': 18.81, 'eval_steps_per_second': 18.81, 'epoch': 20.0}\n",
"{'train_runtime': 3.6325, 'train_samples_per_second': 198.211, 'train_steps_per_second': 5.506, 'train_loss': 0.3403413608670235, 'epoch': 20.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 12.45it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 12.02it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 12.14it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 11.73it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"I have a dream\n",
"{'before': 2.127256393432617, 'after': 2.123436212539673}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 11.77it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 11.18it/s]\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8084, 'learning_rate': 0.0003333333333333333, 'epoch': 1.0}\n",
"{'eval_loss': 2.0325565338134766, 'eval_runtime': 0.0752, 'eval_samples_per_second': 13.293, 'eval_steps_per_second': 13.293, 'epoch': 1.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7944, 'learning_rate': 0.0006666666666666666, 'epoch': 2.0}\n",
"{'eval_loss': 2.031243085861206, 'eval_runtime': 0.0765, 'eval_samples_per_second': 13.072, 'eval_steps_per_second': 13.072, 'epoch': 2.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7712, 'learning_rate': 0.001, 'epoch': 3.0}\n",
"{'eval_loss': 2.0322251319885254, 'eval_runtime': 0.0756, 'eval_samples_per_second': 13.22, 'eval_steps_per_second': 13.22, 'epoch': 3.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.781, 'learning_rate': 0.0013333333333333333, 'epoch': 4.0}\n",
"{'eval_loss': 2.0296175479888916, 'eval_runtime': 0.081, 'eval_samples_per_second': 12.35, 'eval_steps_per_second': 12.35, 'epoch': 4.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7462, 'learning_rate': 0.0016666666666666668, 'epoch': 5.0}\n",
"{'eval_loss': 2.029218912124634, 'eval_runtime': 0.0763, 'eval_samples_per_second': 13.106, 'eval_steps_per_second': 13.106, 'epoch': 5.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7054, 'learning_rate': 0.002, 'epoch': 6.0}\n",
"{'eval_loss': 2.029827117919922, 'eval_runtime': 0.0758, 'eval_samples_per_second': 13.192, 'eval_steps_per_second': 13.192, 'epoch': 6.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6704, 'learning_rate': 0.0018571428571428573, 'epoch': 7.0}\n",
"{'eval_loss': 2.0316803455352783, 'eval_runtime': 0.0777, 'eval_samples_per_second': 12.869, 'eval_steps_per_second': 12.869, 'epoch': 7.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6434, 'learning_rate': 0.0017142857142857142, 'epoch': 8.0}\n",
"{'eval_loss': 2.034038782119751, 'eval_runtime': 0.076, 'eval_samples_per_second': 13.156, 'eval_steps_per_second': 13.156, 'epoch': 8.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6142, 'learning_rate': 0.0015714285714285715, 'epoch': 9.0}\n",
"{'eval_loss': 2.032022714614868, 'eval_runtime': 0.0799, 'eval_samples_per_second': 12.509, 'eval_steps_per_second': 12.509, 'epoch': 9.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.5884, 'learning_rate': 0.0014285714285714286, 'epoch': 10.0}\n",
"{'eval_loss': 2.0296545028686523, 'eval_runtime': 0.0763, 'eval_samples_per_second': 13.113, 'eval_steps_per_second': 13.113, 'epoch': 10.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.557, 'learning_rate': 0.0012857142857142859, 'epoch': 11.0}\n",
"{'eval_loss': 2.0316550731658936, 'eval_runtime': 0.076, 'eval_samples_per_second': 13.151, 'eval_steps_per_second': 13.151, 'epoch': 11.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.5349, 'learning_rate': 0.0011428571428571427, 'epoch': 12.0}\n",
"{'eval_loss': 2.029772996902466, 'eval_runtime': 0.0757, 'eval_samples_per_second': 13.208, 'eval_steps_per_second': 13.208, 'epoch': 12.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.5141, 'learning_rate': 0.001, 'epoch': 13.0}\n",
"{'eval_loss': 2.031522750854492, 'eval_runtime': 0.0775, 'eval_samples_per_second': 12.908, 'eval_steps_per_second': 12.908, 'epoch': 13.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.4971, 'learning_rate': 0.0008571428571428571, 'epoch': 14.0}\n",
"{'eval_loss': 2.026484251022339, 'eval_runtime': 0.0767, 'eval_samples_per_second': 13.042, 'eval_steps_per_second': 13.042, 'epoch': 14.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.4837, 'learning_rate': 0.0007142857142857143, 'epoch': 15.0}\n",
"{'eval_loss': 2.0277669429779053, 'eval_runtime': 0.0749, 'eval_samples_per_second': 13.344, 'eval_steps_per_second': 13.344, 'epoch': 15.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.4651, 'learning_rate': 0.0005714285714285714, 'epoch': 16.0}\n",
"{'eval_loss': 2.02577543258667, 'eval_runtime': 0.0776, 'eval_samples_per_second': 12.879, 'eval_steps_per_second': 12.879, 'epoch': 16.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.4688, 'learning_rate': 0.00042857142857142855, 'epoch': 17.0}\n",
"{'eval_loss': 2.025529623031616, 'eval_runtime': 0.0776, 'eval_samples_per_second': 12.888, 'eval_steps_per_second': 12.888, 'epoch': 17.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.4465, 'learning_rate': 0.0002857142857142857, 'epoch': 18.0}\n",
"{'eval_loss': 2.0272207260131836, 'eval_runtime': 0.0803, 'eval_samples_per_second': 12.458, 'eval_steps_per_second': 12.458, 'epoch': 18.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.4396, 'learning_rate': 0.00014285714285714284, 'epoch': 19.0}\n",
"{'eval_loss': 2.025996446609497, 'eval_runtime': 0.077, 'eval_samples_per_second': 12.985, 'eval_steps_per_second': 12.985, 'epoch': 19.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.4348, 'learning_rate': 0.0, 'epoch': 20.0}\n",
"{'eval_loss': 2.0273077487945557, 'eval_runtime': 0.0767, 'eval_samples_per_second': 13.032, 'eval_steps_per_second': 13.032, 'epoch': 20.0}\n",
"{'train_runtime': 4.7556, 'train_samples_per_second': 151.4, 'train_steps_per_second': 4.206, 'train_loss': 0.59822296500206, 'epoch': 20.0}\n"
]
},
{
"data": {
"image/png": "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pUsDueWWotOHeXmFo2DunFoEKZAqBMCcOXNYt24dR44cwWq1kpCQwODBg4mLizvn49auXcvMmTNJSUkhJiaGO+64g7Zt27q+P2vWLNasWcOJEydcu+8MGjSIZs2auY7JzMzkk08+YcOGDSil6NixI/feey+BgWWv5ycjXaJMgoJwlVHwtylG59Ri3765mKr455kKDkEb+SLUqA0pyY6q9V7eLsg5xXiuZHpvV6E/F+cqxuIKpa5aFcCpU45cwA4d3Buwy0iXELBjxw769OnD+PHjGTNmDHa7nXHjxpGbW/J7x86dO3n33Xfp3r07EyZMoH379kycOJGDBw+6jomLi2PIkCG8+eabvPzyy9SqVYtx48aRnp7uOua///0vhw4dYsyYMTz77LP8/ffffPjhh+Vqv98FXUopv//nrX6ePsXoL33VdeVKkr7mmly/eF61qBqYnngFVSsGlZKMMe1tsNu81q8uXRzB+oYNVvLzz+7vkSNm/v67sAq9N5+D4v716+cIGletCiQ7WyvyvZ9+Cgbg2mtzMJvd+9zWq+coFnvkiMnrP5Nz/asu78PVsb/u6KtTTk4O2dnZrn8FJdQnGj16NF27dqV+/fo0bNiQhx56iOPHj7N3794S44IFCxbQpk0brrvuOurVq8egQYNo3LgxixYtch1z+eWXc/HFF1OnTh3q16/PXXfdRU5ODgcOHADg8OHD/PXXXzz44IM0a9aMFi1aMGTIENasWcPJkyfPGZeczq+mF6OivDeN4mkxMTEev2afPvDhh7BpUwixsSEeu647+/rLL5CSApGRcOONNbw+tVVpfY2Nhc98o25XTAzUqQNHjyoOHIjlqqtO/14M333n+H/nzooLL/T867o0MTHQtCns3q3YtCmGm2923J+dDYsXO/5/332hxMaGlnKe8+ubcwbjxAkTERGxBAef1+ncyhvvT95Unfrrrr6OHTuWffv2uW7fdNNN3HLLLaU+LjvbMZIfGlry79+uXbvo379/kftat27Nn3/+WezxNpuNpUuXEhwcTHx8vOscISEhNGnSxHVcq1atUEqxe/duOnToUGpbwc+CrtTU1HMOMfoDpRQxMTEkJydjeDijvUkTDajD9u0G//xzlIgI917fE32dPj0cCKFXr2xOnDjllmuUhbv6auzYjP7RG2C3o7pdjRp4V5G/Lj2lY8dIfvopiJ9+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q1bcfvvtREdHu86RmJjIl19+yc6dO7HZbDRo0IBbb72Viy66qMztL9ffQWazmcaNG7Nt2zbXfbqus23btiKjWeei6zoHDx4853DiiRMnyMzMrFZDjkIIz1K1Y9GefQMuvATy89Hffx19/qwq/Ve82QwxMbIHo/BfO3bsoE+fPowfP54xY8Zgt9sZN27cOVOLdu7cybvvvkv37t2ZMGEC7du3Z+LEiRw8eBCA/Px89u3bx4033siECRN48sknSUxM5I033ihyngkTJmC323nhhRd4/fXXiY+PZ8KECWcNRJ1LuacX+/fvz3vvvUfjxo1p2rQpCxYsIC8vj65duwIwefJkoqOjuf322wGYPXs2zZo1IyYmhqysLH766SdSUlLo0aMH4Eiy//bbb+nYsSORkZEcPXqUL7/8kpiYGFq3bl3e5vn9yorqtIJE+uq/fKW/KiQU9eiLGD98gbFyEfw8B04cg9sfQFmslXMND/e1bl2dI0fgyBEzl15q88g1nXzlefWU6tRfd/c1JyenyB88JaURnVm/86GHHmLo0KHs3buXli1bFnvuBQsW0KZNG6677joABg0axNatW1m0aBH3338/wcHBPP/880UeM2TIEEaNGsXx48epWbMm6enpJCUl8eCDDxIfHw/AHXfcweLFizl48GDZZ/vKdNRpOnfuTHp6OrNmzSItLY2GDRsyatQo1wWPHz9e5EnJzMzkww8/JC0tjZCQEBo3bsy4ceOoV68e4EiCP3jwIKtWrSIrK4vo6Gguvvhibr311hLztkpSnUbGqtMKEumr//KZ/j78nOOfG3mqr82awbp1kJERRWysRy55Fp95Xj2kOvXXXX0dO3Ys+/btc92+6aabuOWWW0p9XHZ2NgChoaElHrNr164ii+/AUYD9zz//POd5lVIEBztWAYeFhREXF8eqVato1KgRFouFJUuWEBERQePGjUttp1OFEun79u1L3759i/3e2LFji9y+5557uOeee0o8l9VqrbTK87J60b9IX/2Xr/bX2LkN/ZO3IDsbomqiPfA0qm78eZ3T032Njg4DQtmxI4ukpHS3X+90vvq8ukt16q+7Vy+OHTv2rJGu0ui6zmeffUbz5s1p0KBBicelpaWdVbw9IiKixGnB/Px8vvrqK7p06eIKupRSPP/880ycOJG7774bpRQRERGMGjXqnAHfmfyubLG/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",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 11.84it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 11.40it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 11.39it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 10.84it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"AI gen fake paper\n",
"{'before': 7.6328349113464355, 'after': 7.5795063972473145}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 11.54it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 10.87it/s]\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.1582, 'learning_rate': 0.0003333333333333333, 'epoch': 1.0}\n",
"{'eval_loss': 3.388429641723633, 'eval_runtime': 0.0802, 'eval_samples_per_second': 12.475, 'eval_steps_per_second': 12.475, 'epoch': 1.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.1689, 'learning_rate': 0.0006666666666666666, 'epoch': 2.0}\n",
"{'eval_loss': 3.3883776664733887, 'eval_runtime': 0.083, 'eval_samples_per_second': 12.054, 'eval_steps_per_second': 12.054, 'epoch': 2.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.1657, 'learning_rate': 0.001, 'epoch': 3.0}\n",
"{'eval_loss': 3.383607864379883, 'eval_runtime': 0.081, 'eval_samples_per_second': 12.342, 'eval_steps_per_second': 12.342, 'epoch': 3.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.1466, 'learning_rate': 0.0013333333333333333, 'epoch': 4.0}\n",
"{'eval_loss': 3.3813862800598145, 'eval_runtime': 0.0802, 'eval_samples_per_second': 12.474, 'eval_steps_per_second': 12.474, 'epoch': 4.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.1253, 'learning_rate': 0.0016666666666666668, 'epoch': 5.0}\n",
"{'eval_loss': 3.3783440589904785, 'eval_runtime': 0.0805, 'eval_samples_per_second': 12.416, 'eval_steps_per_second': 12.416, 'epoch': 5.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.0923, 'learning_rate': 0.002, 'epoch': 6.0}\n",
"{'eval_loss': 3.369931221008301, 'eval_runtime': 0.0812, 'eval_samples_per_second': 12.315, 'eval_steps_per_second': 12.315, 'epoch': 6.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.0774, 'learning_rate': 0.0018571428571428573, 'epoch': 7.0}\n",
"{'eval_loss': 3.365234136581421, 'eval_runtime': 0.0817, 'eval_samples_per_second': 12.241, 'eval_steps_per_second': 12.241, 'epoch': 7.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.035, 'learning_rate': 0.0017142857142857142, 'epoch': 8.0}\n",
"{'eval_loss': 3.3629069328308105, 'eval_runtime': 0.0793, 'eval_samples_per_second': 12.603, 'eval_steps_per_second': 12.603, 'epoch': 8.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.0034, 'learning_rate': 0.0015714285714285715, 'epoch': 9.0}\n",
"{'eval_loss': 3.3572800159454346, 'eval_runtime': 0.0809, 'eval_samples_per_second': 12.358, 'eval_steps_per_second': 12.358, 'epoch': 9.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.9772, 'learning_rate': 0.0014285714285714286, 'epoch': 10.0}\n",
"{'eval_loss': 3.3547165393829346, 'eval_runtime': 0.083, 'eval_samples_per_second': 12.053, 'eval_steps_per_second': 12.053, 'epoch': 10.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.9588, 'learning_rate': 0.0012857142857142859, 'epoch': 11.0}\n",
"{'eval_loss': 3.351543426513672, 'eval_runtime': 0.0802, 'eval_samples_per_second': 12.47, 'eval_steps_per_second': 12.47, 'epoch': 11.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.941, 'learning_rate': 0.0011428571428571427, 'epoch': 12.0}\n",
"{'eval_loss': 3.3515827655792236, 'eval_runtime': 0.0806, 'eval_samples_per_second': 12.41, 'eval_steps_per_second': 12.41, 'epoch': 12.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.9232, 'learning_rate': 0.001, 'epoch': 13.0}\n",
"{'eval_loss': 3.351295232772827, 'eval_runtime': 0.0825, 'eval_samples_per_second': 12.124, 'eval_steps_per_second': 12.124, 'epoch': 13.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.9052, 'learning_rate': 0.0008571428571428571, 'epoch': 14.0}\n",
"{'eval_loss': 3.34902286529541, 'eval_runtime': 0.0869, 'eval_samples_per_second': 11.505, 'eval_steps_per_second': 11.505, 'epoch': 14.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8889, 'learning_rate': 0.0007142857142857143, 'epoch': 15.0}\n",
"{'eval_loss': 3.3556995391845703, 'eval_runtime': 0.0852, 'eval_samples_per_second': 11.736, 'eval_steps_per_second': 11.736, 'epoch': 15.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8808, 'learning_rate': 0.0005714285714285714, 'epoch': 16.0}\n",
"{'eval_loss': 3.3538990020751953, 'eval_runtime': 0.0835, 'eval_samples_per_second': 11.97, 'eval_steps_per_second': 11.97, 'epoch': 16.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8652, 'learning_rate': 0.00042857142857142855, 'epoch': 17.0}\n",
"{'eval_loss': 3.3535618782043457, 'eval_runtime': 0.0798, 'eval_samples_per_second': 12.533, 'eval_steps_per_second': 12.533, 'epoch': 17.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.868, 'learning_rate': 0.0002857142857142857, 'epoch': 18.0}\n",
"{'eval_loss': 3.3534038066864014, 'eval_runtime': 0.083, 'eval_samples_per_second': 12.046, 'eval_steps_per_second': 12.046, 'epoch': 18.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8547, 'learning_rate': 0.00014285714285714284, 'epoch': 19.0}\n",
"{'eval_loss': 3.3547372817993164, 'eval_runtime': 0.0825, 'eval_samples_per_second': 12.119, 'eval_steps_per_second': 12.119, 'epoch': 19.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8467, 'learning_rate': 0.0, 'epoch': 20.0}\n",
"{'eval_loss': 3.352417469024658, 'eval_runtime': 0.0797, 'eval_samples_per_second': 12.54, 'eval_steps_per_second': 12.54, 'epoch': 20.0}\n",
"{'train_runtime': 5.4487, 'train_samples_per_second': 132.142, 'train_steps_per_second': 3.671, 'train_loss': 0.9941257268190384, 'epoch': 20.0}\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAl0AAAG2CAYAAABF6TP3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAACaf0lEQVR4nOzdd3hURffA8e/cbJLd9EYawSAiFkRAEX1BupWigBGkKAIqCgIq2EAUUFRAERUQ7ETai2joYqy8KOWngEJEihSREkIqCam79/7+WFmJJJBAkt3sns/z5CG7mXv3HO4mOZmZO6MMwzAQQgghhBDVSnN2AEIIIYQQnkCKLiGEEEKIGiBFlxBCCCFEDZCiSwghhBCiBkjRJYQQQghRA6ToEkIIIYSoAVJ0CSGEEELUACm6hBBCCCFqgBRdQgghhBA1QIouIYQQQogaYHJ2AEIIIYQQFZGcnExycjLHjx8HIC4ujoSEBJo3b15m+02bNpGUlERqaio2m43o6Gi6detG27ZtHW2ys7OZP38+27Zt4+TJk1xxxRUMGjSImJgYR5vi4mISExNZv349JSUlNG3alAceeICQkJBKxa/cbe/FvLw8SkpKnB1GtQoNDSUrK8vZYdQIydV9eVK+kqv78qR8qytXb29vAgICKtT2559/RtM0YmJiMAyDtWvXsnz5cqZMmUK9evXOaP/bb79x8uRJYmNjMZlMbNmyhcTERJ555hmaNWuGYRg899xzmEwm7r33Xvz8/Fi5ciW//PIL06ZNw2w2A/Dee++xZcsWhg0bhp+fHx988AGapvHiiy9WKle36+kqKSmhoKDA2WFUG6UUAIWFhbhZvXwGydV9eVK+kqv78qR8XSXXFi1alHrcp08fkpOT2bNnT5lFV+PGjUs97ty5M2vXrmXnzp00a9aMo0ePsmfPHl5//XXH8Q888AAPPfQQP/74I506dSI/P59vv/2WkSNHctVVVwEwdOhQHn/8cXbv3k2jRo0qHL/bFV3wz5vDHZ3KzZ1zPEVydV+elK/k6r48Kd+ayLWgoKBUQeft7Y23t3e57XVdZ8OGDRQVFVWo8DEMg5SUFI4cOUK/fv0AsFqtjtc6RdM0vL292blzJ506dWLfvn3YbDaaNGniaFO3bl0iIiKk6AoNDXV2CDUiOjra2SHUGMnVfXlSvpKr+/KkfKsz1/Hjx7N//37H44SEBHr16nVGu4MHDzJ27FhKSkowm82MHj2auLi4cs+bn5/PkCFDsFqtaJrG4MGDufrqqwGIjY0lIiKCBQsW8NBDD2E2m1m5ciUZGRlkZ2cD9jlfJpMJf3//UucNDg52tKkotyu6srKyKCwsdHYY1UYpRXR0NKmpqR7RnS25uidPyldydV+elG915mo2mwkNDWX8+PFn9HSVJTY2lqlTp5Kfn8/GjRuZOXMmEyZMKLfwMpvNTJ06lcLCQrZv305iYiJRUVE0btwYk8nE6NGjeeeddxg0aBCaptGkSROaN29eLdfU7YouwO3f/GDP0RPyBMnVnXlSvpKr+/KkfKszV4vFUqF2JpPJ0ePWoEED9u7dy+rVq3nooYfKbK9pmqN9/fr1OXz4MEuXLnXM92rQoIGjiLNarQQFBTFmzBgaNGgAQEhICFarlZMnT5bq7crJyan03YtuWXQJIYQQ1cFqtZKfn+94XFBQQHFxsRMjqjkXkqufnx8mU/WUHLquV2rVgvLa+/n5AXD06FH27t1L7969AXtR5uXlxfbt27nhhhsAOHLkCOnp6ZWazwVSdAkhhBAVcqq3IzAwEE2zry3u7e3t9ssUnXK+ueq6Tm5uLv7+/hdceC1YsIBmzZoRERFBYWEhP/zwAzt27GDs2LEAzJgxg7CwMPr27QtAUlISl1xyCVFRUZSUlLB161bWrVvHAw884Djnhg0bCAoKIiIigoMHD/Lxxx9z3XXX0bRpU8BejHXs2JHExEQCAgLw8/Pjww8/pFGjRlJ0CSGEENUhPz+/VMElKkbTNAIDA8nLyyMoKOiCzpWTk8PMmTPJysrCz8+P+Ph4xo4d65gYn56eXuoOy6KiIt5//30yMjLw8fGhbt26DB8+nFatWjnaZGVlkZiYSHZ2NqGhobRt25aEhIRSrztgwACUUrz++utYrVbH4qiV5XaLo2ZlZbn9Ol0xMTEcPXrU7ecQSK7uy5PylVzdx4kTJ84oGqSnq+LK+v8D+1wuT1l5QMp1IYQQQogaIEWXEEIIIUQNkKJLCCGEEKIGSNElhBBCiAtisVg8amX+8yV3L57D4cNeAJhMBiaT/V9v73/+vdBtqIyiIjB0lLlii8IJIYQQonaSousc7rgjgtRUr3K/rmmli7DTizOTCby9y37sbRThlXUU7+xUbon8jrsb/wh1YlCRMfD3h4qMgTrRKL+AGsxYCCGEENVBiq5z8PY28PExsFpB18/s1tJ1RVERFBVVtsvLFwgCLuPrY61pEtSPy3N2YPyxw9HCccN1QJCjCFORsZxsdAWGjwWjTjT4B3rEDvdCCOFqDANOngSrteZ/BlssRqVHWk4t7Onl5YXVaiU3N5fCwkKioqLIzc0ttdK+yWSiTp06pKWlYbPZ8Pf3x9/fH03TMAyDwsJCTpw44ZZLg1QnKbrOYePGNMfnug4lJfZvMKvV/m9FH5ccPEjxpg1Y9x/AapiwGl5YYy9hWVo31m0OZ3z+HBaN+hJ1/CikHcVIOwrHj0JOFuSdgLwTGPt2YQCZpwfo5192D1lkDASGSEEmhBDVpKBAcemldZzy2nv2HMXPr+IFT0BAABaLhZycHKxWKz4+PoSGhpKRkUFBQQEWi6VU0eXn50dxcTE2m83xXF5eHkVFRXh5eREcHExQUBA5OTlVmpe7k6KrEjQNfH3B1/fUG/3sb3jDMGD7z+hfLIE/frc/GauhWrRG3dYTddEl3PiXlfbtDdZvCWHN8Zvp0qWw9DkK8+H4sVKFmE92OkWH/oSsDMg/CX/+gfHnH/8cc+oTXwtExaJu64l2XZuq+U8QQghR6wQEBJCRkeFY3LSgoAAfHx/8/PzIy8ujTp06eHl5OYosi8VCbm6u4/iTJ0/i7e2NzWbDZrORm5tLcHCwFF2VJEVXNTBsNoyf1mGs+QwO/2l/0mRCteqEurUHKjLW0bZePRuPPJLHG28EMnFiEB07FnL6RuvK7Af1LoZ6F6Owr/gc+feKz3phIaSn/lOQpR3F+LunjMzjUFQAB/divDsV/dCfqDv7omT7CiGEqBIWi8H+/cexWq1Oee2KMplMaJpGeHh4qeeVUpSUlGC1WrFarVgsFvLy8vDx8UHTtFK7u/j4+BAUFISXlxdKqVIfMsRYcVJ0VSGjuAjjx28wvvwcMv4elvS1oNrfhrrpTlRIWJnHDRuWx3//a+HQIROzZwfw+ON5FXo95esLdeOhbjz/HkQ0Skog/RjGD19hJCdhrF6McewQ2sDH7ccJIYS4IEqBvz+UlLh20XFqmklmZmap4ULAUTCdGmLMy8vDYrFQVFTk+JqXlxfh4eEUFBSQk5ODruuO4UlROVJ0VQEjPw/j+y8wvl4OuX93tQYGozp1Q7XvjPI/+92HFovBc8+dYOjQMGbMCKBXrwLq1rWd9ZhzUd7eEBOHunsgeuxFGJ/MhM3r0dPT0IaNRYWGn/skQgghaj2r1YphGHh5eVFcXFxmm4KCAgIDA/H29sZisZCdne34mre3N2AfYjw1POnlVf5d/aJ8UnRdACMnC+Pr5Rhrv4CCvycghkfahxBb3VSpHqU77igkMbGIjRt9efHFIGbPzqqyOLXWnTDqRKO/8zL8+Qf6y6PQHn0OFd+wyl5DCCGEazIMg7y8PMdm08XFxWiaho+PD7quU1BQgM1mo7i4mJCQEAAKC/+ZX2y1WlFKYbFYHL1c/v7+zkil1pMJPufBSDuKPm8W+jMP2OdtFeRD7EWowY+jvTQbrUOXSg/hKQUTJ+agaQYrVljYsMGnSmNWjRqjjXkdYupBdib6lGcwNq+v0tcQQgjhmnJzc8nLyyMgIIDIyEjCwsLw9fUtNdxYUFCAt7d3qYIL7EVXTk4OFouFOnXqYLFYOHHiRE2n4Bakp6sSjL/2Y3yxBOPnH8HQ7U9ecjna7XdDk2sveJJ648ZW+vfPJzHRn3Hjglmz5jimKrxCqk402jNT0N+bCilb0Ge/iureH9X5bllaQggh3NzJkyc5efJkuV/Pz88vtWzEv48tLi52DC8CpSbaFxQUlHosyiZF1zkYhgF7fkP/4jNI2fzPF5q0QLvtLrj0yiotWJ588gTLl1v4/Xdv5s/3Y8CAsr8Bzpfy80d7dBzGpx9ifLMCY+k8SD0E9z2K8q7a3jUhhBBC/EOKrrMwck+gz3wJ9u60P6E01HU3om67C1Xv4mp5zbAwg9GjT/DccyFMmRLEHXcUEBpatXfGKC8v1D0PokfHYSycg7Hxe4zjqWhDx6CCQqr0tYQQQghhJ3O6ziYgEIqKwOSNancb2kvvoD04utoKrlPuvTefyy8vITtb47XXgqrtdbT2t6ONHG9f1X7vTvSXR2McOlBtryeEEEJ4Mim6zkIphTZwJNor76H1H2rfXqcGmEz2SfUAiYl+/P579XVIqiuboT071b5tUEYa+qtPY2z7qdpeTwghhPBUUnSdg7qoQbmLmlan1q2L6dKlAF1XjBsXTHUu+Kui4+yF12VNoKgAfcYk9K+WySrDQgjxL7quOzuEWkn+3+yk6HJhzz9/ArPZYMMGX1atMlfra6mAILTHxqPa3AKGjrH4A4xPZmJYS859sBBCeAA/Pz9yc3OlgKgkXdfJzc3Fz8/P2aE4nUykd2FxcaX3ZezUqYjqfM8qkzfcOwxi6tnvblyXjJF2FO2RZ1D+gdX3wkIIUQuYTCb8/f3Jy/tnqzYfH59yV3l3NxeSq7+/P6aqXAOplqr0/8COHTtYvnw5+/fvJysri9GjR9OyZcty22dlZZGYmMi+fftITU3l9ttv5/777y/V5vvvv2fWrFmlnvP29mb+/PmVDc/tnNqX8fBhE++848+oUeWvsVIVlFKom+/EiIpFf/c12LUd/eXRaMPHoaLjqvW1hRDC1ZlMJsfK7kopYmJiOHr0qNtPx/CkXKtTpYcXi4qKqF+/PoMHD65Q+5KSEoKCgujZsyfx8fHltrNYLLz77ruOj5kzZ1Y2NLdksRiMG2df+XfmzEAOHaqZ/a7U1dehPTMZwiMh7Sj6K09i7PilRl5bCCGEcEeVLrqaN2/OPffcc9berdNFRkYycOBA2rVrd9bxXKUUISEhpT6EXbduhfznP0UUFipefLHmhvlUXH20Ma/BJZdD/kn0N8ejf/9Fjb2+EEII4U5cZoC1sLCQoUOHYhgGF198MX369KFevXrlti8pKSm1HYGmaZjN9snm7raljVLw4osnuOWWCFassPD993D55TWTowoORY2ehP7x2xibvseY/w566iG0XoNR1bzL/Knr6G7XsyyelCt4Vr6Sq/vypHw9Kdfq5BJFV2xsLI888gjx8fHk5+ezfPlynnvuOaZNm0Z4eHiZxyQlJbFkyRLH49atWzNy5EhCQ0NrKuwaFRMDQ4bAO+/AyJGweXN0le7LeC7GuKnkLv6InMRZGN+swDs7g/CnX0bzD6j2146Ojq7213AVnpQreFa+kqv78qR8PSnX6uASRVejRo1o1KhRqcePP/44X331Fffcc0+Zx/To0YOuXbs6Hmt/bzadlZV1xg7p7mLYMMXChZFs26bx2ms5Vb4v4zm1vR3NPwj9g2kUbl7P4cfuxWv486g61fNNqJQiOjqa1NRUt5+46Um5gmflK7m6L0/KtzpzNZvNbtth8m8uUXT9m8lk4uKLLyY1NbXcNt7e3nh7e5f5NXd984eGGjz5ZC5jxwYzZUog3brlV/m+jOeirmmFFh6JPuMlOPIXtkmj7Hc2Nris2l7TMAy3vab/5km5gmflK7m6L0/K15NyrQ4uuTiqruscPHjQYyrfyrj33nyaNIGsrOrdl/FsVHxDtLGvQ3xDyDuBPm0cxu+/OiUWIYQQoraodNFVWFjIgQMHOHDgAABpaWkcOHCA9PR0ABYsWMCMGTNKHXOqfWFhISdOnODAgQMcOnTI8fUlS5bw66+/cuzYMfbt28dbb73F8ePH6dSp0wWk5p5MJnjzTfvniYl+7NjhnM5KFRKONnoSXNEUigrR35qA8ctGp8QihBBC1AaV/o29d+9eJkyY4HicmJgIQLt27Rg2bBhZWVmOAuyUp556yvH5vn37+OGHH6hTp45jLa68vDzmzJlDdnY2/v7+NGjQgJdeeom4OFmMsywdOkDXrgWsXGnh+eeD+fTTDJxxQ4kyW9CGP4/+3lTYuhH9nVdR949E+0+Hmg9GCCGEcHHKcLPB2aysLAoKCpwdRrU5tSrwTz+l0bZtHQoLFbNnZ9Ktm/NuHjBsNoy5b2Ns+NYeY5+H0Dp2PcdR5+ZJKyB7Uq7gWflKru7Lk/KtzlwtFkuFpxMlJyeTnJzM8ePHAYiLiyMhIYHmzZuX2X7Tpk0kJSWRmpqKzWYjOjqabt260bZtW0ebwsJC5s+fz08//URubi6RkZHcfvvt3HLLLY4248ePZ8eOHaXOfdNNN/HQQw9VKleXnEgvzi0uzsbQoXlMmxbIiy8GcdNNRVgszvmmV15ecP8I8PPH+GYFxsJ30fNPorr0kjVdhBBCVJmwsDD69u1LTEwMhmGwdu1apkyZwpQpU8pc2zMgIICePXsSGxuLyWRiy5YtzJo1i6CgIJo1awbA3LlzSUlJYfjw4dSpU4dt27bx/vvvExYWRosWLRzn6tSpE71793Y89vHxqXT8bll0ufMv+tMXqBs6NI9Fi/z+3pcxgFGj8s5xdDXG5eWFcc+DGMGhGF98BslLwVYCd/Y/7+vhSYvxeVKu4Fn5Sq7uy5PyrYlcCwoKSvWilbVKwelFEECfPn1ITk5mz549ZRZdjRs3LvW4c+fOrF27lp07dzqKrt27d9OuXTtH25tuuomvvvqKP/74o9Tr+fr6XvBuOW5XdHnKHY+nFqibPh169bLvyzh8eCBn2d6yZgweYf+oQp60GJ8n5Qqela/k6r48Kd/qzHX8+PHs37/f8TghIYFevXqV217XdTZs2EBRUVGptT7LYxgGKSkpHDlyhH79+jmeb9SoEZs3b6Zjx46Ehoby22+/cfToUQYMGFDq+HXr1rFu3TpCQkK49tprueuuu/D19a1Ujm45p8tdF0eFMxeoMwxISAhjwwZfunUrYM6cbGeHCIC+8XuMBe+CoaOaX4+671GUqex11cojCw+6L0/KV3J1X56Ub00sjlqRni6AgwcPMnbsWEpKSjCbzYwYMYJrrrmm3PPn5+czZMgQrFYrmqYxePBgOnbs6Ph6SUkJc+bM4X//+x9eXl4opRgyZAjt2rVztPn666+JiIggLCyMP//8k/nz59OwYUNGjx5dqVzdrqcL3Hdx1NOdvkDdxIk53HprHVassHDvvSdp3brYydGBur4deHujv/saxvpvIScL7ZFnUb7mSp/Lkxbj86RcwbPylVzdlyflW525WiyWCrWLjY1l6tSp5Ofns3HjRmbOnMmECRPKXfHAbDYzdepUCgsL2b59O4mJiURFRTmGE7/44gv27NnDU089RZ06dfj999/54IMPCA0N5eqrrwbsQ46nXHTRRYSGhjJx4kRSU1Mr1fvnkoujisq58kor995r3xLohReCsVqdHNDf1DWt0IaPAx9f+G0r+vQXMPKdN+9MCCFE7WcymYiOjqZBgwb07duX+vXrs3r16nLba5pGdHQ09evXp1u3btxwww0sXboUgOLiYhYuXMiAAQNo0aIF8fHx3HbbbbRq1YoVK1aUe86GDRsCnHXnnDJjqVRr4bJGjz5BSIjO7797M2+en7PDcVCNm6M9PhH8/OGP39FfG4txItvZYQkhhHATuq5TUlJyXu2tVis2m+2MGwQ0TTtrj96pBeIrO49cii43ERZm8OSTJwCYOjWIzEzXuZtGNbwCbfTLEBgMf+1Hn/IsRsZxZ4clhBCillmwYAE7duwgLS2NgwcPOh63adMGgBkzZrBgwQJH+6SkJLZt28axY8c4dOgQK1asYN26dY72fn5+XHnllcybN4/ffvuNtLQ0vv/+e9auXUvLli0Be2/WkiVL2LdvH2lpafz888/MnDmTK664gvhK3r3mlnO6PFX//vnMm+fP779789prQbz8co6zQ3JQ9S5Ge3oy+rRxcOww+pSn0R5/ERVd19mhCSGEqCVycnKYOXMmWVlZ+Pn5ER8fz9ixYx1zr9LT00v1WhUVFfH++++TkZGBj48PdevWZfjw4bRq1crR5rHHHmPBggW89dZb5OXlUadOHfr06cPNN98M2Iczt2/fzurVqykqKiI8PJzrr7+enj17Vjp+t7x70RNWpC9vVeD16324++4INM1gzZrjNG7sIhO8/mZkHkd/43lIPQyBwWiPTUBd1KDMtrLas/vypHwlV/flSfm6yor0tZ0ML7qZVq2K6dq1AF1XvPBCMK72c0CF1UF76lW4qAHk5tjneP2x49wHCiGEELWcFF1uaNy4E5jNBhs2+LJyZeWXaKhuKjAYbdQkaHglFJxEf+N5jJQtzg5LCCGEqFZSdLmhuDgbw4blAjBxYhAFBa4zqf4U5eeP9tgEuOpaKC5Gn/ESxuYfnR2WEEIIUW2k6HJTjzxykrp1rRw5YuLZZ4Mpdv56qWdQvr5ow8agWtwINiv6nKnoP3zl7LCEEEKIaiFFl5uyWAxeeikHpQw+/dSPXr3CSUtzvcutTN6oB0eh2twCho4x9230r5Y5OywhhBCiyrneb2FRZW65pYiPP84kKEjnp598uf32OmzeXLn9D2uC0rxQ9w5D3doDAGPxB+jL5rv93UBCCCE8ixRdbu6mm4pYteo4jRqVkJrqRUJCBAsWuM6K9acopVB33Y/qcS8Axsr/oi98F0PXnRyZEEIIUTWk6PIADRrYWLEinc6dCyguVjz5ZAhPPx1MUZGzIytNKYXW+W5U34cBML5dSeb0idLjJYQQwi1I0eUhAgIM3n03i6efPoFSBvPm+XP33RGkprreW0Dr0Bk1+HHQNPK/WYnxffkbmQohhBC1hev9xhXVRikYMSKPxMRMgoN1Nm/24fbb6/DTT643z0u7oQNar8EA6J9+iHHsiJMjEkIIIS6MFF0eqGNH+zyvyy4rIS3Ni7vvjuCTT1xwnlfHrvg2vc6+jtcH0zBsNmeHJIQQQpw3Kbo81MUX2+d5delSQEmJ4plnQnjqKdea56U0jbDHXgCLH+zfjbHmM2eHJIQQQpw3Kbo8mL+/wZw5WYwZY5/nNX++P3fdFcHRo67ztjBFRqP1HQKAsWIhxp97nRyREEIIcX5c57ercAqlYNiwPObNs8/z2rrVh86d6/DTTz7ODs1B3dABrmkFNpt9mLHEBZfXF0IIIc5Bii4BQPv2RaxefZwrrrDP80pICGfuXD9cYbUGpRRa/6EQFAJH/8JI+sTZIQkhhBCVJkWXcKhf38by5el061aA1aoYMyaE0aODKSx0dmSgAoPQ7hsOgPH1coxd250ckRBCCFE5UnSJUvz8DN55J4uxY0+gaQaLFvmTkBDBkSPOf6uoptf9vUejgf7RmxgF+c4OSQghhKgw5/8mFS5HKRg61D7PKyTEPs/r9tvrsGmT8+d5qV6DICIKMtIwFr3n7HCEEEKICpOiS5SrXbt/5nmlp3vRq1c4H3/s3HleyuyHNvAxUApj/TcYWzc6LxghhBCiEqToEmcVH2+f53XnnflYrYqxY0N44okQp87zUo0ao27pAYD+yUyME9nOC0YIIYSoICm6xDn5+RnMnJnNuHE5aJrB4sV+9OwZweHDznv7qDv7Qd14yM2xF16ucJulEEIIcRZSdIkKUQoefvgk8+dnEBpq49df7fO8Nmxwzjwv5e2NNvgJ8DLBL5sw1n/jlDiEEEKIipKiS1RK27bFfPFFOo0bl5CR4UXv3uGsWmV2Siyq3sWoO/sCYCx6DyP9mFPiEEIIISpCii5RafXq2Vi2LJ077ijAZlM8+mgoP/zgpB6vW3tAwyugsMC+jISuOyUOIYQQ4lyk6BLnxWIxmDEji86dCyguVgwaFMa2bd41HofSvOx3M/qaYXcKxtfLazwGIYQQoiKk6BLnzcsL3n47i1atijh5UqN//zD27fOq8ThUZIx9/S7ASPoE4/DBGo9BCCGEOBcpusQFMZvhww8zadKkmIwML/r2DSc1tebfVqrNrdCkBVhL0D+chmEtqfEYhBBCiLORoktcsMBAg3nzMqlf38pff5no1y+c7GxVozEopdDuexQCAuHgPowV/63R1xdCCCHORYouUSUiInQWLswgKsrGzp3e3H9/GAUFNVx4hYSh9R8KgPHFEoy9O2v09YUQQoizkaJLVJmLLrIxf34GwcE6P/3ky5AhoZTU8CifurY16vp2YOjoH76BUeTEpfOFEEKI00jRJarUFVdY+fjjTMxmg2++MTN6dAg1vYqD6jsEQsIh7SjGko9r9sWFEEKIcpgqe8COHTtYvnw5+/fvJysri9GjR9OyZcty22dlZZGYmMi+fftITU3l9ttv5/777z+j3YYNG/jvf//L8ePHiY6Opl+/flxzzTWVDU+4gJYti5k9O5PBg8NYssSP8HCdceNOoGpotFH5BaANHIn+xvMY36/GaNoSdZW8l4QQorZLTk4mOTmZ48ePAxAXF0dCQgLNmzcvs/2mTZtISkoiNTUVm81GdHQ03bp1o23bto42hYWFzJ8/n59++onc3FwiIyO5/fbbueWWWxxtiouLSUxMZP369ZSUlNC0aVMeeOABQkJCKhV/pXu6ioqKqF+/PoMHD65Q+5KSEoKCgujZsyfx8fFlttm1axdvvvkmHTt2ZPLkyVx33XVMnTqVgwfl1v/a6uabi3j99WwA5swJ4J13Amr09dWVzVAduwKgz30L42Rujb6+EEKIqhcWFkbfvn159dVXeeWVV7jqqquYMmUKf/31V5ntAwIC6NmzJy+99BJTp06lQ4cOzJo1i19++cXRZu7cufzyyy8MHz6cN954gy5duvDhhx/y888/l2qzefNmnnjiCSZMmEBWVhavv/56peOvdNHVvHlz7rnnnrP2bp0uMjKSgQMH0q5dO/z8/Mpss3r1apo1a8Ydd9xBXFwc99xzDw0aNGDNmjWVDU+4kLvvLmDcuBwAJk0KYtEiS42+vuo5AKLrQnYmxvzZNfraQgghql6LFi245ppriImJITY2lj59+mA2m9mzZ0+Z7Rs3bkzLli2Ji4sjOjqazp07Ex8fz86d/9xotXv3btq1a0fjxo2JjIzkpptuIj4+nj/++AOA/Px8vv32WwYMGMBVV11FgwYNGDp0KLt27WL37t2Vir/Sw4vVYffu3XTt2rXUc02bNuWnn34q95iSkhJKTpulrWkaZrPZ8bm7Un+P0WmahmEYTo7m3IYOLSAz04uZMwN48skQwsPh1luLKnTsBedqsaA99CS218dByhbYugHt2taVP08NqG3X9UJ5Ur6Sq/vypHxrIteCgoJS5/b29sbbu/ydTnRdZ8OGDRQVFdGoUaNznt8wDFJSUjhy5Aj9+vVzPN+oUSM2b95Mx44dCQ0N5bfffuPo0aMMGDAAgH379mGz2WjSpInjmLp16xIREcHu3bsr9NqnuETRlZ2dTXBwcKnngoODyc7OLveYpKQklixZ4njcunVrRo4cSWhoaHWF6VKioqKcHUKFvf025OfDRx8phgwJJTkZThtOP6cLyjU6GhZ/d/7H17DadF2rgiflK7m6L0/KtzpzHT9+PPv373c8TkhIoFevXme0O3jwIGPHjqWkpASz2czo0aOJi4sr97z5+fkMGTIEq9WKpmkMHjyYq6++2vH1QYMGMWfOHB5++GG8vLxQSjFkyBCuvPJKwF6jmEwm/P39S533XHVKWVyi6DofPXr0KNU7dqp3Kysri6KiivWk1EZKKaKiojh27Fit+stq4kQ4ciSEL78007WrTlJSJo0bW896TFXlalit2N4YB3/uQ13RFG3os46/2lxFbb2u58uT8pVc3Zcn5Vudufr6+hIaGsr48ePP6OkqS2xsLFOnTiU/P5+NGzcyc+ZMJkyYUG7hZTabmTp1KoWFhWzfvp3ExESioqJo3LgxAF988QV79uzhqaeeok6dOvz+++988MEHhIaGlirOqoJLFF0hISHk5OSUei4nJ+esdwWcrdtRr+k1CmrQqWJB1/Va9U2uaTBzZib9+oWzaZMvffqEsmxZOvHxtnKPqbJcNQ3V92H0Fx/H2LIe47tVaO07n//5qkFtva7ny5PylVzdlyflWxO5WiwVm/drMpmIjo4GoEGDBuzdu5fVq1fz0EMPldle0zRH+/r163P48GGWLl1K48aNKS4uZuHChTz55JOOFRPi4+M5cOAAK1as4OqrryYkJASr1crJkydL9Xadq04pM5ZKta4mjRo1Yvv27aWe27ZtG5deeqmTIhLVwWKBjz7K5IorSjh+3L5PY1pazbwFVUw9VM/7ADA+/Qjj2JEaeV0hhBDVS9f1UnO8K9PearVis9nOGP04fe5agwYN8PLyKlWnHDlyhPT09ErN54LzKLoKCws5cOAABw4cACAtLY0DBw6Qnp4OwIIFC5gxY0apY061Lyws5MSJExw4cIBDhw45vt65c2d+/fVXVqxYweHDh1m8eDF79+7ltttuq2x4wsUFBxvMn5/BRRdZOXDARP/+4Zw4UTNDfapjV7j8aigusq9Wbyu/l00IIYTrWbBgATt27CAtLY2DBw86Hrdp0waAGTNmsGDBAkf7pKQktm3bxrFjxzh06BArVqxg3bp1jvZ+fn5ceeWVzJs3j99++420tDS+//571q5d61ilwc/Pj44dO5KYmEhKSgr79u1j1qxZNGrUqNJFV6WHF/fu3cuECRMcjxMTEwFo164dw4YNIysry1GAnfLUU085Pt+3bx8//PADderUYebMmQBcdtlljBgxgkWLFrFw4UJiYmJ48sknueiiiyobnqgFoqJ0FizIoEePCH77zZtBg8KYNy+Dv28+rTZK09DuH4k+YTjs24Wx5jNUlzMnaQohhHBNOTk5zJw5k6ysLPz8/IiPj2fs2LGOuVfp6emleq2Kiop4//33ycjIwMfHh7p16zJ8+HBatWrlaPPYY4+xYMEC3nrrLfLy8qhTpw59+vTh5ptvdrQZMGAASilef/11rFarY3HUylKGmw1EZ2VlUVBQ4Owwqo1SipiYGI4ePVrr5xCkpJhISIggN1fjttsKmDMnC9NpfwZUV676hu8wPnwDvLzQxryGuuiSKjv3+XKn61oRnpSv5Oq+PCnf6szVYrF4zMoDLjGnS3imq66y8uGHmfj6GqxZY+GZZ4KpiZ9b6ob2cM1/wGZDnz4e4+cf3P4HphBCCOeToks4VatWxcycmYWmGSxc6M+rrwZW+2sqpdD6D4O68ZCbgz5nCvo7r2DkZFX7awshhPBcUnQJp7v99kImT7YvGTJjRiDvvut/jiMunAoMQhs7DdW1N3h5wdaN6M8PQ1//rfR6CSGEqBZSdAmX0LdvPs8+ewKACROCWbKk+vdpVN7eaHf2Qxs7DS5qAPl5GB9NR39rAkbG8Wp/fSGEEJ5Fii7hMoYNy+PBB/MAeOKJEL7+2rdGXlfVuxjt2ddQPe4FkzekbEEf/yj62jUYbrzQrhBCiJolRZdwGUrB88+foGfPfGw2xUMPhbJ+fQ29tsmE1vlutOffhEsuh8ICjHmz0KeNw0g7WjNBCCGEcGtSdAmXomkwbVo2HTsWUlio6NYNcnNrbp9EFROH9tQrqN4PgI8v7NqOPmE4+lfLMHRZTFUIIcT5k6JLuBxvb3j33Szq17eSmQnJydW8auq/KM0L7aY70Ma/DZc1geJijMUfoE9+BuPoXzUaixBCCPchRZdwSRaLQffu9kVuV6yo2aLrFFUnGm3US6h7h4LZAvt2oU8cib5qMYbV6pSYhBBC1F5SdAmX1a1bIQBr1/rW6BDj6ZRSaG1vQ5swA5q0AKsVY+k89FdGYxzc55SYhBBC1E5SdAmXdfnlVi67DIqKFF9/7ZzerlNUWB204eNQgx4HvwA4uA/95VHoS+dhVGJ3eyGEEJ5Lii7hspSCu++2f75ypXOLLvi71+s/HdAmzoRrWoHNhrFqMfqLj2Hs2+Xs8IQQQrg4KbqES0tIsP/73Xdm8vKcM8T4byo4FK9HnkF7+GkIDIajf6G/+jT6px9iFBU5OzwhhBAuSoou4dKuvhoaNLBSVKT45puaWSy1otS1rdEmzrRvoG3oGMlL0SeOwNiV4uzQhBBCuCApuoRLUwq6drVPqF+5svq3BqosFRCENvgJtOHjICQc0o6ivzYGff5sjMJ8Z4cnhBDChUjRJVxely72pSO+/dbMyZOuMcT4b+rq69AmzEC1uQUA4/vV6C8MlzschRBCOEjRJVzeVVdZqV/fSmGh6w0xnk75+aPd9yjaEy9CRBRkHkdPnCH7NwohhACk6BK1gH2I0d7b5YpDjP+mrmiK9uxU+4Kqf/6BsflHZ4ckhBDCBUjRJWqFLl3s87q++caX/HzXHGI8nQoKQd3SAwAj6RNZwV4IIYQUXaJ2aNKkhIsuslJYqPHtt647xHg6dfOd9iUljqdirEt2djhCCCGcTIouUSvUtiFGAGW2oLrdA4CxchFGYYGTIxJCCOFMUnSJWuPUEOPXX/tSUOD6Q4yA/W7GOtFwIhvj6+XODkcIIYQTSdElao2mTUuoV89KQUEtGmI0eaO69wfA+PJzjNwcJ0ckhBDCWaToErWGUv/0dq1a5fy9GCtKtbgRLmoAhQUYqz91djhCCCGcRIouUaucmtf11VdmCmrJFCmlaWg9BwD2RVON9GNOjkgIIYQzSNElapVmzUqoW9dKfr7G99/Xnt4urmwGVzQFqxVj2QJnRyOEEMIJpOgStUqtHWJUCq3nfQAYm77HOLTfyREJIYSoaVJ0iVrn9CHGwkInB1MJqv6l9vldhoH++SfODkcIIUQNk6JL1DrNm5cQE2MjL09j7dra09sF2O9k9PKC7T9j7EpxdjhCCCFqkBRdotbRNOjS5dRCqbWs6IqKRd14MwD6Zx9jGIaTIxJCCFFTpOgStdLpQ4xFRU4OppJU13vAxxf274atG50djhBCiBoiRZeola69toToaBu5uRpr19aOhVJPUSFhqJvuBEBP+gTDZnNyREIIIWqCydkBCHE+Tg0xfvBBACtXWrjlltrV3aVu7YHxvy8g9RDG+m+g7a3ODkkIIVxecnIyycnJHD9+HIC4uDgSEhJo3rx5me03bdpEUlISqamp2Gw2oqOj6datG23btnW06dWrV5nH9u/fnzvuuAOAYcOGOV7zlL59+9K9e/dKxS9Fl6i1unYt5IMPAhxDjL61qMNL+fmjOvfCWPwBxvKFGNe3c3ZIQgjh8sLCwujbty8xMTEYhsHatWuZMmUKU6ZMoV69eme0DwgIoGfPnsTGxmIymdiyZQuzZs0iKCiIZs2aAfDuu++WOmbr1q3Mnj2b66+/vtTzvXr14qabbnI8NpsrP6fYLYsupWrHZsjn41Ru7pzjKefK9brrSoiKsnHsmBc//GDmpptqV2+X1qEz+g9fQ1Y6rPsS6j/sEdcV5H3srjwpV/CsfGsi14KCglI3F3l7e+Pt7V2qTYsWLUo97tOnD8nJyezZs6fMoqtx48alHnfu3Jm1a9eyc+dOR9EVEhJSqs1PP/1E48aNiYqKKvW8xWI5o21luV3RFRoa6uwQakR0dLSzQ6gxZ8v17rthxgz45psw7r23BoOqKu99VuqhJ11X8Kx8JVf35Un5Vmeu48ePZ//+fxaOTkhIKHfoD0DXdTZs2EBRURGNGjU65/kNwyAlJYUjR47Qr1+/MttkZ2ezdetWhg0bdsbXli5dymeffUZERAQ33ngjXbp0wcvLqwKZ/cPtiq6srCwKa9OKmZWklCI6OprU1FS3X26gIrl27OjDjBnhLF2q8+efx/DxqeEgL5Ch29AnPwNH/iLgzj4U3tzd7a8ryPvYXXlSruBZ+VZnrmazmdDQUMaPH39GT1dZDh48yNixYykpKcFsNjN69Gji4uLKPX9+fj5DhgzBarWiaRqDBw/m6quvLrPt2rVrMZvNtGzZstTzt99+OxdffDEBAQHs2rWLhQsXkpWVxYABAyqVq9sVXYDbv/nBnqMn5Alnz7VFiyLq1LFx/LgX69b50LFj7RpiRGmoznejv/0ieZ9/gnZNawgNd3ZUNUbex+7Jk3IFz8q3OnO1WCwVahcbG8vUqVPJz89n48aNzJw5kwkTJpRbeJnNZqZOnUphYSHbt28nMTGRqKioM4YeAb777jvatGmDz7/+gu/atavj8/j4eEwmE++99x59+/YttzgsiywZIWo1Ly/o3Nnes7lyZcW+YV1OkxZwaWOM4iL05bIZthBCnI3JZCI6OpoGDRrQt29f6tevz+rVq8ttr2ka0dHR1K9fn27dunHDDTewdOnSM9r9/vvvHDlyhI4dO54zhksvvRSbzXbGHY3nIkWXqPVOLZT65ZdmSkqcHMx5UErhlXA/AMaP32AcOejcgIQQohbRdZ2SSvzwL6/9t99+S4MGDahfv/45z3HgwAGUUgQFBVUmVCm6RO13/fXFRETYyM7W+PHHWrRuxGnUJZdj+U97MHT0pHnODkcIIVzSggUL2LFjB2lpaRw8eNDxuE2bNgDMmDGDBQv+GTFISkpi27ZtHDt2jEOHDrFixQrWrVvnaH/KqaHKsnq5du/ezapVqzhw4ADHjh1j3bp1zJ07lzZt2hAQEFCp+Cs9p2vHjh0sX76c/fv3k5WVxejRo8+YcPZvv/32G4mJifz111+Eh4dz11130b59e8fXFy9ezJIlS0odExsby/Tp0ysbnvBAXl5w++2FfPKJPytXmmnfvpbN6/pb8H3DKNj4P/hlI8benahLLnd2SEII4VJycnKYOXMmWVlZ+Pn5ER8fz9ixYx0T49PT00sta1FUVMT7779PRkYGPj4+1K1bl+HDh9OqVatS512/fj2GYXDjjTee8Zomk4n169fz6aefUlJSQmRkJF26dCk1z6uilFHJGXFbt25l165dNGjQgNdee+2cRVdaWhqjRo3i5ptvpmPHjqSkpPDxxx/zzDPPONbIWLx4MZs2bWLcuHGO4zRNq3S3HdjvXiwoKKj0cbWFUoqYmBiOHj3q9hM3K5PrDz/40Lt3BCEhOr/8kkol5jW6hFO5HnrlWYwfvoJLr0R78hW3Xf9H3sfuyZNyBc/KtzpztVgsHrPcU6V7upo3b17ucvtlSU5OJjIykvvuuw+wL9m/c+dOVq1a5Si6wF5kXeiiY8Jz3XBDMeHhNjIyvNiwwZe2bWtnb5d2R19sm9bCnh2w/We4+jpnhySEEKKKVPuSEXv27KFJkyalnmvatCkff/xxqedSU1MZMmQI3t7eNGrUiL59+xIREVHueUtKSkpNhNM0zbEkv7v2DoCsgFweb2/7EOO8ef6sXGmhXbvi6g6vSp3KUQuvg96xK8aXn6N/nohXk2tRWuUW36sN5H3snjwpV/CsfD0p1+pU7UVXdnY2wcHBpZ4LDg6moKCA4uJifHx8uPTSSxk6dCixsbFkZWWxZMkSnn/+eV5//fVy1+1ISkoqNQ+sdevWjBw50mO6KGUF5DMNGADz5sGXX/rx8cd+mGrhKnTR0dHYBg7j6A9fYRz+k+Cdv+DfqfLzBmoLeR+7J0/KFTwrX0/KtTq4xK+l04cr4+PjHUXYhg0byl0vo0ePHqUmsWma/UZMWZHefVQ218sug9DQKNLTNT7/PIM2bWpPb9e/c1W39cT4bC6ZH88k59ImKO9attT+Ocj72D15Uq7gWfnWxIr0nqDai66QkBBycnJKPZeTk4PFYjljxddT/P39iY2NJTU1tdzzlrUR5inu/uYHWQG5LPa7GAtYsMCfFSvM3Hhj7ZvX5ci1Q1f4ZgVkHkf/bjXazXc6O7RqIe9j9+RJuYJn5etJuVaHal+n69JLL2X79u2lntu2bdtZN6csLCwkNTVVJtaLSuva1d7L+cUXZqxWJwdzAZSvL+qOvgAYqxdj5J90ckRCCCEuVKWLrsLCQg4cOMCBAwcA+5IQBw4cID09HbAvXDZjxgxH+1tuuYW0tDTmzZvH4cOH+fLLL9mwYQNdunRxtElMTHQsdrZr1y6mTp2KpmllrpchxNm0alVESIhORoYXGzfW7iE51aoTRMdBXi7Gl0nODkcIIcQFqvTw4t69e5kwYYLjcWJiIgDt2rVj2LBhZGVlOQowgMjISJ555hnmzp3L6tWrCQ8P5+GHHy61XERmZiZvvvkmubm5BAUFcfnllzNp0qTzWqdLeDZvb7jttgIWLfJn1SoLN95Ye+Z1/Zvy8kLrcS/6O69gfL0Mo0NnVEiYs8MSQghxniq9OKqrk8VR3cf55vrdd7707x9OnTo2Nm8+hlctWHGhvFwNw0B/9SnYtwvV/na0fo84L8gqJO9j9+RJuYJn5SuLo1YN2XtRuJ0bb7QPMR4/7sWmTbV8iFEptJ4DADD+9yXGsSNOjkgIIcT5kqJLuB1vb7j1VvuE+lWryl7nrTZRl10FTVqArmMslc2whRCitpKiS7ilLl3sQ8yrV5ux2ZwcTBXQet4LSmH8/APGgT3ODkcIIcR5kKJLuKU2bYoIDtZJS/Pip59q9xAjgIq7GHV9ewD0zxOdG4wQQojzIkWXcEs+PnDLLaeGGM1OjqZqqDv7gskEv/+KsWOrs8MRQghRSVJ0Cbf1zxCjBV13cjBVQEVEodrdDoD+2VwMd0hKCCE8iBRdwm21bVtEYKBOaqoXP/9c+4cYAVSXXmC2wMF9GD//4OxwhBBCVIIUXcJt+fr+M8S4cqWbDDEGBqNu7QGAsXQehrXEyREJIYSoKCm6hFvr2tU+xLhqlXsMMQKom+6EoBA4noqx8r/ODkcIIUQFSdEl3FrbtkUEBNiHGDdv9nZ2OFVCmS2oex4CwFi9BGN3ipMjEkIIURFSdAm3ZjafPsRY+xdKPUW77kZU605g6OjvT8M4mefskIQQQpyDFF3C7XXp8s/q9O4yxAjYe7siYyErHf2TGW6/95sQQtR2UnQJt9euXSH+/jpHj3qxdat7DDGCfZhRe3AUeJlg83qMH75ydkhCCCHOQoou4fYsFrj5ZvcbYgRQ9S9F9egPgLHoPYyjh5wckRBCiPJI0SU8Qteu/6xO726jcOrm7nBFUyguQn//NYwSWUZCCCFckRRdwiO0b1+In5/O4cMmfvnFfYYYAZSmoQ16DAIC7YumJsnejEII4Yqk6BIewWKBm24qAtxviBFAhYSj3T8SAOOrZRgpW5wckRBCiH+Tokt4jFMLpa5c6X5DjACqaUtUh84A6B9NxziR7dyAhBBClCJFl/AYHTsWYbHoHDpkYts29xpiPEUlDIS68XAiG/3jt2QZCSGEcCFSdAmPYbEYdOp0aojRPfZi/Dfl44v24GgwecP2nzG+XenskIQQQvxNii7hUf4ZYrS45RAjgKobj+o1CABjyUcYh/Y7OSIhhBAgRZfwMJ06FWE26xw8aCIlxT2HGAFU+87QtCVYrejvvoZRVOTskIQQwuNJ0SU8ip+fQceO7j3ECKCUQhswAoLD4OhfGJ9+4OyQhBDC45mcHYAQNa1r1wJWr7awcqWFZ57JRSlnR1Q9VGAQ2qDH0N94HmPtGowrm6Ou+Y+zwxJCiPOWnJxMcnIyx48fByAuLo6EhASaN29eZvtNmzaRlJREamoqNpuN6OhounXrRtu2bR1tevXqVeax/fv354477gAgLy+PDz/8kM2bN6OU4vrrr2fgwIGYzZX7412KLuFxbrqpCLPZ4MABE7/9ZuKqq6zODqnaqCuboW7tgfFlEnriDLT6l6LCIpwdlhBCnJewsDD69u1LTEwMhmGwdu1apkyZwpQpU6hXr94Z7QMCAujZsyexsbGYTCa2bNnCrFmzCAoKolmzZgC8++67pY7ZunUrs2fP5vrrr3c899Zbb5GVlcVzzz2HzWZj1qxZzJkzh5EjR1YqfrcsupS7dl3wT27unOMp1ZVrQAB06FDEF1+YWbXKjyZNcqv0/OejOq+r1uNe9AN/2Fern/8O6tGxKM2ryl+nMuR97J48KVfwrHxrIteCgoJSy9x4e3vj7V167m2LFi1KPe7Tpw/Jycns2bOnzKKrcePGpR537tyZtWvXsnPnTkfRFRISUqrNTz/9ROPGjYmKigLg0KFD/PLLL7zyyitccsklAAwaNIhXXnmFe++9l7CwsArn6HZFV2hoqLNDqBHR0dHODqHGVEeu994LX3wBS5YE8PLLAfj7V/lLnJdqu67TPqqe814geR+7J0/KFTwr3+rMdfz48ezf/8/d1gkJCeUO/QHous6GDRsoKiqiUaNG5zy/YRikpKRw5MgR+vXrV2ab7Oxstm7dyrBhwxzP7d69G39/f0fBBdCkSROUUvzxxx+0bNmyIukBblh0ZWVlUVhY6Owwqo1SiujoaFJTU91+4cvqzPX666FevTr89ZeJMWPyeOYZ5/Z21cR11Td+jzF/Nmga2uMTUPUvrZbXqQh5H7snT8oVPCvf6szVbDYTGhrK+PHjz+jpKsvBgwcZO3YsJSUlmM1mRo8eTVxcXLnnz8/PZ8iQIVitVjRNY/DgwVx99dVltl27di1ms7lUIZWdnU1QUFCpdl5eXgQEBJCdnV2JTN2w6ALc/s0P9hw9IU+onlzNZhg//gSDB4cxe7Y/vXqd5OKLbVX6GuejWq9ry7bw6/9h/LQO25wpaM9PR5n9que1Kkjex+7Jk3IFz8q3OnO1WCq2L25sbCxTp04lPz+fjRs3MnPmTCZMmFBu4WU2m5k6dSqFhYVs376dxMREoqKizhh6BPjuu+9o06YNPj4+F5RLeWTJCOGxbr21kHbtCikuVrzwQrCzw6l2SilU/0cgrA4cT8WYP8fZIQkhRKWZTCaio6Np0KABffv2pX79+qxevbrc9pqmER0dTf369enWrRs33HADS5cuPaPd77//zpEjR+jYsWOp50NCQjhx4kSp52w2G3l5eWfMBzsXKbqEx1IKJk7Mwdvb4JtvzHz1la+zQ6p2yi8A7cFRoDSMjd+hb/ze2SEJIcQF0XWdkpKSC27/7bff0qBBA+rXr1/q+UaNGnHy5En27dvneC4lJQXDMGjYsGGlYpWiS3i0hg1tPPhgHgDjxwfjxtMBHVTDK1FdewNgzH8H43iqkyMSQoiKWbBgATt27CAtLY2DBw86Hrdp0waAGTNmsGDBAkf7pKQktm3bxrFjxzh06BArVqxg3bp1jvannBqq/HcvF9jXAmvWrBlz5szhjz/+YOfOnXz44Ye0atWqUncugpvO6RKiMkaOzOOzz/w4cMDEnDkBjByZ5+yQqp3q0gvj91/gj9/R338d7clXUCb5cSCEcG05OTnMnDmTrKws/Pz8iI+PZ+zYsY6J8enp6aWWtSgqKuL9998nIyMDHx8f6taty/Dhw2nVqlWp865fvx7DMLjxxhvLfN0RI0bwwQcfMHHiRMfiqIMGDap0/Mpws9l/WVlZFBQUODuMaqOUIiYmhqNHj7r9xM2azDUpycKjj4ZiNuv873/HqVu3ZifVO+O6Ghlp6BNGQsFJVJdeaN3718jrgryP3ZUn5QqelW915mqxWDxmuScZXhQC6N69gOuvL6KwUGPixKBzH+AGVHgk6l77WjTG6k8xdqU4OSIhhHBvUnQJgX1S/Usv5aBpBitXWli3rnpuF3Y12nU3olp3AsNA/2Aaxknnr84vhBDuSoouIf525ZVWBgw4CcC4ccFU4maYWk3d8xBExkJWOnriDLcfJhFCCGeRokuI04wenUtYmI09e7z58EMX2RuomimzBe2h0eBlgi0bMNYlOzskIYRwS1J0CXGakBCDMWPsQ2zTpgWSluYZ3yIqviGqh30ivfHf9zCOHnJyREII4X484zeKEJXQu3c+zZoVk5enMWmSZ0yqB1A3d4crmkJxMfp7UzE8ZXxVCCFqiBRdQvyLptkn1QMsWeLHTz+Vvemqu1GahjbocQgIgr/2Y3ye6OyQhBDCrUjRJUQZmjcvoU8f+6T6554Lxub8vbBrhAoJQ7t/BADG18vQ13/j5IiEEMJ9VHoJ6h07drB8+XL2799PVlYWo0ePpmXLlmc95rfffiMxMZG//vqL8PBw7rrrLtq3b1+qzZo1a1ixYgXZ2dnEx8czaNCgSu9pJERVevbZXFavtpCS4sP8+X7cd1++s0OqEappS9Ttd2F88RlG4gyM0AjUFU2dHZYQQtR6le7pKioqon79+gwePLhC7dPS0nj11Vdp3LgxU6ZMoUuXLsyePZtffvnF0Wb9+vUkJiaSkJDA5MmTiY+PZ9KkSeTk5FQ2PCGqTHi4zujR9kn1kycHkZmpznGE+1Dd70Vd1wZsNvR3XsE4/KezQxJCiFqv0j1dzZs3p3nz5hVun5ycTGRkJPfddx9g3zhy586drFq1imbNmgGwcuVKOnXqRIcOHQB48MEH2bJlC9999x3du3cv87wlJSWldgnXNA2z2QxQat8ld3MqN3fO8RRXyHXAgHwWLPDj99+9mTo1iFdfPVEtr+MKuZ5OeXlhDHoMW3YG7NmB/tZEvMa8hgqp3Oau5Z7fxfKtTpKr+/KkfD0p1+pU7Tvc7tmzhyZNmpR6rmnTpnz88ccAWK1W9u3bV6q40jSNJk2asHv37nLPm5SUxJIlSxyPW7duzciRIz1m/6bo6Ghnh1BjnJ3r7NnQrh188ok/I0f6c8011fdazs7132wT3yJt9CCshw+ivfMKkZPfRbP4Vdn5XS3f6iS5ui9PyteTcq0O1V50ZWdnExwcXOq54OBgCgoKKC4uJi8vD13XCQkJKdUmJCSEI0eOlHveHj160LVrV8djTbOPlGZlZVFYWFh1CbgYpRTR0dGkpqa6/crhrpLrpZdC9+4hLF1q4aGHilm2LAOtim9BcZVcy2IMew5eHk3J3p0cmfgE2rDnUF5eF3ROV863qkmu7suT8q3OXM1ms8d0mFR70VVdvL298fYu+1Z+d3/zgz1HT8gTXCPX557LITnZl82bffj0UzO9ehVUy+u4Qq5nqBON9uhz6K8/h7HtZ/SF76L6DqmSYQaXzLeaSK7uy5Py9aRcq0O1LxkREhJyxoT4nJwcLBYLPj4+BAUFoWka2dnZpdpkZ2ef0fslhLPExOg8/ngeAC+/HMSJE541r0Fdcjna4CdAKYzvV2N8tdTZIQkhRK1T7UXXpZdeyvbt20s9t23bNho1agSAyWSiQYMGpKSkOL6u6zopKSmONkK4ggceyKNBAyvHj3sxbVqgs8OpceraVqiEgQAYn36EsflHJ0ckhBC1S6WLrsLCQg4cOMCBAwcA+5IQBw4cID09HYAFCxYwY8YMR/tbbrmFtLQ05s2bx+HDh/nyyy/ZsGEDXbp0cbTp2rUr33zzDd9//z2HDh3i/fffp6io6Iy1vIRwJh8fePFFe6/thx/6s2tXrR2dP2/q5jtRHToDoH/wBsbenU6OSAghao9K/9bYu3cvEyZMcDxOTLRvFdKuXTuGDRtGVlaWowADiIyM5JlnnmHu3LmsXr2a8PBwHn74YcdyEQCtWrXixIkTLF68mOzsbOrXr8+YMWNkeFG4nPbti7jttgLWrLEwblww//1vBp50B7VSCu55ECMzHX79P/QZL6E9OwUVGevs0IQQwuUpw81mxGVlZVFQUD2TnF2BUoqYmBiOHj3q9pMZXTXXgwe96NAhksJCxezZmXTrduF3y7pqruUxigrRp46BP/+AyFh74RVQ8c3Ba1u+F0JydV+elG915mqxWDzm7kXZe1GISrroIhtDh9on1U+YEEx+vgd1df1N+ZrRHn0OwupA2hH0mS9jlBQ7OywhhHBpUnQJcR6GDs2lXj0rR4968fbbAc4OxylUSBjaiBfA4g9/7MD46E0MXXd2WEII4bKk6BLiPFgsMH68fUug2bMD2L//whYLra1U3YvQHnkGvEwYP63DWPqJs0MSQgiXJUWXEOfp1lsLadeukOJixQsvBJ/7ADelrmiKuu9RAIwvPkP/3xonRySEEK5Jii4hzpNSMHFiDt7eBt98Y+arr3ydHZLTaK06orr1AcCYPxtj+2YnRySEEK5Hii4hLkDDhjYefNA+qX78+GDceNvPc1Ld7kH9pyPoOvqcKRgH9zk7JCGEcClSdAlxgUaOzCM62saBAybmzPHMSfVgv6Vc3TcMLr8aigrQ355oX89LCCEEIEWXEBcsIMDguefsk+rfeiuAw4c9c1I9gDJ52yfWx14E2Zn2wqsg39lhCSGES5CiS4gq0L17AddfX0RhocbEiRVfJNQdKb8AtBHPQ3AoHDqAPnsyhtXq7LCEEMLppOgSogooBS+9lIOmGaxcaWHdOh9nh+RUKjwSbfg48PGFHVsx5r/j9it2CyHEuUjRJUQVufJKKwMGnARg3LhgSkqcHJCTqfiGaA89BUrD+OErjNWfOjskIYRwKim6hKhCo0fnEhZmY88ebz76yN/Z4Tidanodqs9DABhL56FvWuvkiIQQwnlMzg5ACHcSEmIwZkwuo0eH8PrrgXTvXkBkpGdvjaN16IyenoqRvBTj4zcxQsNRlzVxdlhCiFooOTmZ5ORkjh8/DkBcXBwJCQk0b968zPabNm0iKSmJ1NRUbDYb0dHRdOvWjbZt25Zqd+jQIebPn8+OHTvQdZ24uDhGjRpFREQEAOPHj2fHjh2ljrnpppt46KGHKhW/FF1CVLHevfOZN8+PX37xoV+/cD7+OJO6dW3ODsup1F33Y6SnwZb16DNfRj07BWJinB2WEKKWCQsLo2/fvsTExGAYBmvXrmXKlClMmTKFevXqndE+ICCAnj17Ehsbi8lkYsuWLcyaNYugoCCaNWsGQGpqKs8//zwdO3akV69eWCwWDh06hLe3d6lzderUid69ezse+/hUfu6uDC8KUcU0DV5/PZuICBs7dnjTpUsEmzd7n/tAN6Y0DW3w49DgMsjPw/bmBGzZmc4OSwhRy7Ro0YJrrrmGmJgYYmNj6dOnD2azmT179pTZvnHjxrRs2ZK4uDiio6Pp3Lkz8fHx7Ny509Fm0aJFNG/enP79+3PxxRcTHR1NixYtCA4uvb2br68vISEhjg8/P79Kx++WPV1KKWeHUG1O5ebOOZ5Sm3O94gobq1dncP/9oezY4c3dd0cwbVo2PXqUvWR9bc61opSvGTXiefTXn4P0NI6PfwwGPY6qE+3s0KqVJ1zbUzwpV/CsfGsi14KCglJ3OXt7e5/R23Q6XdfZsGEDRUVFNGrU6JznNwyDlJQUjhw5Qr9+/Rzn2LJlC3fccQeTJk1i//79REZG0r17d1q2bFnq+HXr1rFu3TpCQkK49tprueuuu/D1rdz2b8qQ+7iFqDZ5edCvHyxfbn88bhyMH2/vDRNCCPGPp59+mv379zseJyQk0KtXrzPaHTx4kLFjx1JSUoLZbGbEiBFcc8015Z43Pz+fIUOGYLVa0TSNwYMH07FjRwCys7N56KGH8PX1pXfv3lx11VX88ssvLFy4kBdeeIErr7wSgK+//pqIiAjCwsL4888/mT9/Pg0bNmT06NGVytHtiq6srCwK3XgDPKUU0dHRpKamuv26R+6Sq80Gr7wSyKxZ9i2CunQp4M03c/Dz+ycnd8m1wk5k4zX3bYp3/wZKQ915D6pjN7fsMfCka+tJuYJn5VuduZrNZkJDQyvc02W1WklPTyc/P5+NGzfyzTffMGHCBOLi4so8v67rpKWlUVhYyPbt2/nss8948sknady4MZmZmTz88MO0bt2akSNHOo6ZPHkyvr6+PPbYY2WeMyUlhYkTJ/LWW28RHV3x3nq3HF509zc/2HP0hDyh9ueqaTB27AkaNizh6adDWLXKwsGDXnz0USYxMaXvbKztuVaUCgqhzoTpHH59PMa6ZIyF76H27kLdNxxVye762sJTri14Vq7gWflWZ64Wi6VC7Uwmk6PQadCgAXv37mX16tXl3kmoaZqjff369Tl8+DBLly6lcePGBAUF4eXldUbBVrduXXbt2lVuDA0bNgTsk/ArU3TJIIcQNaR37wIWL84gLMzG9u0+dOlSh19/9dwJ9srbB+2+R1F9HwYvL4z/+x/6lKcxMtKcHZoQohbRdZ2SSqxGfXp7k8nEJZdcwpEjR0q1OXr0qGO5iLIcOHAAgNDQ0ErFKkWXEDWoZctiVq1K57LLSjh2zIuePSNYvtzs7LCcRimF1qEz2hMvQmAwHNyH/tITGLtSnB2aEMIFLViwgB07dpCWlsbBgwcdj9u0aQPAjBkzWLBggaN9UlIS27Zt49ixYxw6dIgVK1awbt06R3uAO+64g/Xr1/P111+TmprKmjVr2Lx5M7feeitg781asmQJ+/btIy0tjZ9//pmZM2dyxRVXEB8fX6n43XJ4UQhXdtFFNpYtS2fo0FC+/dbMI4+EsXdvLlOmODsy51GNrkIbOw191stwcC/6G+NQvR9Ate/slvO8hBDnJycnh5kzZ5KVlYWfnx/x8fGMHTuWq6++GoD09PRSPzOKiop4//33ycjIwMfHh7p16zJ8+HBatWrlaNOyZUsefPBBli5dykcffURsbCyjRo3i8ssvB+y9Ydu3b2f16tUUFRURHh7O9ddfT8+ePSsdv1tOpC8oKHB2GNVGKUVMTAxHjx51+zkE7p6rzQYvvRTEu+/aJ9jfcw9MmnQUs9n9cv238q6tUVSEkfg2xv/9z97uxptRfR9GneW2cVfn7u/j03lSruBZ+VZnrhaLpdLDdLWVDC8K4SReXvDCCyeYOjUbk8lg0SK4665wjh3z3G9L5euLemAUKmGgY6Ns/fWxGLKQqhDCDXjuT3chXETfvvksWpRJWBj88ot9gn1KiueO/Cul0G7tgTbiefDzh7070Sc9gbGv/DuJhBCiNpCiSwgX0KpVMZs2QcOGVo4e9aJ79whWr/bcCfYA6qpr0Ma+DjH1IDsTfeqz6D9+4+ywhBDivEnRJYSLaNgQVqxIp337QgoKNB58MIy33grAzaeKnJWKjEUbMxWa3QBWK8bHb6Iveg/DanV2aEIIUWlSdAnhQoKDDebOzWTw4DwAJk8OYsSIENx4k4VzUmY/tEeeQXXrA4DxzQr06S9g5J5wcmRCCFE5UnQJ4WJMJpg48QSvvJKNl5fB55/70atXBMePe+63q9I0tDv6oA0dA74W2LXdPs/rr/3nPlgIIVyE5/4UF8LF3XdfPvPnZxAcrLN5sw9dukSwY4fnTrAHUM1vQHt2KkTGQEYa+qtPof/0g7PDEkKICpGiSwgX1qZNMStWHOfii60cPmzizjsjSE52z70JK0rVvQhtzOtwZXMoLsJ4dwr654kYus3ZoQkhxFlJ0SWEi7vkEhsrVx7nxhuLyM/XGDQojHfe8ffsCfb+AWgjn0fd2gMA44sl6DMmYeTnOTkyIYQonxRdQtQCISEG8+ZlcO+9JzEMxUsvBfPEEyF48k18SvNCSxiIemAUePvA9p/RX34S4+ghZ4cmhBBlkqJLiFrC2xteeSWHl17KRtMMFi/2Y8ECP2eH5XTa9e3Qnp4MYRFw7DD6K6Mxfv3J2WEJIcQZpOgSohZRCgYOzOf55+3LJcyYEUBxsZODcgEq/hK0sdOgUWMoyEef+RL6ikUYuu7s0IQQwkGKLiFqoXvvPUlUlI3Dh00sXiy9XQAqKATt8RdR7TuDYWAsX4A+4yWMkzLPSwjhGqToEqIWMpth6FB7MfH22wGUlDg5IBehTCa0fg+j7h/5zzwvWc9LCOEipOgSopbq1+8kderYOHTIxJIl0tt1Oq11J7RnJkNEFBxPRX/lSfQN3zk7LCGEh5OiS4haymKBRx6x93a99Zb0dv2buugStOemwVXXQkkxxodvoM+fjWGV/yghhHNI0SVELXbvvfmEh9s4eNDE559bnB2Oy1H+gWjDx6G63QOA8f1q9KljMDLTnRyZEMITSdElRC3m52ec1tsV6NHrdpXHvm9jX7Th48DPH/btQn/pcYxd250dmhDCw5zXRm5r1qxhxYoVZGdnEx8fz6BBg2jYsGGZba1WK0uXLmXt2rVkZmYSGxtLv379aNasmaPN4sWLWbJkSanjYmNjmT59+vmEJ4RHue++fGbNCuDAARNLl1pISChwdkguSV19Hdpzb6DPegUO7UefNg7VcwDqlu4opZwdnhDCA1S6p2v9+vUkJiaSkJDA5MmTiY+PZ9KkSeTk5JTZftGiRXz11VcMHDiQadOmcfPNNzN16lT27y99N1G9evV49913HR8TJ048v4yE8DD+/gZDhpwE4M03A7HJFoTlUnWi0Z6ZgrqhA+g6xpKP0OdMxijMd3ZoQggPUOmerpUrV9KpUyc6dOgAwIMPPsiWLVv47rvv6N69+xnt161bR48ePbjmmmsAuOWWW9i2bRsrVqxgxIgRjnaaphESElLhOEpKSig5beawpmmYzWYAt/6r9VRu7pzjKZJrxQ0cmM/s2QHs22di+XILPXsWVmV4Vc6Z11aZzRiDH8e45HL0Re/B5vXohw/iNXQMKrZe1b+evI/dlifl60m5VqdKFV1Wq5V9+/aVKq40TaNJkybs3r27zGNKSkrw8fEp9ZyPjw+7du0q9VxqaipDhgzB29ubRo0a0bdvXyIiIsqNJSkpqdSQZOvWrRk5ciShoaGVSanWio6OdnYINUZyrZjRo2HsWJgxI5SHHwYvryoMrJo49dr2HUzRNS3JePlpbKmH0F8ZTdhjz+N3403V8nLyPnZfnpSvJ+VaHSpVdJ04cQJd18/okQoJCeHIkSNlHtO0aVNWrlzJFVdcQVRUFCkpKfzf//0f+mnbc1x66aUMHTqU2NhYsrKyWLJkCc8//zyvv/46FkvZd2T16NGDrl27Oh5rmn2kNCsri8JC1/4r/0IopYiOjiY1NRXDMJwdTrWSXCsnIUExdWokO3dqvPtuFt27u+73gctc2+AIGPs6as4UjF3byXjlGTJv7YnW8z5UFVWtLpNrDfCkXMGz8q3OXM1ms8d0mJzXRPrKGDhwILNnz+axxx5DKUVUVBTt27fnu+/+WaiwefPmjs/j4+MdRdiGDRvo2LFjmef19vbG29u7zK+5+5sf7Dl6Qp4guVZUQIDBAw/k8dprQUyfHkC3bgVoLn5/sktc28Bg1OMTISkR48skjC8/x3ZgD9pDo1FBVfeLwCVyrSGelCt4Vr6elGt1qNSP5KCgIDRNIzs7u9Tz2dnZ5c7HCgoK4qmnnuKTTz5h1qxZTJ8+HbPZTFRUVLmv4+/vT2xsLKmpqZUJTwiPN3jwSYKCdHbv9mbVKrOzw6k1lJcXWsJAtIefAV8L7NqO/uITGHt3Ojs0IYQbqVTRZTKZaNCgASkpKY7ndF0nJSWFRo0anfVYHx8fwsLCsNlsbNq0iRYtWpTbtrCwkNTU1EpNrBdCQFCQwQMP2O9knD49kNNG8UUFqGtboY19HaLjIDsDfeoY9O9Wy1/2QogqUenBh65du/LNN9/w/fffc+jQId5//32Kiopo3749ADNmzGDBggWO9nv27GHTpk0cO3aM33//nZdffhnDMLjzzjsdbRITE9mxYwdpaWns2rWLqVOnomkaN95444VnKISHGTw4j8BAnZ07vVmzRnq7KkvFxKGNfQ2ubQU2K8aC2RgfTccoKnJ2aEKIWq7Sc7patWrFiRMnWLx4MdnZ2dSvX58xY8Y4eqXS09NL3VJaUlLCokWLSEtLw2w207x5cx599FH8/f0dbTIzM3nzzTfJzc0lKCiIyy+/nEmTJhEUFHThGQrhYUJCDAYPPsn06YG88UYgt91W6PJzu1yNMvuhDXka46ulGJ/NxdjwHcZfB9AeeQYVGePs8IQQtZQy3KzfPCsri4IC912RWylFTEwMR48edfshD8n1/GVlKW64IYq8PI0PPsjktttc607G2nRtjV3b0edMgdwc8PNHG/wE6urrKnx8bcr1QnlSruBZ+VZnrhaLxWPuXpS/f4VwQ6GhBgMH2ud2vfFGAG7++6BaqcuaoD33BjS4DPJPor/9IvqyBRgyYU4IUUlSdAnhph566CR+fjopKT589ZWvs8Op1VRYBNqTL6M6dAbAWLkI/e0XMU7mOjkyIURtIkWXEG4qLEw/rbcrUHq7LpAyeaP1fRg16HHw8YGUzegvPo5xcK+zQxNC1BLVvjiqEMJ5hgw5yYcf+rNtmw/ffutLp05yB96F0v7TASOuPvo7r8DxVPRXn0b1fwStVSdnhyaE20tOTiY5OZnjx48DEBcXR0JCQqlF1k+3adMmkpKSSE1NxWazER0dTbdu3Wjbtm2pdocOHWL+/Pns2LEDXdeJi4tj1KhRju0Ii4uLSUxMZP369ZSUlNC0aVMeeOCBSi9tJUWXEG4sPFxnwAD7ZthvvBFIx45FyH61F07Vuxht7DT0D6bB9p8xPnoTfd8uVO8HUeXslCGEuHBhYWH07duXmJgYDMNg7dq1TJkyhSlTplCv3pkb1gcEBNCzZ09iY2MxmUxs2bKFWbNmERQURLNmzQD73s/PP/88HTt2pFevXlgsFg4dOlRq15u5c+eyZcsWnnjiCfz8/Pjggw94/fXXefHFFysVv1sWXe68C7on7fQuuVaNRx45yccf+7N1qw9r15rp0MH5vV3ucG1VQCBq+DiM5CSM1Uvg/9ZhpB1FDXoMFRrxTzs3yLWiPClX8Kx8ayLXgoKCUndGlrXd378XVu/Tpw/Jycns2bOnzKKrcePGpR537tyZtWvXsnPnTkfRtWjRIpo3b07//v0d7U7f2Ds/P59vv/2WkSNHctVVVwEwdOhQHn/8cXbv3n3OxeFP53ZFl6fcdupJO71LrhcmJgaGDoVp0+Dtt8Po0weX6e1yi2s78FH7xzm4Ra4V5Em5gmflW525jh8/nv379zseJyQk0KtXr3Lb67rOhg0bKCoqqlDhYxgGKSkpHDlyhH79+jnOsWXLFu644w4mTZrE/v37iYyMpHv37rRs2RKAffv2YbPZaNKkieNcdevWJSIiQoqurKwsCgtda02iqiS72run6s71vvs0Zs2KZONGxX//m0G7dsVV/hqV4Y7X1kg/hv7hG/DXAVAa6o7eqE53oGma2+VaHne8rmfjSflWZ65ms5nQ0FDGjx9/Rk9XWQ4ePMjYsWMpKSnBbDYzevRo4uLiyj1/fn4+Q4YMwWq1omkagwcP5uqrrwbgxIkTFBYWsmzZMnr37k2/fv345ZdfeP3113nhhRe48soryc7OxmQylVrUHSA4OPiMvajPxe2KLsDt3/zgWTu9S64Xrk4dG/36neSDDwKYNi2ANm0yXKK3y62ubXgkauR4jPmzMdZ/g7Hofdj9Gwx8DHCzXM/Bk3IFz8q3OnO1WCwVahcbG8vUqVPJz89n48aNzJw5kwkTJpRbeJnNZqZOnUphYSHbt28nMTGRqKgoGjdujP73enstWrSga9euANSvX59du3aRnJzMlVdeWTXJ/U2WjBDCQwwdmoevr8FPP/ny448+zg7HLSkfX9T9I1D3DgWTCbZswPbSE5Qc3Ofs0IRwGyaTiejoaBo0aEDfvn2pX78+q1evLrf9qd7m+vXr061bN2644QaWLl0KQFBQEF5eXmcUbHXr1iUjIwOAkJAQrFYrJ0+eLNUmJyen0ncvStElhIeIjtbp2/efdbtE9VBKobW9De2pVyE0Ao4d5tjjA9B/Wufs0IRwS7quU1JScl7tTSYTl1xyCUeOHCnV5ujRo47lIho0aICXlxfbt293fP3IkSOkp6dXaj4XSNElhEcZOjQPHx+DjRt92bBBeruqk7q4Edq4N1CXX41RWIA+Zwr64g8wbDZnhyZErbVgwQJ27NhBWloaBw8edDxu06YNADNmzGDBggWO9klJSWzbto1jx45x6NAhVqxYwbp16xztAe644w7Wr1/P119/TWpqKmvWrGHz5s3ceuutAPj5+dGxY0cSExNJSUlh3759zJo1i0aNGlW66HLLOV1CiLLFxurcc08+iYn+TJsWyKefZjg7JLemAoNRj0/E7+ul5H76McZXyzD+3Iv20JOoYM+401qIqpSTk8PMmTPJysrCz8+P+Ph4xo4d65gYn56eXmpZi6KiIt5//30yMjLw8fGhbt26DB8+nFatWjnatGzZkgcffJClS5fy0UcfERsby6hRo7j88ssdbQYMGIBSitdffx2r1epYHLWylOFms/+ysrIoKChwdhjVRna1d081mevhw160bh1JSYni88/Tuf76mr+T0ROv7eFVn9vvbiwsgJAwtCFPoxpe4ezwqpQnXVfwrHyrM1eLxeIxyz3J8KIQHqZuXRu9e+cDMrerJmnX/Adt7OsQUw+yM9FfG4P+7Uq3/2UthPiHFF1CeKBHH83DZDJYt86Xn36SbWtqioqOQxvzGuq6NmCzYSx8F+PDNzCKnL9LgBCi+knRJYQHqlfPRq9e0tvlDMpsQT04GtV7MGgaxsbv0V99EiPtyLkPFkLUalJ0CeGhhg/Pw8vLYO1aM5s3S29XTVJKod10J9qolyAoBA4dQH9pFMav/+fs0IQQ1UiKLiE81EUX2UhIsN90Mn269HY5g2p0Fdq4N+CSy6HgJPqMl9CXzsPQZVkJIdyRFF1CeLARI3Lx8jL49lszW7dKb5czqJBwtNGTUB3tW5AYqxajvzUR42SukyMTQlQ1KbqE8GD169vo2VN6u5xNmbzR+jyEemAU+PjCb1vRX3oCQ7YPEsKtSNElhIcbMSIXTTP4+msz27ZJb5czade3Q3t2CtSJhvRj6JOfQt/4vbPDEkJUESm6hPBwDRrY6N79VG9XgJOjESruYrSx0+Cqa6G4GOODaeiL3sOwWp0dmhDiAknRJYRg5Mg8lDL48ksLKSmyO5izKf8AtOHPobr2BsD4ZgX6tOcwcrKcHJkQ4kJI0SWEoGFDK3feKXO7XInSvNDu7Ic2bAyYLbBnB/pLj2Ps3ens0IQQ50mKLiEE8E9v1xdfWNixQ3q7XIVqdkPp7YOmjkFfu0a2DxKiFpKiSwgBQKNGVrp2LQSkt8vV2LcPmgrXtAKbFWPeLIzEGRglNb9ZuRDi/EnRJYRweOwx+9pQq1ZZ2LlTertciTL7oT38NKrnAFAaxg9foU95FiPzuLNDE0JUkBRdQgiHyy+30qWLfW6X7MnoepRSaLffhfbYC+AfCAf22Nfz2rnN2aEJISpAii4hRCmnertWrrQweXIgMnXI9agrm6M9Nw0uagC5OehvPI+evFTmeQnh4qToEkKUcuWVVsaMOQHAW28F8swzwdhkK0CXoyKi0J6ejLqhA+g6xqcfYrz3GkZRobNDE0KUQ4ouIcQZhg3L49VXs1HKYN48fx55JJSiImdHJf5N+fiiBj2G6jsEvLwwflqH/sqTGGlHnB2aEKIMUnQJIcp07735vPNOFt7eBqtWWRgwIJyTJ5WzwxL/opRC69AFbdQkCA6Fw3+iTxqFsf1nZ4cmhPgXKbqEEOXq1q2QxMRM/Px01q3zpXfvcDIz5ceGK1KXXmmf53XJ5ZB/Ev3tF9FXLsLQdWeHJoT4m/z0FEKcVdu2RSxenEFIiM7WrT706BHO4cPyo8MVqZBwtNGTUO1vB8PAWLYAfdbLGPknnR2aEAIpuoQQFdC8eQlLl6YTE2Pjjz+86d49gj/+kHW8XJEyeaP1ewR1/wgwecOv/2cfbjx80NmhCeHxpOgSQlTIpZdaWbYsnUsuKeHIERM9eoTz66/ezg5LlENrfRPaM5MhrA6kHUF/ZTTGzz84OywhPJoUXUKICqtb10ZSUgZXX11MZqYXd98dzg8/+Dg7LFEOFd/QPs/r8quhqBB9zhT0JR9jyBogQjiFFF1CiEoJD9f59NMMWrcu4uRJjXvvDWf1arOzwxLlUIHBaI9NQN3aAwDjy8/Rpz0n2wcJ4QRSdAkhKi0gwCAxMYPOnQsoLlYMGRLKggV+zg5LlEN5eaElDEQb8hT4WmD3b+gTRshwoxA1TIouIcR5MZth9uws+vY9ia4rnnwyhJkzA2TbIBemWtyI9vwbUP9S+7ISc6agf/wWRmGBs0MTwiOc1+1Ha9asYcWKFWRnZxMfH8+gQYNo2LBhmW2tVitLly5l7dq1ZGZmEhsbS79+/WjWrNl5n1MI4Rq8vGDKlBzCwnRmzAjk5ZeDyMzUeO65EyhZR9UlqchYtKcnY6xYiPHFEowfv8bYswPtwVGo+pc6Ozwh3Fqle7rWr19PYmIiCQkJTJ48mfj4eCZNmkROTk6Z7RctWsRXX33FwIEDmTZtGjfffDNTp05l//79531OIYTrUAqefTaXcePs36+zZwcwalQIVquTAxPlUiYTWo977avYh0bY72589Sn0Lz67oMVUP/rIj+BgePnlQAqk80yIM1S6p2vlypV06tSJDh06APDggw+yZcsWvvvuO7p3735G+3Xr1tGjRw+uueYaAG655Ra2bdvGihUrGDFixHmdE6CkpISSkhLHY03TMJvtk3mVG/+JfSo3d87xFMm1dnnkkXzCwgxGjw7mv//1Iztb4513sjCXMcfeHfKtKFfOVV3eBPXCW+ifzMTY/CPG53Nhx1bU4CdQoeGVOldhIbz2WiAnTsCMGQGsXm3mtddyuOGG4mqK3vlc+dpWNU/KtTpVquiyWq3s27evVCGkaRpNmjRh9+7dZR5TUlKCj0/pW8p9fHzYtWvXeZ8TICkpiSVLljget27dmpEjRxIaGlqZlGqt6OhoZ4dQYyTX2uOxx+Dii6F3b/jySzMDB8awbBkEB5fdvrbnWxmum2sMxoTpnPxqOdmzp2Ls3IYxcSQhI57Dr1WHCp8lMRGysiAqyj7svG+fiZ49w3n4YZg8GYKCqjEFJ3Pda1v1PCnX6lCpouvEiRPouk5ISEip50NCQjhypOxd7Zs2bcrKlSu54ooriIqKIiUlhf/7v/9D/7sL+3zOCdCjRw+6du3qeKxp9pHSrKwsCgsLK5NWraKUIjo6mtTUVAw3n7EsudZOLVvCggU+DBgQytq1GjfeWMKCBZlERPwzbOVO+Z5Lrcm1SUu0cdOxvfca+p9/kDHpSTLb3orW+wGU77mXBJk+PRzwYeRI6NnzGC++GMj8+X7Mng3Lltl49dUcbr65qPrzqEG15tpWgerM1Ww2V7jDJDk5meTkZI4fty95EhcXR0JCAs2bNy+z/aZNm0hKSiI1NRWbzUZ0dDTdunWjbdu2jjYzZ85k7dq1pY5r2rQpY8eOdTweNmyY4zVP6du3b7mjceWp9n08Bg4cyOzZs3nsscdQShEVFUX79u357rvvLui83t7eeHuXvRq2u7/5wZ6jJ+QJkmttdMMNRSxZkkG/fmGkpHhz553hLFyYQb16pRfldJd8K6JW5BoVi/bMZIxlCzC+/Bzjf19i252C9uBo1EWXlHvYr796s3WrDz4+BoMHK2w2nSlTsrnzznyeeiqEAwdMDBgQRvfu+UyceILwcPfahLtWXNsq4uxcw8LC6Nu3LzExMRiGwdq1a5kyZQpTpkyhXr16Z7QPCAigZ8+exMbGYjKZ2LJlC7NmzSIoKKjUDX3NmjVj6NChjscm05nlUa9evbjpppscj81lzZ04h0pNpA8KCkLTNLKzs0s9n52dfUZP1enHPPXUU3zyySfMmjWL6dOnYzabiYqKOu9zCiFcX5MmJSQlpRMXZ2X/fhPdu0ewa5fs1+jqlMkb7a4BaI9PhJAwSD2M/vKT6MlJ5U6ynzvXH4CuXQuJjPzn+dati/n66+M88kgemmawdKkf7drV4fPPLbK0iDgvLVq04JprriEmJobY2Fj69OmD2Wxmz549ZbZv3LgxLVu2JC4ujujoaDp37kx8fDw7d+4s1c5kMhESEuL4CAgIOONcFoulVJvzKboq9RPQZDLRoEEDUlJSaNmyJQC6rpOSksJtt9121mN9fHwICwvDarWyadMm/vOf/1zwOcvjzhP9PGkyo+Ra+zVsqLNsWQZ9+oSxe7c3PXtGkJiYyXXX2W9tdLd8y1Jbr626shlqwgz0he/Crz/BysUYf/yO6v8IKjjM0S4zU7FsmQWAgQPzAUupXP38YNy4XO64o5BRo4LZscOb4cNDWbrUwquv5lC3bu3t9aqt1/Z81ESuBQUFpXrRzjaiBfZaYcOGDRQVFdGoUaNznt8wDFJSUjhy5Aj9+vUr9bUdO3bwwAMP4O/vz1VXXcU999xDYGBgqTZLly7ls88+IyIightvvJEuXbrg5eVVqRyVUcl+wvXr1zNz5kwefPBBGjZsyOrVq9mwYQNvvPEGISEhzJgxw9H9B7Bnzx4yMzOpX78+mZmZfPrpp6SlpTF58mT8/f0rdE4hRO2WmQldusDGjfZfwp9/Drfe6uyoRFV47TV48klo3hw2b+as67OVlMCUKTBxIhQXQ0CAfZL9ww+DJkt1e7ynn3661HJSCQkJ9OrV64x2Bw8eZOzYsZSUlGA2mxkxYoRjhYSy5OfnM2TIEKxWK5qmMXjwYDp27Oj4+o8//oivry+RkZGkpqaycOFCzGYzkyZNcswXX7lyJRdffDEBAQHs2rWLhQsX0r59ewYMGFCpHCtddIF9IdPly5eTnZ1N/fr1GThwIJdeal9Ub/z48dSpU4dhw4YB9urxvffeIy0tDbPZTPPmzenbty9hYWEVPmdlyER69yG5upf8fMUDD4Tw/fdmvL0N5s9XtGnjvvme4i7X1kg9jJ74Nvx1AADV5maMbv25sWMcf/5pYurUbPr3L6xQrnv2mBg1Kpiff7bf2d6yZTGvvZZNw4a1ayNuV7m2hw9rzJ4dQEqKieefz6V585JzH1RJNTGRvqI9XVarlfT0dPLz89m4cSPffPMNEyZMIC4urszz67pOWloahYWFbN++nc8++4wnn3ySxo0bl9n+2LFjDB8+nHHjxtGkSZMy23z77be89957JCYmnrU37t/Oq+hyZVlZWRS48ap8SiliYmI4evRorf4BXhGSq/spLoaRI0NZvtyCtzcsWJBBq1budUfbv7nTtTVKSjCWfoKRvBSA76x3MiB5HMHBOps3H8PPjwrnquswd64fr7wSxMmTGr6+Bo89lssjj+RRid9hTuXsa7tvnxezZgWwZIkfJSX2Lkaz2WDatCzuvLNqOx+qM1eLxXJByz29+OKLREVF8dBDD1Wo/ezZs8nIyCh1d+K/DR48mHvuuYebb765zK//9ddfjBo1iunTpxMbG1vhWKVDVwhRY3x8YMaMLLp1K6CkBAYPDmXnTplcX1sob2+0uwehPT4BgsOYu7U9AHffsB2zb+V6qTTNPgfs22+P06FDIUVFismTg+jcuQ7bttWSqstJfv/dxNChIbRrF8nChf6UlCj+858iOnQopLBQMXRoGFOmBHIBmwvUKrqul1os/ULbZ2RkkJeXd9ZC8MCBAyilCKrkAnRSdAkhapSXF7z5ZjatW8OJExr33htGaqr8KKpN1JXNOTR4Ft8dbw3AvYXj0d+agJGTVelzxcXZ+OSTTN56K4uQEJ0dO7zp2jWCSZNkK6F/27LFm/vvD+OmmyJZtswPXVd06lTI0qXHWbIkg7lzMxk6NBeAN98MZMiQUPLz3WuS/4IFC9ixYwdpaWkcPHjQ8bhNmzYAzJgxgwULFjjaJyUlsW3bNo4dO8ahQ4dYsWIF69atc7QvLCzkk08+Yffu3aSlpbF9+3amTJlCdHQ0TZs2BWD37t2sWrWKAwcOcOzYMdatW8fcuXNp06ZNmXc5no38iSmEqHFmMyxbBtdfb2XvXhP33RfO55+nExBQu4ffPMknn0VjoNG2ySEuDjkGv/2FbfxwCp6YAPXKX9OrLErBXXcV0K5dEc8/H8SyZX7MmhXIF19YmDo1m//8x323EjoXw4Aff/Th7bcD+eEHXwCUMujatZBHH83lqqv+2eTUywvGjs2lYUMrTz8dwurVFg4e9OKjjzKJjXWPbq+cnBxmzpxJVlYWfn5+xMfHM3bsWK6++moA0tPTS91hWVRUxPvvv09GRgY+Pj7UrVuX4cOH06pVK8C+sPrBgwdZu3YtJ0+eJCwsjKuvvprevXs75mqZTCbWr1/Pp59+SklJCZGRkXTp0qXUAu0VJXO6ahlnzyGoSZKr+zqV78aNaXTrFk56uhft2xfy8ceZtWY+T0W547UtKIAWLaLJztb46KMMbr5qD/p7r8GhA/YG8Q1R17dDXdcGFRJ21nOVJTnZl2efDSE11X47fv/+Jxk79gRBQa71/1ed19Yw4KuvfHn77UC2bLHfcGAyGfTsWcCwYbnnvOng//7Ph8GDQ8nM9CIy0saHH2Ze0AR7V57TVZtIn74Qwmni423MnZuJxaLz/fdmnnkmWBbNrAVWrLCQna1Rt66VTp2KULEXoY15DXXznfbulj//wFj8AfpTg7BNG4f+4zcYBfkVPv8ttxTx3Xdp9O9/EoB58/zp0CGS5GTf6krJZdhssGyZmZtvrsPAgeFs2eKDr6/B/fef5Mcf03jjjYrd5dmyZTGrV6dz+eUlpKV5kZAQwbJllV/MU1Qt6emqZdzxr+bySK7u69/5Jif7MnhwGLquGD36BI8/nufsEKuMO17bLl0i+OUXH5555gTDh/9zrZRSRPpZSF21BH3j97D3tFW/vX1QV1+HuqEdXHUtylSxLs0NG3wYPdq+lRBAu3aFXHGFlbg4K3Xr2qhXz0ZcnI3AwJr/v63Ka1tcDJ9/bmHGjED277fn6u+vM2DASR588CSRkec3PJiXpxg2LJSvv7YXXI89lsuoUbmVXhdNerqqhhRdtYw7/gAvj+TqvsrKd+5cP8aMCQHgjTey6NXLPb6P3e3a/vKLN1261MHHx+Dnn4+V2kfx37kax1Mx/u9/GJvWwtG//jmJfyDq2tao69tBwytQ56gACgpg2rRA5swJwGYre2J4cLBO3bo24uKsxMXZ/v78n4/wcP2sC7eej6q4tgUFsHChP++848+RI/ZiKyRE54EH8rj//pOEhl74e8Zmg1deCeKdd+yTvjt3LuDNN7Px86v4uaXoqhoykV4I4RIGDMjn8GEvZs4M5MknQ4iOttG2redOoHZV/+yzWHDOjatVnWhUl14Yne+Gv/ZhbPwe4//WQU4mxv/WYPxvDYTVQV3fFnV9e1Td+DLPY7HYJ4jfdVcB//ufL4cOeXH4sBeHDnlx6JCJ7GyNnBz7x44dZfegmc16qULs30VZVJSNMvY4rja5uYrERH/efdef9HT73LXISBtDhuTRv39+ld5U4uUFzz13gksvLXHbCfa1hfR01TLu9lfz2Uiu7qu8fHUdHn00hGXL/AgI0ElKSufKK61nOZPrc6drm5mpuO66aAoLFcuXH+faa0tPzK5IroZug10pGJu+x9iyAU6f6xVX3z4Bv2VbVFidCsd18qT6uwDzOqMgO3zYi2PHNAzj7N1cXl4GMTE2IiJ0AgMNAgPt/wYE6AQFlf1vcDBcckkdCgpSsVj0Cg3ZZWZqfPCBPx995E9Ojv2AuDgrQ4fm0bt3Puexh3KlnO8Ee+npqhpSdNUy7vQD/FwkV/d1tnyLiqBfv3A2bPAlOtrGihXHa/Vf4+50bd95x5+XXgrmqquKWbMm/YzhusrmahQXwfaf0Teuhe0/g8166kRwaWN7AXZta5R/5dZC+rfiYjhy5PSCzFSqQDtyxMuxovv5Usr4V5FmEBSkExDwTwF38qTis88s5Ofbi62GDUt49NE8uncvqNG7dv/6y4v77w9j507vCq9gL0VX1ZDhRSGES/H1hfffz6R79wj27PF2rOHlassFeBpdh8RE+9Di/ffnV8n8KOXjC9e2xuva1hgnczE2/2if/7X7N9idgrE7BWPhHGjSAu369nB1C5S3T6Vfx8cH6te3Ub9+2Xf92WyQlqZx6JAXWVkaeXkaJ04o8vI0cnMVubml/z1xQiMvz/74xAkNmw0MQ3HihP1rR46cPZ6rripm+PA8br+9EC+vSqdzwerVs7FsWbpjgv3QoWHs3n1+E+xF5UjRJYRwOSEhBvPmZdKtWwS//+7Ngw+G8cknGfhU/vetqCLffefLwYMmgoN1unev+tEE5R+IansbtL0NI+P43xPwv4fDf8LWjehbN4LF39771b3/Bfd+nc7LC2JidGJiKtejat8EOoZ9+47+XYyVLtDy8v4p0E6c0Cgutq8g36FDUZVP6q+sgACDDz/MdEywnz49kN27TZWeYC8qR4ouIYRLiouzkZiYSc+e4fzwgy9PPhnC9OnZTv9l5ak+/tjey9WrVz4WS/X+UlbhdVC33wW334VxaD/GxrUY//c/yErH+H41xi+b0O4fgWrcvFrjqFCsCvz8wGLRiYwEqNwelM5U1gT7v/7y4sMPZYJ9dZGORCGEy2rSpIQ5c7Lw8jJYssSP114LdHZIHunPP7347jv7wqT33XeyRl9bxV2MlnA/2qvv2zfajqoL2Rno019An/8ORtHZ5yKJc+vdu4DFizMIC7OxfbsPXbrUYetWN9sawkVI0SWEcGkdOxbxyis5AEyfHsjChX5OjsjzfPKJP4ahaN++kAYNnNOTozQNdWVztHHTUR3te94Z33+BPmEExh+/OyUmd9KyZTGrVskK9tVNii4hhMvr1y+fESNyAXj66WBHr4uofvbFO+2F7oABNdvLVRbl64vW5yG0J16EsAg4noo+5Vn0z+ZilJz/3oICLrrIxtKl6XTqVEhhoWLo0DCmTg1El5HGKiNFlxCiVnjqqVzuuisfm00xZEgoKSkyJbUmLF9u32cxLs6+z6KrUFc0RXvhbdR/OoKhY6z5DH3SExh/7Xd2aLVaYKDBRx9l8vDD9u2dpk8PZMiQUPLzZTJlVZCiSwhRKygFr72WTevWRZw8qXHffeEcPuyE++09zKkV6O+9N98pyxucjfLzRxv0GNrQMRAYDIf/RJ80Cn31pxi22jOh3dV4ecG4cSeYNi0Lb2+D1ast9OgRzqFDzo6s9pOiSwhRa/j42NfwuvzyEo4d86J//zBycuQv8Oryyy/e/PqrDz4+Bn365J/7ACdRzW9AG/82NLsBbFaMpE/QpzyDcewcC2aJsyo9wd6bli3ht9+kh/lCSNElhKhVgoIMEhMziI62sXu3N4MHh1HkOqNebuXUMhEV2WfR2VRQCNrQZ1EDHwOLH+zbhT5xBPp3qzBkUtJ5O32CvckEkZHyf3khpOgSQtQ6devqJCZmEBCgs2GDL6NGhVDLd9hxOZmZGsuXWwC4/37nT6CvCKUUWquOaC+8DVc0heJijAVz0Ke/gJF53Nnh1VoXXWRj2bIMvvoK6tSRoutCSNElhKiVGje28u67WZhMBklJfrz6qqzhVZX++18LRUWKJk2Kueaa2nVXoAqvg/bYBNQ9D9nHpH//FX38CPQN39X6/S+dJTDQ4LLLnB1F7SdFlxCi1mrXrogpU7IBmDEjkE8+kTW8qoLN9s8+iwMGVM0+izVNaRpap65o496EixtBwUmMD99An/0qRm6Os8MTHkqKLiFErda7dwGjRp0AYMyYYL7+WtbwulCn9lkMCamefRZrkoqui/b0ZFT3/vbb8rZsQH/hUYxfNjo7NOGBpOgSQtR6jz+eR+/e+ei64uGHQ/n1V9nC5EKcWiaiJvZZrAnKywutSy+0Ma9B3XjIzUGf+TL6R29i5FfvfDXDMDBOZGPs342xfTNGgeveBSqqn9z7KYSo9ZSCyZOzSU3VWLvWzH33hdG+fRG6DlarwmrF8bn939M/V9hs9iG1sr8Ouq5KPWcyGURF6URF2YiOthEVpRMdbfv7w/58RITucutaVcSBA87bZ7G6qYsuQRs7DWPZfIzkJIz132Ds3GbfPPuKpud1TkPXMbIzMI4fw8hIg4w0yDiOkXEMMo5DZhoUF/9zQGAw6q4BqP90RGnS7+FppOgSQrgFb2+YMyeLnj0j2LHDmyVLqnd+V2amF7//Xn6PmpeXQZ06OjExNuLjISQkiKgoG1FRNmJi/inYgoIMl5ozdfo+ixdf7H4LjCpvb1TC/RhNW6J/NN2+jdC0cahO3VA97kP5lh6eNmw2yM6EjGMYGcfh72LqVIF1KDMdrOe40UApCA6zf56dgfHxWxjff4HW5yFUA5md7kmk6BJCuI3AQINPP00nKclCYaHCy4u/PwxMpn8+9/Ky91aV9/V/t/33c0VFirQ0L1JTNVJTvUhN9eLYMe3vf71IS9Ow2ZTja1u3AviXGbPFopfqKYuK0mnfvoi2bWt+8bGCAli0yHX2WaxO6tIr0Z5/E+PTjzD+twbjmxUYv21BtbixVFFFVjrn3HxQ0yA0AsLroMIj4e8Px+dhESiTN4a1BOPbVRgrFsKBPeivPGnv8ep5HyokrGYSF06lDDe7fzYrK4uCgto98fNslFLExMRw9OhRt7/1WXJ1X+6er9UK6en/FGEFBWHs3p37dxGmceyYvRjLzi5/eGnEiFyefDKXmhyB+u9/LTzxRChxcVbWr0+r9PBobb2uxvbN6HPfhpzMsht4meyba59eSIVHokVEEnllE9KKbVTmQhk5WRhJiRg/fmN/wteC6tbb3ttmcs35iNV5bS0WC6GhoVV6TlclPV1CCFHFTCaIjtaJjtZRykpMDBw9mnfGL6uCAjh2zOvvIsxepKWkePP553689VYgv//uzdtvZxEYWDMFjCvvs1idVJNr0Sa8jbHmc8jPg7A6EBGFCq8D4VEQHILSzvwPUUphioxBVbIQUcGhqPtHYrS7HX3hu7B/N8aSjzHWfYXWezCqSYuqTE+4ECm6hBDCSSwWqF/fRv36pedOtWtXxFNPhfDVV2buuCOCDz/MrPb5VVu31o59FquL8g9E3TWgZl/z4kZoz0zB2Pgdxmdz4dhh9LcmQpMWaL0fQEXF1mg8ovrJrRNCCOFiEhIK+OyzdMf+kl271uF///Op1tc8tc9it26uv8+iO1GahtaqE9pLs1G39rAPZW7/Gf2FR9GXfIxR6HkFsDuToksIIVxQ8+YlrFp1nObNi8nO1ujXL5z33/evlj0mMzM1VqyoXfssuhtl8UNLGIg2/m246lqwWTG+/Bz9uUfQ138rm3a7CSm6hBDCRUVH6yxZks7dd9sXfn3hhWBGjQqhqIpvbFy0yM+xz2Lz5rVrn0V3o6Lr4jXyBbTh4yAyBnKyMD6ajj75aYz9e5wdnrhAUnQJIYQLM5vhjTeyeeGFHDTN4L//9ePuuyNIS6uaH9/2fRbty0Tcf/9Jl1ozzJOpq69DGz/DPs/M1wL7dqG/PAr947cwTmQ5OzxxnqToEkIIF6cUPPTQSebNyyQ4WGfzZh9uv71OlWx39O23vvz1l32fxTvvLKyCaEVVUd7eaLfdhfbSLNQNHQAwfvzaPuSYvBTjXIuyCpcjdy8KIUQt0a5dEStXHmfQoDD27PGmZ88IXnstmx49zn9twsRE99pn0R2pkHDU4Mcx2v+9xMSff2B8+iHGumT7XY5XXePsEGtMcnIyycnJHD9+HIC4uDgSEhJo3rx5me03bdpEUlISqamp2Gw2oqOj6datG23btnW0mTlzJmvXri11XNOmTRk7dqzjcV5eHh9++CGbN29GKcX111/PwIEDMZvNlYpfii4hhKhFGjSwsWJFOsOGhfLNN2YefTSUHTtMPPNMbqXX1nLnfRbdkbrkcrQxr2H8+DVG0ieQegj9zfHQtCVar8GoyBhnh1jtwsLC6Nu3LzExMRiGwdq1a5kyZQpTpkyhXr16Z7QPCAigZ8+exMbGYjKZ2LJlC7NmzSIoKIhmzZo52jVr1oyhQ4c6HptMpcujt956i6ysLJ577jlsNhuzZs1izpw5jBw5slLxy/CiEELUMoGBBh99lMmjj+YCMGtWIPffH8aJE5WbkJWYaN9nsUMH99xn0R0pTUNrcwvaS++gbrrTvjfVr/+H/sIw9M/m2rcvcmMtWrTgmmuuISYmhtjYWPr06YPZbGbPnrJvMmjcuDEtW7YkLi6O6OhoOnfuTHx8PDt37izVzmQyERIS4vgICAhwfO3QoUP88ssvPPzww1x66aVcfvnlDBo0iPXr15OZWc4uBuVwy54u5cYzQU/l5s45niK5ui9Pyre6cjWZYMyYPK64wsqoUSF8+62Zrl3r8PHHmVxyybkLqPx8+O9/T02gz6+S+DzpuoJz81X+gXDPAxjtbkP/fC7s3A5r12CsXYPR4DJUi9ao5v9BBQRWzevVQK4FBQWlVvb39vbG27v8eYu6rrNhwwaKiopo1KjROc9vGAYpKSkcOXKEfv36lfrajh07eOCBB/D39+eqq67innvuITDQ/n+3e/du/P39ueSSSxztmzRpglKKP/74g5YtW1Y4R7fbe1EIITzN5s3QvTscOgTBwbBoEdx229mP+egjGDQI4uNh7148atsf4Zqefvpp9u/f73ickJBAr169zmh38OBBxo4dS0lJCWazmREjRnDNNeXPa8vPz2fIkCFYrVY0TWPw4MF07NjR8fUff/wRX19fIiMjSU1NZeHChZjNZiZNmoSmaXz++eesXbuWN998s9R5H3jgAXr16sUtt9xS4RzPq6drzZo1rFixguzsbOLj4xk0aBANGzYst/2qVatITk4mPT2doKAgrr/+evr27YuPj32F5cWLF7NkyZJSx8TGxjJ9+vRKx5aVlUVhofvegaOUIjo6mtTU1Fq1oez5kFzdlyflWxO5xsbCqlUagweH8vPPPnTpYjB2bC4PP1z2EhCGAdOnhwM+9Ot3grS0qpnP5UnXFVwzXyMrA2Preoyf18Nf/xQw+PigmrRAtbgRLm9S6Y21qzNXs9lMaGgo48ePP6Onqyyx/9/e3QdFdd0NHP/uCigLLivldRVBBLRRXtREjMT4wiR2DK1pkxpFO2kNJBWa18nLPBqNJmIT8XUm2tgpJiUaAR1jTCCmWtFofG0gDWCqT8TERFwFYUV2XRF3nz982GaFRVG4sOzvM+M4e/fcy/nt4XB/e+655+r1ZGdnYzabOXToEGvWrGHRokUMGDDA6fGzs7OxWCyUlZWRm5tLcHAww4YNAyApKcleduDAgYSHh/P0009TUVFBbGxsB0Z6G0nXgQMHyM3NJT09nejoaAoLC8nKymLVqlX4+fm1KL9//34++OAD5syZQ0xMDGfPnmXt2rWoVCoef/y/z7kKCwtj/vz59tfqdjyx/Ubd5Ze/M9lsNreIEyTWnsyd4u3sWAMCrlFQUMO8eX5s2uTDG29oqajwYOlSI97ejmVLSjz5+msveve+/pzFjq6XO7UrdLN4df6oJqagmpiC7eyP2I58ju3IXjh/Ftv+nbB/J/j0RTUqCVXi/RB1F6p2nG87M1bvG39RnfDw8CAkJASAyMhITp48SVFREU8++WSr5dVqtb18REQEZ86cYdu2bfak60bBwcH07dsXg8FAbGwsOp2O+vp6hzLXrl2joaEBnU53i9H9f93bVRr45JNPSE5OZuLE62uGpKenU1JSQnFxMQ8//HCL8sePH2fIkCHcd999AAQFBZGUlNRi0ptarW5X5a9evcrVq/9do0StVttv3ezJ8wncac6ExNpzuVO8Ssbapw8sW1bPXXc1sXChlq1bNVRWepCTU0do6H8fI9O8TMT15yzagI6pmzu1K3T/eFX6MHh4JrapqfDd/2I9vBfb0X3XV7n/fAe2z3dAvwBUo+9HnTgewgY5jaU7x2q1Wh3ygTstf+HCBRoaGujXrx8AMTExmEwmKisriYyMBKC8vBybzdbmVb7WtCvpampqorKy0iG5UqvVxMbGcuLEiVb3GTJkCPv27ePbb78lKiqKc+fOUVpayrhx4xzKGQwGnnrqKTw9PYmJiSE1NZWAgACndfnwww8dLkkmJSXx7LPP2j+knq45a3cHEmvP5U7xKhnrq6/CvffCtGnw1VdepKQEs3UrjBkDNTWwffv1ci++qCE0VNPhP9+d2hVcJF69HsaOx3btGlfKvsS8ZwfmA7ux1dVg+2wr1z7bikfYIDTjJ6MZPxlPfcvlF6DrY/3ggw9ISEggICAAi8XC/v37OXbsmH1Nrbffftu+rARczxUGDx5McHAwV69epbS0lH379pGWlgaAxWJh8+bNJCYmotPpOHfuHBs2bCAkJIT4+Hjg+lpgCQkJrFu3jvT0dJqamli/fj1jx47F39+/XfVv10T62tpa/vjHP7J48WKHOwU2bNjAsWPHWLJkSav7FRUV8f777wPXh+QeeOAB0tPT7e+XlpZisVjQ6/XU1dWxZcsWamtrWb58udPhRmcjXTKnq+eQWHsud4q3K2P9/vte/P73/Th+3BMvLxtLl17k/Hk1S5ZoiYtr5NNPL3ToY3/cqV3B9eO1XW3EVvYltsN7sf37CPx0hftBMagTx6O6Zxwqv36KzOm6FX/5y18oLy+nrq4OjUZDeHg4U6dOJS4uDoCFCxcSGBhIZmYmAHl5eRw4cIALFy7g5eVF//79mTJlCmPHjgWgsbGR7OxsTp06hclkwt/fn7i4OB577DGHq28NDQ3k5OQ4LI46e/bsdi+O2ulJV0VFBatWrWL69OlER0djMBh49913SU5O5tFHH23155hMJjIyMnj88ccd7jC4FXV1dVy+fPurM3d3KpWK0NBQzp4965KdvD0k1p7LneLt6lgbGlQ884yOzz67/gW2Tx8rFoua5cvrmD69Y/9WdnWsSutJ8doum7GVHsR2+HP45t9g+//L0So1DI1FnTiB0Cm/5lz9pQ6P1dvb222uUrVrtrpWq0WtVmM0Gh22G41Gp/Ox8vPzuf/++0lOTmbgwIGMHj2aGTNmsG3bNqxWa6v7+Pj4oNfrMRgM7ameEEKIG/j62vjb3+p47rnrC6laLGp5zqJoQeWtQT02mV7PL0K97F1U05+EyCHXk69v/o31vdWcmfkgtlOtTyUSt6ZdSZeHhweRkZGUl5fbt1mtVsrLy50uTHblypUWE+9udmeixWLBYDC0+64AIYQQLanV8NJLl3jnnVqioq4yb169PGdROKXS9kOdnEKv/8lGveSvqB6eBaFhqHv3gbBBXV09l9buuxdTUlJYs2YNkZGRREVFUVRUxJUrV5gwYQLQchLbqFGjKCwsZNCgQfbLi/n5+YwaNcqefOXm5nL33XcTEBBAXV0dBQUFqNVq+x2PQggh7twvf2nhl7+UES5x61SBIagemgYPTSO4tyfnG5tc/lJqV2p30jV27Fjq6+spKCjAaDQSERHB3Llz7aNSNTU1DiNbjzzyCCqViry8PGpra9FqtYwaNYoZM2bYy9TW1rJ69WouXbqEVqtl6NChZGVlodVq7zxCIYQQQtwRlUpFr58FwtmzXV0Vl9bjHgMkE+l7Dom153KneCXWnsud4u3MWGUivRBCCCGE6FCSdAkhhBBCKECSLiGEEEIIBUjSJYQQQgihAEm6hBBCCCEUIEmXEEIIIYQCJOkSQgghhFCAJF1CCCGEEAqQpEsIIYQQQgGSdAkhhBBCKECSLiGEEEIIBUjSJYQQQgihAI+urkBH8/T07OoqKKJPnz5dXQXFSKw9lzvFK7H2XO4Ub2fE6i7nbQCVrac/Gl0IIYQQohuQy4suxmKxsHr1aiwWS1dXpdNJrD2XO8UrsfZc7hSvO8XamSTpcjFWq5UvvvgCq9Xa1VXpdBJrz+VO8UqsPZc7xetOsXYmSbqEEEIIIRQgSZcQQgghhAIk6XIxnp6ePProo25xt4fE2nO5U7wSa8/lTvG6U6ydSe5eFEIIIYRQgIx0CSGEEEIoQJIuIYQQQggFSNIlhBBCCKEASbqEEEIIIRTQ45696Mo+/PBDjhw5wpkzZ/Dy8iImJoZZs2ah1+ud7rNnzx7Wrl3rsM3T05ONGzd2dnXvSEFBAVu2bHHYptfrWbVqldN9Dh48SH5+PtXV1YSEhDBz5kxGjhzZyTXtGJmZmVRXV7fY/uCDD5KWltZiuyu167Fjx9i+fTunTp2irq6OF198kdGjR9vft9lsFBQU8M9//hOTycTQoUNJS0sjNDS0zePu2LGDjz/+GKPRSHh4OLNnzyYqKqqzw2lTW7E2NTWRl5dHaWkp58+fR6PREBsbS2pqKv7+/k6PeTt9QSk3a9s1a9awd+9eh33i4+OZN29em8d1tbYFmDZtWqv7zZo1i1/96letvtdd2/ZWzjWNjY3k5uZy4MABrl69Snx8PGlpaeh0OqfHvd2+7k4k6epGjh07xuTJkxk8eDDXrl1j06ZNLF68mBUrVrT5kFFvb29Wr16tYE07RlhYGPPnz7e/VqudD7weP36c1atXk5qaysiRI9m/fz/Z2dm89dZbDBw4UInq3pE///nPDis5nz59msWLF3Pvvfc63cdV2vXKlStEREQwadIkli1b1uL9jz76iE8//ZTMzEyCgoLIz88nKyuLFStW4OXl1eoxDxw4QG5uLunp6URHR1NYWEhWVharVq3Cz8+vs0Nyqq1YGxsbOXXqFI888ggRERE0NDTw3nvvsXTpUt588802j9uevqCkm7UtQEJCAhkZGfbXHh5tn1ZcsW0B/vrXvzq8Li0t5Z133iExMbHN43bHtr2Vc83f//53SkpKeOGFF9BoNOTk5LB8+XLeeOMNp8e9nb7ubiTp6kZu/HaYmZlJWloalZWV3HXXXU73U6lUbX776K7UavUt17uoqIiEhAT7N8rp06dTVlbGjh07ePLJJzuxlh1Dq9U6vN62bRvBwcE9ol1HjBjBiBEjWn3PZrNRVFTEb37zG+655x4A/vSnP5Gens7Ro0dJSkpqdb9PPvmE5ORkJk6cCEB6ejolJSUUFxfz8MMPd0oct6KtWDUajcPJFWD27NnMnTuXmpoaAgICnB63PX1BSW3F28zDw6NddXfFtgVaxHj06FGGDRtGcHBwm8ftjm17s3ON2Wxm9+7dPPvsswwfPhyAjIwMnn/+eU6cOEFMTEyLY95uX3c3knR1Y2azGQBfX982y1ksFjIyMrDZbAwaNIgZM2YQFhamRBXviMFg4KmnnsLT05OYmBhSU1OdnphOnDhBSkqKw7b4+HiOHj2qRFU7VFNTE/v27eOhhx5CpVI5Leeq7fpT58+fx2g0EhcXZ9+m0WiIiorixIkTrf4hbmpqorKy0uEErFariY2N5cSJE0pUu8OYzWZUKhUajabNcu3pC93NsWPHSEtLw8fHh+HDhzN9+nT69u3batme0rZGo5HS0lIyMzNvWtYV2vbGc01lZSXXrl0jNjbWXqZ///4EBAQ4Tbpup6+7I0m6uimr1cp7773HkCFD2rx8ptfrmTNnDuHh4ZjNZrZv386rr77KihUr+NnPfqZgjdsnOjqajIwM9Ho9dXV1bNmyhQULFrB8+XK8vb1blDcajS0uPfj5+WE0GhWqccc5cuQIJpOJCRMmOC3jqu16o+b2aU/b1dfXY7VaW4wO6HQ6qqqqOqGWnaOxsZGNGzeSlJTUZtLV3r7QnSQkJJCYmEhQUBAGg4FNmzaxZMkSsrKyWr2M1lPadu/evfTp08dhzldrXKFtWzvXGI1GPDw88PHxcSjbVr+9nb7ujiTp6qZycnL44YcfeP3119ssFxMT4/CtIyYmhueff56dO3cyffr0zq7mbfvpMH54eLj9j9PBgweZNGlSF9as8xUXF5OQkNDm5GpXbVdxXVNTEytXrgRo9UaJn3LlvvDT0YuBAwcSHh7O008/TUVFhcMoSU9TXFzMuHHjbjpPyRXa9lbPNaJjdP2MPtFCTk4OJSUlvPbaa+0e1fDw8GDQoEEYDIZOql3n8PHxQa/XO623Tqfj4sWLDtsuXrzY7eZK3Ex1dTVff/01ycnJ7drPVdu1uX3a03ZarRa1Wt3i27HRaHSJ9m5OuGpqanj11VdvemnxRjfrC91ZcHAwffv2dVp3V29bgG+++YaqqqrbSpq6W9s6O9fodDqampowmUwO5dvqt7fT192RJF3diM1mIycnhyNHjrBgwQKCgoLafQyr1crp06fp169fJ9Sw81gsFgwGg9POGRMTQ1lZmcO2r7/+mujoaAVq13GKi4vx8/Nr91IXrtquQUFB6HQ6h7Yzm818++23rc4LgesJZmRkJOXl5fZtVquV8vJyp/t0F80Jl8FgYP78+U7nNrXlZn2hO7tw4QINDQ1Of09duW2b7d69m8jISCIiItq9b3dp25udayIjI+nVq5dDv62qqqKmpsZpO91OX3dHcnmxG8nJyWH//v28/PLLeHt7278NajQa+zD222+/jb+/P6mpqQBs2bKF6OhoQkJCMJlMbN++nerq6naPpCgtNzeXu+++m4CAAOrq6igoKECtVnPfffcBLeOcMmUKCxcu5OOPP2bkyJF88cUXnDx50iXuXGxmtVrZs2cP48ePp1evXg7vuXK7Np9Imp0/f57vvvsOX19fAgICmDJlClu3biU0NJSgoCDy8vLo16+f/Q4ngNdff53Ro0fzi1/8AoCUlBTWrFlDZGQkUVFRFBUVceXKlTbnwSmhrVh1Oh0rVqzg1KlTvPLKK1itVnsf9vX1tS+lcGOsN+sLXamteH19fdm8eTOJiYnodDrOnTvHhg0bCAkJIT4+3r5PT2jb5onvZrOZQ4cO8bvf/a7VY7hK297sXKPRaJg0aRK5ubn4+vqi0WhYv359i2kPzz33HKmpqYwePRqVSnVLfd3dSdLVjfzjH/8AYOHChQ7bMzIy7H+QampqHO54a2hoYN26dRiNRnx8fIiMjGTx4sUMGDBAqWrfltraWlavXs2lS5fQarUMHTqUrKws+9IKN8Y5ZMgQnnnmGfLy8ti0aROhoaG89NJLLrFGV7OysjJqamrst8r/lCu368mTJ1m0aJH9dW5uLgDjx48nMzOTqVOncuXKFdatW4fZbGbo0KHMnTvXYT7MuXPnqK+vt78eO3Ys9fX1FBQUYDQaiYiIYO7cuV0+QtBWrL/97W/517/+BcDLL7/ssN9rr73GsGHDgJax3qwvdKW24k1PT+f06dPs3bsXk8mEv78/cXFxPPbYY3h6etr36Qlt23yX4oEDB7DZbE6TJldp21s51zz++OOoVCqWL19OU1OTfXHUn6qqqrLf+QjcUl93dyqbzWbr6koIIYQQQvR0MqdLCCGEEEIBknQJIYQQQihAki4hhBBCCAVI0iWEEEIIoQBJuoQQQgghFCBJlxBCCCGEAiTpEkIIIYRQgCRdQgghhBAKkKRLCNHjFRQUMG3aNIfVwoUQQmmSdAkhhBBCKECSLiGEEEIIBUjSJYQQQgihAI+uroAQoueora0lLy+P0tJSTCYTISEhpKSkMGnSJAAqKipYtGgRzz33HN999x3FxcVYLBaGDx/OE088QUBAgMPxDh48yLZt2/jxxx/p06cP8fHxzJo1C39/f4dyZ86cIT8/n4qKCiwWCwEBAYwZM4YZM2Y4lDObzbz//vscPXoUm81GYmIiTzzxBL179+7cD0YIIZCkSwjRQYxGI/PmzQNg8uTJaLVavvrqK9555x0uX77MQw89ZC+7detWVCoVU6dOpb6+nsLCQt544w2ys7Px8vICYM+ePaxdu5bBgweTmprKxYsXKSoq4vjx4yxduhQfHx8Avv/+exYsWICHhwfJyckEBQVhMBj48ssvWyRdK1euJDAwkNTUVCorK9m9ezdarZZZs2Yp9CkJIdyZJF1CiA6Rl5eH1Wpl2bJl9O3bF4AHH3yQVatWsXnzZh544AF72YaGBlauXIm3tzcAgwYNYuXKlezatYspU6bQ1NTExo0bCQsLY9GiRfZEbOjQobz55psUFhYybdo0ANavXw/AW2+95TBSNnPmzBZ1jIiIYM6cOQ71KC4ulqRLCKEImdMlhLhjNpuNw4cPM2rUKGw2G/X19fZ/CQkJmM1mKisr7eXvv/9+e8IFMGbMGPr160dpaSkAlZWVXLx4kcmTJ9sTLoCRI0fSv39/SkpKAKivr+ebb75h4sSJLS5NqlSqFvX8aeIH15O4S5cuYTab7/xDEEKIm5CRLiHEHauvr8dkMrFr1y527drltEzzJcHQ0FCH91QqFSEhIVRXVwPY/9fr9S2Oo9fr+c9//gPAuXPnAAgLC7ulet6YmPn6+gJgMpnQaDS3dAwhhLhdknQJIe6YzWYDYNy4cYwfP77VMuHh4fz4449KVqsFtbr1wf3m+gshRGeSpEsIcce0Wi3e3t5YrVbi4uKclmtOus6ePeuw3WazYTAYGDhwIACBgYEAVFVVMXz4cIeyVVVV9veDg4MB+OGHHzomECGE6EQyp0sIccfUajWJiYkcPnyY06dPt3j/xsfvfP7551y+fNn++tChQ9TV1TFixAgAIiMj8fPzY+fOnVy9etVerrS0lDNnzjBy5EjgerL385//nOLiYmpqahx+hoxeCSG6GxnpEkJ0iNTUVCoqKpg3bx7JyckMGDCAhoYGKisrKSsr491337WX9fX1ZcGCBUyYMIGLFy9SWFhISEgIycnJAHh4eDBz5kzWrl3LwoULSUpKwmg08umnnxIYGOiw/MQf/vAHFixYwCuvvGJfMqK6upqSkhKys7MV/xyEEMIZSbqEEB1Cp9OxZMkStmzZwuHDh/nss8/o27cvYWFhLZZv+PWvf83333/Ptm3buHz5MrGxsaSlpTksUjphwgS8vLz46KOP2LhxI7179+aee+5h1qxZ9gn5cH0ZiKysLPLz89m5cyeNjY0EBgZy7733Kha7EELcCpVNxuCFEAppXpH+hRdeYMyYMV1dHSGEUJTM6RJCCCGEUIAkXUIIIYQQCpCkSwghhBBCATKnSwghhBBCATLSJYQQQgihAEm6hBBCCCEUIEmXEEIIIYQCJOkSQgghhFCAJF1CCCGEEAqQpEsIIYQQQgGSdAkhhBBCKECSLiGEEEIIBfwf+bqjYF6UCsMAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 10.75it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 10.74it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 11.56it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 10.97it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Schmidhuber 2023 Subjective Novelty, Surprise\n",
"{'before': 29.614953994750977, 'after': 28.47076988220215}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 11.94it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 11.54it/s]\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.0744, 'learning_rate': 0.0003333333333333333, 'epoch': 1.0}\n",
"{'eval_loss': 3.2226405143737793, 'eval_runtime': 0.0742, 'eval_samples_per_second': 13.486, 'eval_steps_per_second': 13.486, 'epoch': 1.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.0721, 'learning_rate': 0.0006666666666666666, 'epoch': 2.0}\n",
"{'eval_loss': 3.223418712615967, 'eval_runtime': 0.0778, 'eval_samples_per_second': 12.847, 'eval_steps_per_second': 12.847, 'epoch': 2.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.0759, 'learning_rate': 0.001, 'epoch': 3.0}\n",
"{'eval_loss': 3.2250990867614746, 'eval_runtime': 0.0742, 'eval_samples_per_second': 13.481, 'eval_steps_per_second': 13.481, 'epoch': 3.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.0788, 'learning_rate': 0.0013333333333333333, 'epoch': 4.0}\n",
"{'eval_loss': 3.2234678268432617, 'eval_runtime': 0.0744, 'eval_samples_per_second': 13.435, 'eval_steps_per_second': 13.435, 'epoch': 4.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.0265, 'learning_rate': 0.0016666666666666668, 'epoch': 5.0}\n",
"{'eval_loss': 3.221116065979004, 'eval_runtime': 0.0767, 'eval_samples_per_second': 13.033, 'eval_steps_per_second': 13.033, 'epoch': 5.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.9834, 'learning_rate': 0.002, 'epoch': 6.0}\n",
"{'eval_loss': 3.2161364555358887, 'eval_runtime': 0.0802, 'eval_samples_per_second': 12.469, 'eval_steps_per_second': 12.469, 'epoch': 6.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.958, 'learning_rate': 0.0018571428571428573, 'epoch': 7.0}\n",
"{'eval_loss': 3.210041046142578, 'eval_runtime': 0.0824, 'eval_samples_per_second': 12.139, 'eval_steps_per_second': 12.139, 'epoch': 7.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.9219, 'learning_rate': 0.0017142857142857142, 'epoch': 8.0}\n",
"{'eval_loss': 3.2037718296051025, 'eval_runtime': 0.0774, 'eval_samples_per_second': 12.922, 'eval_steps_per_second': 12.922, 'epoch': 8.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8684, 'learning_rate': 0.0015714285714285715, 'epoch': 9.0}\n",
"{'eval_loss': 3.2055044174194336, 'eval_runtime': 0.0745, 'eval_samples_per_second': 13.426, 'eval_steps_per_second': 13.426, 'epoch': 9.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8611, 'learning_rate': 0.0014285714285714286, 'epoch': 10.0}\n",
"{'eval_loss': 3.202153205871582, 'eval_runtime': 0.0792, 'eval_samples_per_second': 12.627, 'eval_steps_per_second': 12.627, 'epoch': 10.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8311, 'learning_rate': 0.0012857142857142859, 'epoch': 11.0}\n",
"{'eval_loss': 3.2075014114379883, 'eval_runtime': 0.0777, 'eval_samples_per_second': 12.875, 'eval_steps_per_second': 12.875, 'epoch': 11.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.813, 'learning_rate': 0.0011428571428571427, 'epoch': 12.0}\n",
"{'eval_loss': 3.206439971923828, 'eval_runtime': 0.0742, 'eval_samples_per_second': 13.477, 'eval_steps_per_second': 13.477, 'epoch': 12.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7881, 'learning_rate': 0.001, 'epoch': 13.0}\n",
"{'eval_loss': 3.2009530067443848, 'eval_runtime': 0.0741, 'eval_samples_per_second': 13.503, 'eval_steps_per_second': 13.503, 'epoch': 13.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.765, 'learning_rate': 0.0008571428571428571, 'epoch': 14.0}\n",
"{'eval_loss': 3.19985294342041, 'eval_runtime': 0.0762, 'eval_samples_per_second': 13.123, 'eval_steps_per_second': 13.123, 'epoch': 14.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7592, 'learning_rate': 0.0007142857142857143, 'epoch': 15.0}\n",
"{'eval_loss': 3.2009499073028564, 'eval_runtime': 0.0739, 'eval_samples_per_second': 13.54, 'eval_steps_per_second': 13.54, 'epoch': 15.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7307, 'learning_rate': 0.0005714285714285714, 'epoch': 16.0}\n",
"{'eval_loss': 3.1999948024749756, 'eval_runtime': 0.0755, 'eval_samples_per_second': 13.25, 'eval_steps_per_second': 13.25, 'epoch': 16.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7533, 'learning_rate': 0.00042857142857142855, 'epoch': 17.0}\n",
"{'eval_loss': 3.1982595920562744, 'eval_runtime': 0.0784, 'eval_samples_per_second': 12.754, 'eval_steps_per_second': 12.754, 'epoch': 17.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7196, 'learning_rate': 0.0002857142857142857, 'epoch': 18.0}\n",
"{'eval_loss': 3.193620204925537, 'eval_runtime': 0.0756, 'eval_samples_per_second': 13.23, 'eval_steps_per_second': 13.23, 'epoch': 18.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7177, 'learning_rate': 0.00014285714285714284, 'epoch': 19.0}\n",
"{'eval_loss': 3.19625186920166, 'eval_runtime': 0.0746, 'eval_samples_per_second': 13.411, 'eval_steps_per_second': 13.411, 'epoch': 19.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7134, 'learning_rate': 0.0, 'epoch': 20.0}\n",
"{'eval_loss': 3.198460340499878, 'eval_runtime': 0.08, 'eval_samples_per_second': 12.496, 'eval_steps_per_second': 12.496, 'epoch': 20.0}\n",
"{'train_runtime': 4.7749, 'train_samples_per_second': 150.788, 'train_steps_per_second': 4.189, 'train_loss': 0.8755794435739517, 'epoch': 20.0}\n"
]
},
{
"data": {
"image/png": "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XoTmN4I9H+3D19F//6mswxRCCOEBDO4OQAh3i4nJ5pNPAli71oTVqhAScoFHGf9FMRhRnxiF9unb8OsWtI/eRH1iFEqLG8spYiGE8E4JCQkkJCRw9uxZAGrWrElMTAwtWrS4YPu1a9eyadMmTpw4AUCdOnXo168f9erVc7bZvn07a9as4ciRI2RmZjJx4kRq1apV5DxxcXHs3Vt02aBbb72Vxx9/3KX4pegSXu+66+xcc00+f/5pZNkyMw89lH3ZYxSDAXXwSPTP30X/+Qe0j99CHfwCSsu25RCxEEJ4p7CwMPr3709kZCS6rrNx40YmTpzIxIkTueqqq85rv3fvXtq1a0fDhg0xGo0sWbKE8ePHM3nyZMLCwgCw2Ww0atSIm266iY8//vii1+7SpQv33Xef87Wvr6/L8cvwohA4ervgwgulXoxiMKA89hxK61ugoADtk4loP/9YViEKIYTXa9WqFddffz2RkZFERUXRr18/TCYTBw8evGD74cOH061bN2rVqkWNGjUYMmQIuq6za9cuZ5ubb76ZmJgYmjRpcslr+/n5ERIS4vxjsVz8qfeL8bieLkVR3B1CmSrMz9PzhPLNtVevXCZMCOLnn/346y8DtWoVFOs4xWBAH/QsusmM/vMPMPsjdFVBbdXepet7030F78pXcvVc3pRvWeeak5OD/q9Vqo1GI0bjhddPLKRpGlu3bsVms9GgQYNiXcdms2G32wkICHA5xh9++IEffviBkJAQWrZsSZ8+ffDz83PpHB5VdIWGhro7hHITERHh7hDKTXnkGhkJXbrAmjWQkBDOq6+6eIIXx5dKHN50X8G78pVcPZc35VtWucbFxXH06FHn65iYGPr27XvBtsePHyc2Npb8/HxMJhMjR46kZs2axbrOnDlzCAsLu2yv1n+1b9+eqlWrEhYWxl9//cWcOXM4deoUI0eOdOk8HlV0paamkpub6+4wypSiKERERJCYmFjktwJPVN653n23mTVrQvjySzuDB5/F1V/odE1DnzcDfct6UBSU/kNQb7ylWMd6030F78pXcvVc3pRvWeVqMpkIDQ0lLi7uvJ6ui4mKimLSpElkZ2ezbds2pk2bxrhx4y5beMXHx7N582bi4uJcno916623Ov//6quvJjQ0lNdee43ExESXClGPKroAj//gF9J1XXItZbffnoPFEsSxYwZ+/tnA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",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 11.79it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 11.56it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 12.32it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 11.29it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"email_to_fauci\n",
"{'before': 25.08931541442871, 'after': 24.371374130249023}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 34.95it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 31.78it/s]\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.177, 'learning_rate': 0.0003333333333333333, 'epoch': 1.0}\n",
"{'eval_loss': 3.249210834503174, 'eval_runtime': 0.0412, 'eval_samples_per_second': 24.276, 'eval_steps_per_second': 24.276, 'epoch': 1.0}\n",
"{'loss': 1.205, 'learning_rate': 0.0006666666666666666, 'epoch': 2.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.2476515769958496, 'eval_runtime': 0.0403, 'eval_samples_per_second': 24.843, 'eval_steps_per_second': 24.843, 'epoch': 2.0}\n",
"{'loss': 1.1889, 'learning_rate': 0.001, 'epoch': 3.0}\n",
"{'eval_loss': 3.2459347248077393, 'eval_runtime': 0.04, 'eval_samples_per_second': 25.026, 'eval_steps_per_second': 25.026, 'epoch': 3.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.161, 'learning_rate': 0.0013333333333333333, 'epoch': 4.0}\n",
"{'eval_loss': 3.2447614669799805, 'eval_runtime': 0.0412, 'eval_samples_per_second': 24.249, 'eval_steps_per_second': 24.249, 'epoch': 4.0}\n",
"{'loss': 1.125, 'learning_rate': 0.0016666666666666668, 'epoch': 5.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.239017963409424, 'eval_runtime': 0.0434, 'eval_samples_per_second': 23.036, 'eval_steps_per_second': 23.036, 'epoch': 5.0}\n",
"{'loss': 1.0341, 'learning_rate': 0.002, 'epoch': 6.0}\n",
"{'eval_loss': 3.234159469604492, 'eval_runtime': 0.0488, 'eval_samples_per_second': 20.484, 'eval_steps_per_second': 20.484, 'epoch': 6.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 1.0079, 'learning_rate': 0.0018571428571428573, 'epoch': 7.0}\n",
"{'eval_loss': 3.222565174102783, 'eval_runtime': 0.0427, 'eval_samples_per_second': 23.438, 'eval_steps_per_second': 23.438, 'epoch': 7.0}\n",
"{'loss': 0.9675, 'learning_rate': 0.0017142857142857142, 'epoch': 8.0}\n",
"{'eval_loss': 3.223250389099121, 'eval_runtime': 0.0393, 'eval_samples_per_second': 25.471, 'eval_steps_per_second': 25.471, 'epoch': 8.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.921, 'learning_rate': 0.0015714285714285715, 'epoch': 9.0}\n",
"{'eval_loss': 3.2214527130126953, 'eval_runtime': 0.0405, 'eval_samples_per_second': 24.712, 'eval_steps_per_second': 24.712, 'epoch': 9.0}\n",
"{'loss': 0.8556, 'learning_rate': 0.0014285714285714286, 'epoch': 10.0}\n",
"{'eval_loss': 3.219179391860962, 'eval_runtime': 0.0384, 'eval_samples_per_second': 26.025, 'eval_steps_per_second': 26.025, 'epoch': 10.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.8345, 'learning_rate': 0.0012857142857142859, 'epoch': 11.0}\n",
"{'eval_loss': 3.2118680477142334, 'eval_runtime': 0.0403, 'eval_samples_per_second': 24.838, 'eval_steps_per_second': 24.838, 'epoch': 11.0}\n",
"{'loss': 0.795, 'learning_rate': 0.0011428571428571427, 'epoch': 12.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.20888614654541, 'eval_runtime': 0.0454, 'eval_samples_per_second': 22.039, 'eval_steps_per_second': 22.039, 'epoch': 12.0}\n",
"{'loss': 0.7881, 'learning_rate': 0.001, 'epoch': 13.0}\n",
"{'eval_loss': 3.2091894149780273, 'eval_runtime': 0.0435, 'eval_samples_per_second': 23.005, 'eval_steps_per_second': 23.005, 'epoch': 13.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7197, 'learning_rate': 0.0008571428571428571, 'epoch': 14.0}\n",
"{'eval_loss': 3.1942005157470703, 'eval_runtime': 0.0398, 'eval_samples_per_second': 25.137, 'eval_steps_per_second': 25.137, 'epoch': 14.0}\n",
"{'loss': 0.7144, 'learning_rate': 0.0007142857142857143, 'epoch': 15.0}\n",
"{'eval_loss': 3.198335886001587, 'eval_runtime': 0.041, 'eval_samples_per_second': 24.385, 'eval_steps_per_second': 24.385, 'epoch': 15.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6973, 'learning_rate': 0.0005714285714285714, 'epoch': 16.0}\n",
"{'eval_loss': 3.198418617248535, 'eval_runtime': 0.0385, 'eval_samples_per_second': 25.96, 'eval_steps_per_second': 25.96, 'epoch': 16.0}\n",
"{'loss': 0.6987, 'learning_rate': 0.00042857142857142855, 'epoch': 17.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.204080581665039, 'eval_runtime': 0.04, 'eval_samples_per_second': 24.997, 'eval_steps_per_second': 24.997, 'epoch': 17.0}\n",
"{'loss': 0.6781, 'learning_rate': 0.0002857142857142857, 'epoch': 18.0}\n",
"{'eval_loss': 3.195650577545166, 'eval_runtime': 0.0385, 'eval_samples_per_second': 25.956, 'eval_steps_per_second': 25.956, 'epoch': 18.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6583, 'learning_rate': 0.00014285714285714284, 'epoch': 19.0}\n",
"{'eval_loss': 3.199404239654541, 'eval_runtime': 0.0393, 'eval_samples_per_second': 25.472, 'eval_steps_per_second': 25.472, 'epoch': 19.0}\n",
"{'loss': 0.6624, 'learning_rate': 0.0, 'epoch': 20.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 3.1974809169769287, 'eval_runtime': 0.0423, 'eval_samples_per_second': 23.636, 'eval_steps_per_second': 23.636, 'epoch': 20.0}\n",
"{'train_runtime': 3.3623, 'train_samples_per_second': 214.142, 'train_steps_per_second': 5.948, 'train_loss': 0.8944688588380814, 'epoch': 20.0}\n"
]
},
{
"data": {
"image/png": "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s/n666+ZPHkyM2fOLHDBQ1dXV957771yjLR01K5dmwkTJlgfq2r+jZl//fUX7733HmFhYbRp04YdO3YwY8YMpk2bxi233FIe4d6Ut956K9cMuWfPnmXy5Ml06NAh330qy3XNyMigTp069OjRg3feeeeG11evXs3333/PyJEj8ff3Z9myZUyZMoWZM2fi7Oyc5zF37drFokWLGD58OA0aNGD9+vVMmTKF2bNn4+3tXdYp5augXDMzMzl9+jQPPPAAderUITk5mc8//5zp06fz9ttvF3jc4nwWylNh1xagVatWPPvss9bHBkPBXxmV8doCfPTRR7ke79+/n/nz59OuXbsCj1sRr21Rvmu++OIL9u3bx0svvYSbmxsLFy7k3Xff5c0338z3uCX5rNsbKZjKyfW/lY0cOZJhw4Zx6tQpbr311nz3UxSlwKq/olJVtchxb9iwgVatWll/kxs0aBCHDh3ihx9+4KmnnirDKEuHl5dXrserVq2ievXqdnFdW7duTevWrfN8Tdd1NmzYQP/+/bnjjjsAeO655xg+fDi//vorISEhee63bt06evbsSffu3QEYPnw4+/btY8uWLdx///1lkkdRFJSrm5tbri9GgKFDhzJu3DhiYmKoWrVqvsctzmehPBWUbw6DwVCs2CvjtQVuyPHXX3+ladOmVK9evcDjVsRrW9h3TWpqKps3b2b06NE0a9YMgGeffZYXX3yR48eP07BhwxuOWdLPur2RgslGUlNTAfDw8Chwu/T0dJ599ll0Xadu3boMHjyY2rVrl0eINyUqKoqnn34ao9FIw4YNCQsLy/dL5fjx44SGhuZ6rmXLlvz666/lEWqpMpvN/Pzzz/Tt2xdFUfLdrrJe12tFR0cTHx9PixYtrM+5ublRv359jh8/nucPUbPZzKlTp3J9eaqqSvPmzTl+/Hh5hF1qUlNTURQFNze3Arcrzmehojl69CjDhg3D3d2dZs2aMWjQIDw9PfPc1l6ubXx8PPv372fkyJGFblsZru313zWnTp0iOzub5s2bW7epWbMmVatWzbdgKsln3R5JwWQDmqbx+eef06hRowK7nGrUqMGIESMICgoiNTWVNWvWMH78eGbOnEmVKlXKMeLiadCgAc8++yw1atQgLi6OFStWMHHiRN59911cXV1v2D4+Pv6G5npvb2/i4+PLKeLS88svv5CSkkK3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",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 37.19it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 32.88it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 37.05it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 34.12it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"enron_email1\n",
"{'before': 25.76974868774414, 'after': 24.39041519165039}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 13.62it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 12.88it/s]\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.737, 'learning_rate': 0.0003333333333333333, 'epoch': 1.0}\n",
"{'eval_loss': 2.766712188720703, 'eval_runtime': 0.0481, 'eval_samples_per_second': 20.776, 'eval_steps_per_second': 20.776, 'epoch': 1.0}\n",
"{'loss': 0.7504, 'learning_rate': 0.0006666666666666666, 'epoch': 2.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.7666499614715576, 'eval_runtime': 0.0482, 'eval_samples_per_second': 20.744, 'eval_steps_per_second': 20.744, 'epoch': 2.0}\n",
"{'loss': 0.7246, 'learning_rate': 0.001, 'epoch': 3.0}\n",
"{'eval_loss': 2.7607975006103516, 'eval_runtime': 0.0483, 'eval_samples_per_second': 20.697, 'eval_steps_per_second': 20.697, 'epoch': 3.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.7138, 'learning_rate': 0.0013333333333333333, 'epoch': 4.0}\n",
"{'eval_loss': 2.76033353805542, 'eval_runtime': 0.0503, 'eval_samples_per_second': 19.864, 'eval_steps_per_second': 19.864, 'epoch': 4.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.696, 'learning_rate': 0.0016666666666666668, 'epoch': 5.0}\n",
"{'eval_loss': 2.7581703662872314, 'eval_runtime': 0.0496, 'eval_samples_per_second': 20.178, 'eval_steps_per_second': 20.178, 'epoch': 5.0}\n",
"{'loss': 0.6755, 'learning_rate': 0.002, 'epoch': 6.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.7516887187957764, 'eval_runtime': 0.0501, 'eval_samples_per_second': 19.97, 'eval_steps_per_second': 19.97, 'epoch': 6.0}\n",
"{'loss': 0.6444, 'learning_rate': 0.0018571428571428573, 'epoch': 7.0}\n",
"{'eval_loss': 2.7450146675109863, 'eval_runtime': 0.0468, 'eval_samples_per_second': 21.369, 'eval_steps_per_second': 21.369, 'epoch': 7.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.6127, 'learning_rate': 0.0017142857142857142, 'epoch': 8.0}\n",
"{'eval_loss': 2.7416346073150635, 'eval_runtime': 0.0463, 'eval_samples_per_second': 21.602, 'eval_steps_per_second': 21.602, 'epoch': 8.0}\n",
"{'loss': 0.5637, 'learning_rate': 0.0015714285714285715, 'epoch': 9.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.738495349884033, 'eval_runtime': 0.049, 'eval_samples_per_second': 20.393, 'eval_steps_per_second': 20.393, 'epoch': 9.0}\n",
"{'loss': 0.5521, 'learning_rate': 0.0014285714285714286, 'epoch': 10.0}\n",
"{'eval_loss': 2.736967086791992, 'eval_runtime': 0.0457, 'eval_samples_per_second': 21.859, 'eval_steps_per_second': 21.859, 'epoch': 10.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.5376, 'learning_rate': 0.0012857142857142859, 'epoch': 11.0}\n",
"{'eval_loss': 2.737375259399414, 'eval_runtime': 0.0455, 'eval_samples_per_second': 21.963, 'eval_steps_per_second': 21.963, 'epoch': 11.0}\n",
"{'loss': 0.5116, 'learning_rate': 0.0011428571428571427, 'epoch': 12.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.734422445297241, 'eval_runtime': 0.0499, 'eval_samples_per_second': 20.029, 'eval_steps_per_second': 20.029, 'epoch': 12.0}\n",
"{'loss': 0.4978, 'learning_rate': 0.001, 'epoch': 13.0}\n",
"{'eval_loss': 2.729034185409546, 'eval_runtime': 0.0465, 'eval_samples_per_second': 21.528, 'eval_steps_per_second': 21.528, 'epoch': 13.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.4787, 'learning_rate': 0.0008571428571428571, 'epoch': 14.0}\n",
"{'eval_loss': 2.728099822998047, 'eval_runtime': 0.0462, 'eval_samples_per_second': 21.638, 'eval_steps_per_second': 21.638, 'epoch': 14.0}\n",
"{'loss': 0.4696, 'learning_rate': 0.0007142857142857143, 'epoch': 15.0}\n",
"{'eval_loss': 2.7260758876800537, 'eval_runtime': 0.0551, 'eval_samples_per_second': 18.163, 'eval_steps_per_second': 18.163, 'epoch': 15.0}\n",
"{'loss': 0.4445, 'learning_rate': 0.0005714285714285714, 'epoch': 16.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.724435329437256, 'eval_runtime': 0.0461, 'eval_samples_per_second': 21.688, 'eval_steps_per_second': 21.688, 'epoch': 16.0}\n",
"{'loss': 0.4471, 'learning_rate': 0.00042857142857142855, 'epoch': 17.0}\n",
"{'eval_loss': 2.7250912189483643, 'eval_runtime': 0.0451, 'eval_samples_per_second': 22.169, 'eval_steps_per_second': 22.169, 'epoch': 17.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'loss': 0.4351, 'learning_rate': 0.0002857142857142857, 'epoch': 18.0}\n",
"{'eval_loss': 2.7233238220214844, 'eval_runtime': 0.0483, 'eval_samples_per_second': 20.725, 'eval_steps_per_second': 20.725, 'epoch': 18.0}\n",
"{'loss': 0.4332, 'learning_rate': 0.00014285714285714284, 'epoch': 19.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'eval_loss': 2.719698667526245, 'eval_runtime': 0.0466, 'eval_samples_per_second': 21.461, 'eval_steps_per_second': 21.461, 'epoch': 19.0}\n",
"{'loss': 0.4262, 'learning_rate': 0.0, 'epoch': 20.0}\n",
"{'eval_loss': 2.7211437225341797, 'eval_runtime': 0.0453, 'eval_samples_per_second': 22.099, 'eval_steps_per_second': 22.099, 'epoch': 20.0}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/_functions.py:68: UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector.\n",
" warnings.warn('Was asked to gather along dimension 0, but all '\n",
"/media/wassname/SGIronWolf/projects5/bs_writing_detector/.venv/lib/python3.11/site-packages/torch/nn/parallel/data_parallel.py:33: UserWarning: \n",
" There is an imbalance between your GPUs. You may want to exclude GPU 1 which\n",
" has less than 75% of the memory or cores of GPU 0. You can do so by setting\n",
" the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES\n",
" environment variable.\n",
" warnings.warn(imbalance_warn.format(device_ids[min_pos], device_ids[max_pos]))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'train_runtime': 3.815, 'train_samples_per_second': 188.728, 'train_steps_per_second': 5.242, 'train_loss': 0.5675859734416008, 'epoch': 20.0}\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 13.04it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 12.41it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 13.85it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 13.44it/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"openai_board_ann\n",
"{'before': 15.90396499633789, 'after': 15.173632621765137}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"data = []\n",
"for sample in samples:\n",
" r = learn_sample(sample)\n",
" print(sample['name'])\n",
" print(dict(before=r['before'], after=r['after']))\n",
" data.append(dict(**r, **sample))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'df_hist' is not defined",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[17], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mdf_hist\u001b[49m[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mlearning_rate\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m.\u001b[39mplot(logy\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n",
"\u001b[0;31mNameError\u001b[0m: name 'df_hist' is not defined"
]
}
],
"source": [
"df_hist['learning_rate'].plot(logy=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"df_hist = data[0]['hist']#.groupby('epoch').last().dropna(axis=1).drop(columns=['step'])\n",
"df_hist['loss'].plot(label='train')\n",
"plt.twinx()\n",
"df_hist['eval_loss'].plot(c='b', label='eval')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"### Perplexity\n",
"\n",
"Perplexity measures how well a language model predicts a text sample. Lower is better\n",
"\n",
"Its calculated as the average number of bits per word a model needs to represent the same\n",
"\n",
"https://huggingface.co/docs/transformers/perplexity\n",
"https://thegradient.pub/understanding-evaluation-metrics-for-language-models/\n",
"\n",
"The **improvement** column, is perplexity decrease"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"df_res = pd.DataFrame(data)\n",
"df_res['len'] = df_res.text.str.len()\n",
"df_res = df_res[['before', 'after', 'name', 'in_training', 'len']].set_index('name')\n",
"df_res['improvement%'] = (df_res['before'] - df_res['after'])/ df_res['before']\n",
"df_res['improvement'] = (df_res['before'] - df_res['after'])\n",
"df_res.sort_values('improvement%', ascending=False)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"df_res.to_markdown()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# DEBUG"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from IPython.display import display, HTML, Markdown\n",
"import torch\n",
"\n",
"@torch.no_grad()\n",
"def gen(model, inputs, tokenizer, clean=True):\n",
" s = model.generate(\n",
" input_ids=inputs[\"input_ids\"][None, :].to(model.device),\n",
" attention_mask=inputs[\"attention_mask\"][None, :].to(model.device),\n",
" use_cache=False,\n",
" max_new_tokens=100,\n",
" min_new_tokens=100,\n",
" do_sample=False,\n",
" early_stopping=False,\n",
" )\n",
" input_l = inputs[\"input_ids\"].shape[0]\n",
" tokenizer_kwargs=dict(clean_up_tokenization_spaces=clean, skip_special_tokens=clean)\n",
" old = tokenizer.decode(\n",
" s[0, :input_l], **tokenizer_kwargs\n",
" )\n",
" new = tokenizer.decode(\n",
" s[0, input_l:], **tokenizer_kwargs\n",
" )\n",
" s_old = \"\"+old.replace('\\n', '<br>')\n",
" s_new = '<b>' + new.replace('\\n', '<br>')+ '<br><br><b/>'\n",
" display(HTML(f\"{s_old}{s_new}\"))\n",
" # print([old, new])\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"sample = samples[1]\n",
"s = sample['text']\n",
"first_half = s[:len(s)//2]\n",
"second_half = s[len(s)//2:]\n",
"ds_train = Dataset.from_dict(tokenizer([first_half]))\n",
"ds_val = Dataset.from_dict(tokenizer([second_half]))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"with model.disable_adapter():\n",
" gen(model, ds_train.with_format('pt')[0], tokenizer)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"gen(model, ds_train.with_format('pt')[0], tokenizer)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": ".venv",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.0rc1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}