readme: ---
  tags:
  - generated_from_trainer
  model-index:
  - name: t5-russian-summarization
    results: []
  widget:
  - text: "Запад после начала российской специальной операции по демилитаризации Украины ввел несколько раундов новых экономических санкций. В Кремле новые ограничения назвали серьезными, но отметили, что Россия готовилась к ним заранее."
  ---
  
  <!-- This model card has been generated automatically according to the information the Trainer had access to. You
  should probably proofread and complete it, then remove this comment. -->
  ---
  # t5-russian-summarization
  ---
  модель для исправление текста из распознаного аудио.   моя модлеь для распознования аудио https://huggingface.co/UrukHan/wav2vec2-russian и его результаты можно закидывать в эту модель. тестил на видео случайном с ютюба
  
  <table border="0">
   <tr>
      <td><b style="font-size:30px">Input</b></td>
      <td><b style="font-size:30px">Output</b></td>
   </tr>
   <tr>
      <td>Запад после начала российской специальной операции по демилитаризации Украины ввел несколько раундов новых экономических санкций. В Кремле новые ограничения назвали серьезными, но отметили, что Россия готовилась к ним заранее.</td>
      <td>Запад ввел новые санкции против России</td>
   </tr>
  </table>
  
  
  #
  ---
  Датасеты для обучения:
  UrukHan/t5-russian-summarization   : https://huggingface.co/datasets/UrukHan/t5-russian-summarization
  
  ---
  
  # Запуск на вывод результатов пример работы с комментариями в колабе https://colab.research.google.com/drive/1ame2va9_NflYqy4RZ07HYmQ0moJYy7w2?usp=sharing :
  
  #
  ```python
  # Установим библиотеку трансформеров
  !pip install transformers
  
  # Импортируем библиотеки
  from transformers import AutoModelForSeq2SeqLM, T5TokenizerFast
  
  # Зададим название выбронной модели из хаба
  MODEL_NAME = 'UrukHan/t5-russian-summarization'
  MAX_INPUT = 256
  
  # Загрузка модели и токенизатора
  tokenizer = T5TokenizerFast.from_pretrained(MODEL_NAME)
  model = AutoModelForSeq2SeqLM.from_pretrained(MODEL_NAME)
  
  # Входные данные (можно массив фраз или текст)
  input_sequences = ['Запад после начала российской специальной операции по демилитаризации Украины ввел несколько раундов новых экономических санкций. В Кремле новые ограничения назвали серьезными, но отметили, что Россия готовилась к ним заранее.']   # или можно использовать одиночные фразы:  input_sequences = 'сеглдыя хорош ден'
  
  task_prefix = "Spell correct: "                 # Токенизирование данных
  if type(input_sequences) != list: input_sequences = [input_sequences]
  encoded = tokenizer(
    [task_prefix + sequence for sequence in input_sequences],
    padding="longest",
    max_length=MAX_INPUT,
    truncation=True,
    return_tensors="pt",
  )
  
  predicts = model.generate(encoded)    # # Прогнозирование
  
  tokenizer.batch_decode(predicts, skip_special_tokens=True)  # Декодируем данные
  ```
  #
  ---
  #Настроенный блокнот для запуска обучения и сохранения модели в свой репозиторий на huggingface hub:
  #https://colab.research.google.com/drive/1H4IoasDqa2TEjGivVDp-4Pdpm0oxrCWd?usp=sharing
  #
  ```python
  # Установка библиотек
  !pip install datasets
  !apt install git-lfs
  !pip install transformers
  !pip install sentencepiece 
  !pip install rouge_score
  
  # Импорт библиотек
  import numpy as np
  from datasets import Dataset
  import tensorflow as 
  import nltk
  from transformers import T5TokenizerFast, Seq2SeqTrainingArguments, Seq2SeqTrainer, AutoModelForSeq2SeqLM, DataCollatorForSeq2Seq
  import torch
  from transformers.optimization import Adafactor, AdafactorSchedule
  from datasets import load_dataset, load_metric
  
  # загрузка параметров
  raw_datasets = load_dataset("xsum")
  metric = load_metric("rouge")
  nltk.download('punkt')
  
  # Ввести свой ключ huggingface hyb
  from huggingface_hub import notebook_login
  notebook_login()
  
  # Определение параметров
  REPO = "t5-russian-summarization"  # Введите наазвание название репозитория
  MODEL_NAME = "UrukHan/t5-russian-summarization" # Введите наазвание выбранной модели из хаба
  MAX_INPUT = 256  # Введите максимальную длинну входных данных  в токенах (длинна входных фраз в словах (можно считать полслова токен))
  MAX_OUTPUT  = 64  # Введите максимальную длинну прогнозов в токенах (можно уменьшить для задач суммризации или других задач где выход короче)
  BATCH_SIZE = 8 
  DATASET = 'UrukHan/t5-russian-summarization'   # Введите наазвание название датасета
  
  # Загрузка датасета использование других типов данных опишу ниже
  data = load_dataset(DATASET)
  
  # Загрузка модели и токенизатора
  tokenizer = T5TokenizerFast.from_pretrained(MODEL_NAME)
  model = AutoModelForSeq2SeqLM.from_pretrained(MODEL_NAME)
  
  model.config.max_length = MAX_OUTPUT  # по умолчанию 20, поэтому во всех моделях прогнозы обрезаются выходные последовательности
  # Закоментить после первого соъранения в репозиторий свой необъязательно
  tokenizer.push_to_hub(repo_name) 
  
  train = data['train']
  test = data['test'].train_test_split(0.02)['test']  # Уменьшил так тестовыу. выборку чтоб не ждать долго расчет ошибок между эпохами
  
  data_collator = DataCollatorForSeq2Seq(tokenizer, model=model) #return_tensors="tf"