mirror of
https://github.com/wassname/detect_bs_text.git
synced 2026-06-27 16:45:29 +08:00
6107 lines
927 KiB
Plaintext
6107 lines
927 KiB
Plaintext
{
|
||
"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": "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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.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": "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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, 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",
|
||
"It’s 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
|
||
}
|