Вит тренинг: Недопустимое название — SportWiki энциклопедия

Высокоинтенсивный тренинг VS Высокообъёмный тренинг


Многие атлеты постоянно спорят о том, какой метод тренировок на сегодняшний день является самым эффективным и самым лучшим для увеличения мышечной массы. При этом одни атлеты постоянно утверждают, что самым лучшим методом для построения и развития мышечной массы является высокоинтенсивный метод тренировок.

Тогда как другие атлеты наоборот придерживаются другого мнения и утверждают что именно высокообъёмный метод тренировок сегодня является самым лучшим и эффективным для развития и увеличения мышечной массы.

Какой же из этих методов действительно лучше?

В этом вопросе мы и попытаемся сейчас более подробно с вами разобраться и рассмотреть все плюсы и минусы каждого из этих методов. А также сравним их между собою и попытаемся узнать, какой же из этих двух методов тренинга является действительно самым лучшим и наиболее эффективным.

Все мы давно с вами знаем что основным фактором мышечного роста является не что иное, как фактор интенсивности, который состоит из трёх основных параметров, варьируя которые можно будет уже полностью контролировать, а значит и менять общий коэффициент интенсивности на всех своих тренировках.

Три основных параметра влияющие на фактор интенсивности:

  • Нагрузка (увеличение рабочих весов)
  • Время (общее время тренировок и выполнение отдельных упражнений)
  • Объём (варьирование тренировочного объёма: упражнения, подходы и повторения)

При этом эти три составляющих являются неотъемлемой частью тренировочного процесса от которых напрямую зависит уровень интенсивности ваших тренировок. Варьируя и меняя даже один какой-то из этих трёх параметров, будет влиять в большую или в меньшую сторону на вашу общую интенсивность всех тренировок.

Абсолютно все методы тренинга неважно высокоинтенсивный ли это тренинг или же это высокообъёмный тренинг, все они так или иначе предусматривают увеличение интенсивности своих тренировок. Но при этом сама настройка фактора интенсивности у каждого метода будет своя, что уже предусматривает разный подход к достижению определённого уровня интенсивности в том или ином методе.

ВЫСОКОИНТЕНСИВНЫЙ МЕТОД ТРЕНИРОВОК
К примеру, в высокоинтенсивном методе тренировок максимальная интенсивность достигается за счёт увеличения общей нагрузки на каждую группу мышц которую вы прорабатываете путём суперсета, т. е. выполнения сразу же двух разных движений или же упражнений, которые выполняются сразу же друг за другом.

Это может быть какое-то ваше изолированное упражнение + базовое упражнение, либо это может быть суперсет в одном упражнение по принципу один сет 50% рабочий вес + второй сет 100% рабочий вес по такому методу как метод 50/100. Или же это может быть какой-то совершенно иной способ комбинирования двух разных движений и упражнений.

Где первое движение или упражнение всегда служит как бы вашим утомляющим движением, а последующее упражнение служит уже вашим добивающим движением для того чтобы довести уже свои мышцы до полноценного мышечного отказа и запустить механизм мышечного роста.

Любой высокоинтенсивный метод тренировок основывается на том, чтобы в минимальный промежуток времени создать максимальную интенсивность и максимально увеличить мышечное сопротивление, чтобы создать максимальную мышечную нагрузку и тем самым как бы запустить уже дальнейший механизм мышечного роста.

Иными словами данный метод позволяет очень быстро увеличить нагрузку, а значит и интенсивно проработать каждую группу мышц при минимальном тренировочном объёме и затраченном времени.

ВЫСОКООБЪЁМНЫЙ МЕТОД ТРЕНИРОВОК
В другом же высокообъёмном методе тренировок увеличение интенсивности происходит за счёт увеличения вашего общего тренировочного объёма, а значит вам требуется значительно больше времени тренировок для того чтобы проработать свои мышцы и довести их до полноценного отказа.

Иными словами вся тренировочная нагрузка на прорабатываемые вами группы мышц посредством большого тренировочного объёма как бы накладывается сверху друг на друга от подхода к подходу, т.е. таким образом доводя их до максимальной усталости и заставляя их работать с каждым последующим таким подходом всё тяжелее и всё интенсивнее пока не наступает отказ.

Если высокоинтенсивные методы тренинга в основном направлены на проработку только крупных мышечных групп, то высокообъёмные методы тренировок прорабатывают не только ваши скажем большие и основные мышечные группы, но и более мелкие группы мышц.

Потому как за счёт большого тренировочного объёма в работу включаются также и мелкие группы мышц, а значит они гораздо лучше прорабатываются.

СРАВНЕНИЕ ДВУХ МЕТОДОВ ТРЕНИНГА ПО КОЭФФИЦИЕНТУ ИХ ОБЩЕЙ ИНТЕНСИВНОСТИ:
Для простого примера возьмём проработку бицепса двумя разными методами тренировок, в которых мы более подробно рассмотрим уровень интенсивности, а также общие настройки каждого из этих методов.

Расчёт интенсивности высокообъёмного метода тренинга:
Рабочий вес 60 кг на 10 повторений
1 Подход: 60х10 = 600 кг
2 Подход: 60х10 = 600 кг
3 Подход: 60х10 = 600 кг
4 Подход: 60х10 = 600 кг
5 Подход: 60х10 = 600 кг
Общая нагрузка (объём) рассчитан из количества подходов – 3000 кг
Затраченное время на выполнение упражнения — 15 минут (900 секунд)

Производим расчёт средней нагрузки в каждом подходе:
3000 кг : 5 сетов = 600 кг
Общая нагрузка в одном подходе — 600 кг

Рассчитываем общую интенсивность упражнения:
3000 кг : 15 мин = 200 кг/мин

Интенсивность упражнения — 200 кг/мин

Рассчитываем среднюю интенсивность сокращения мышц:
3000 кг : 50 повторений = 60 кг
Средняя единица интенсивности при каждом сокращении мышц- 60 кг

Расчёт интенсивности высокоинтенсивного тренинга по Методу 50/100:
Рабочий вес 60 кг на 10 повторений
1 Подход: 30х20 = 600 кг
2 Подход: 60х10 = 600 кг
Общая нагрузка (объём) рассчитана из количества подходов – 1200 кг
Затраченное время на выполнение упражнения — 2 минуты (120 секунд)

Производим расчёт средней нагрузки в каждом подходе:
1200 кг : 2 сета = 600 кг
Общая нагрузка в одном подходе: 600 кг

Рассчитываем общую интенсивность упражнения:
1200 кг : 2 минуты = 600 кг/мин
Общая интенсивность: 600 кг/мин

Рассчитываем среднюю интенсивность сокращения мышц:
1200 кг : 30 повторений = 40 кг
Средняя единица интенсивности при каждом сокращении мышц- 40 кг

Только лишь сравнив два разных метода тренировок между собою при одинаковых силовых условиях одного и того же атлета, а также разобрав всё досконально, т.

е. разложив всё это по полочкам. Лишь только тогда вы сможете увидеть всю картину целиком и объективно посмотреть на то, какой же из этих двух методов является наиболее эффективным.

Таблица сравнения двух методов тренинга при одинаковых силовых условиях одного атлета.

Методы тренировокОбъёмныйИнтенсивный
Подходы5 подх.1 подх.
Время15 мин.2 мин.
Нагрузка (объём) кг3000 кг1200 кг
Нагрузка в 1 подх.600 кг600 кг
Интенсивность упр/мин.200 кг600 кг
Интенсивность 1 повт. кг60 кг40 кг

Результаты сравнения двух тренировочных методик показывает на тот факт, что оба из этих методов являются очень эффективными в наборе мышечной массы.

Если же брать из расчёта общую интенсивность выполнения самого упражнения, то при значительно меньшем тренировочным объёме и при меньшей нагрузки, высокоинтенсивный метод тренинга является наиболее эффективным методом для того чтобы очень качественно проработать любую мышечную группу, нежели чем высокообъёмный тренинг и это наглядно показывают нам цифры.

Высокообъёмный метод тренировок с общей интенсивностью 200 кг/мин. против высокоинтенсивного метода тренировок и с общей уже интенсивности в 600 кг/мин.

Но не смотря на значительно низкую интенсивность выполнения упражнений, высокообъёмный метод тренировок компенсирует это значительно большим тренировочным объёмом и гораздо большей нагрузкой в самом упражнение. А как мы все давно уже знаем, что чем больше нагрузка в самом упражнение, тем больше включаются в работу мелкие и сопутствующие мышцы в упражнениях.

За счёт большого тренировочного объёма и соответственно самой нагрузки общая интенсивность сокращения мышц при каждом уже таком повторении будет всё же немного выше, чем например в том же высокоинтенсивном методе тренировок. Но стоит учитывать и тот факт, что при этом и самих рабочих подходов было выполнено куда больше…

Честно говоря я не сторонник только лишь какого-то одного метода тренировок. Поэтому я зачастую использую как высокоинтенсивные тренировки, так и высокообъёмные тренировки в своей программе. Такое комбинирование двух методов тренинга даёт гораздо лучший результат, чем использование только лишь какого-то одного метода тренировок.

А что лучше именно для вас решаете только вы! В данной статье я лишь предоставил вам возможность посмотреть на два этих метода чуть более детально, произведя подробный расчёт каждого из этих двух методов…

Страница не найдена

  • Вид спорта:
    Футбол

    Регион:
    Москва

    Рубрика:
    Другое

    Известный журналист Игорь Рабинер, ведущий обозреватель газеты «Спорт-Экспресс», на сей раз объектом для своего неравнодушного рассказа избрал футбольный клуб «Локомотив» – некогда «пятое колесо в телеге московского футбола». В своей новой книге он повествует о становлении «Локомотива», о том, как за 15 лет команда из завзятого аутсайдера превратилась в одного из флагманов отечественного футбола. Что потом случилось с «Локомотивом» – как была разрушена

  • Вид спорта:
    Общеспортивная тематика

    Регион:
    Мир, Южно-Африканская Республика

    Рубрика:
    Другое

    Проблема расовой дискриминации и апартеида в спорте по-прежнему остается чрезвычайно острой, несмотря на исключение ЮАР из олимпийского движения.

    Книга И. Маринова «Прыгающая газель» — тавро расизма» разоблачает политику расистов и их пособников, направленную на возвращение ЮАР в олимпийскую семью, на подрыв единства государств свободной Африки и прогрессивных сил в международном спортивном движении.

    Рассчитана на широкий круг читателей.

  • Вид спорта:
    Хоккей

    Регион:
    Россия

    Рубрика:
    Другое

    В предыдущей книге я опрометчиво назвал хоккей с шайбой в России спортом номер один. Увы, сегодня это не соответствует действительности. Все-таки футбол — действительно народная игра. Но, ожидая редких удач сборной России по футболу, мы настолько привыкли к ее поражениям, что особо ни на что давно не надеемся. А вот поражения нашей хоккейной сборной российскими болельщиками все еще воспринимаются болезненно. Еще бы: Россия по сей день остается одним из основных

  • Вид спорта:
    Карате

    Регион:
    Мир

    Рубрика:
    Образование

    Многие (если не сказать ВСЕ) начинали свое знакомство с т. н. «боевыми искусствами» с каратэ. Или: мы говорим боевое исусство – понимаем – каратэ! ((с) В.И.Ленин). И при всем при этом техника, которая показана в ЛЮБОЙ книге по каратэ, и которая преподается в большинстве секций каратэ НЕ МОЖЕТ БЫТЬ ИСПОЛЬЗОВАНА В РЕАЛЬНОМ СТОЛКНОВЕНИИ даже с одним противником. И это при том, что каратэ является боевым искусством предназначенным для реального боя с одним или несколькими

  • Вид спорта:
    Футбол

    Регион:
    Мир

    Рубрика:
    Правила и история, Профессиональный спорт

    «Пахтакор» — узбекский футбольный клуб из города Ташкент, один из самых известных клубов Узбекистана. Основан 8 апреля 1956 года. В течение 36 сезонов (1956—1991) выступал в различных лигах первенств СССР. Начиная с 1992 года — непременный участник высшей лиги чемпионата Узбекистана.

    Сокровищами своего архива и воспоминаниями о самых памятных эпизодах игр любимой команды с болельщиками делится летописец «Пахтакора» Владимир Сафаров.

  • Вид спорта:
    Футбол

    Регион:
    Польша

    Рубрика:
    Детско-юношеский спорт

    Эта книга познакомит маленьких читателей с веселым и смелым пареньком с варшавской окраины Воли.

    Манюсь Ткачик, так зовут главного героя книги, — верный и надежный товарищ и неплохой футболист. Впрочем, сначала Манюсь только мечтает о настоящей игре — у его любимой команды «Сиренки» пока что нет даже настоящего мяча.

    Но потом все меняется.  Над Манюсем и его друзьями берет шефство настоящий спортсмен — рабочий Вацлав

  • Вид спорта:
    Футбол

    Регион:
    Мир

    Рубрика:
    Персоны, Профессиональный спорт

    К чемпионату Европы по футболу в Португалии «ЕВРО-2004» для поклонников этой популярнейшей игры в России издательство «Вече» предлагает книгу «100 великих футболистов».

    В ней рассказывается как о выдающихся игроках, так и о прославленных футбольных тренерах, не раз приводивших своих подопечных к вершинам футбольного Олимпа. Автор поведал в книге не только о спортивной, но и о личной судьбе своих героев.

    Книга будет интересна для каждого,

  • Вид спорта:
    Футбол

    Регион:
    Мир

    Рубрика:
    Профессиональный спорт, Правила и история

    Любой футбольный матч — это интрига с неожиданной развязкой, великолепными голами и фатальными ошибками.

    Но существуют матчи, которые по своему характеру, без преувеличения, можно отнести к категории великих. Среди них драма на двухсоттысячном стадионе «Маракана» в финальном поединке чемпионата мира по футболу 1950 года между сборными Уругвая и Бразилии (2:1). И первый крупный успех советского футбола в Мельбурне в 1956 году в финале XVI Олимпийских

  • Вид спорта:
    Вост. боевое единоборство, Тайский бокс

    Регион:
    Мир

    Рубрика:
    Любительский спорт, Профессиональный спорт

    Таиландский бокс – древнее боевое искусство, зародившееся на территории современного Таиланда.

    Сегодня таиландский бокс развивается как в самом Таиланде, где это самый почитаемый и любимый вид спорта, так и во всем мире, с одной стороны, как традиционное боевое искусство, с другой, как современный вид спорта. Ведение боя по правилам таиландского бокса характеризуется высокой активностью психических процессов и волевых усилий и сопровождается

  • Вид спорта:
    Футбол

    Регион:
    Россия

    Рубрика:
    Персоны

    В дебютной книге один из самых популярных футболистов страны Игорь Акинфеев раскрывает читателям многие тайны своей жизни. Отвечая на вопросы болельщиков, порой неожиданные и каверзные, голкипер ПФК ЦСКА и сборной России рассказывает о собственном детстве, родных, взглядах на мир, а также о наиболее интересных моментах спортивной карьеры.

    Книга содержит более 300 уникальных фотографий, которые помогают раскрыть образ лучшего вратаря России. Книга

  • Регион:
    Москва

    Рубрика:
    Любительский спорт

    Книга, которую вы держите в руках, написана с частичным использованием материалов научно-методического сборника «Боевое искусство планеты», выпускаемого совместными усилиями научно-информационного центра «Здоровье народа» и Международной ассоциации боевых искусств «Шоу Дао». Материалы, публикуемые в сборнике, заинтересуют не только любителей восточных и отечественных единоборств самого разного уровня подготовки, но и профессионалов в

  • Вид спорта:
    Волейбол

    Регион:
    Мир

    Рубрика:
    Профессиональный спорт

    Книга представляет из себя практическое пособие для тренеров волейбольных команд различного уровня, в которой в концентрированной форме описан процесс тренировок по волейболу. Рассмотрены все элементы игры с точки зрения тренировочного расписания.

  • Вид спорта:
    Конный спорт

    Регион:
    Россия

    Рубрика:
    Массовый спорт, Профессиональный спорт, Любительский спорт

    Брошюра Р. Скибневского предназначена для людей, решивших уделить часть своего свободного времени общению с лошадьми и научиться ездить верхом. В пятнадцати коротких главках изложен минимальный объем знаний, необходимых для начинающего конника. Здесь можно найти сведения о физических и психических особенностях лошадей, их поведении, об экипировке всадника, предметах ухода за лошадью и конским снаряжением.

    Значительную часть текста занимает описание

  • Вид спорта:
    Вост. боевое единоборство

    Регион:
    Мир

    Рубрика:
    Профессиональный спорт, Любительский спорт

    Энциклопедические словари по боевым искусствам до сих пор на русском языке не издавались. Да и в других странах они редкость. Подготовить такой словарь очень трудно.

    Если вы давно хотели узнать, что же такое Айки-до, Дзю-до, Буси-до или еще что-нибудь, то в данной книге вы найдете исчерпывающую информацию о любом боевом искусстве.

  • Вид спорта:
    Футбол

    Регион:
    Россия

    Рубрика:
    Профессиональный спорт

    Шесть лет назад на футбольном горизонте страны появилась новая интересная команда — СКА (Ростов- на-Дону).
    Много коллективов второго эшелона выходило в класс «А», но ни одному из них не удавалось за столь короткое время утвердить свое имя в числе сильнейших команд СССР.

    Двести матчей провели футболисты СКА в чемпионатах и розыгрышах Кубка страны за шесть лет. 400 трудных таймов! И вот результат: четыре года команда занимала четвертые

  • Вид спорта:
    Парашютный спорт

    Регион:
    Мир

    Рубрика:
    Другое

    Бейсджампинг — экстремальный вид спорта, в котором используется специальный парашют для прыжков с фиксированных объектов.

    B.A.S.E. — акроним от английских слов:
    Building (здание)
    Antenna (антенна)
    Span (перекрытие, мост)
    Earth (земля)

    Это перечень основных типов объектов, с которых выполняются прыжки. Спортсменов называют бейсджамперами (от англ. basejumper) или просто бейсерами. Бейсджампинг считается

  • Вид спорта:
    Бокс

    Регион:
    США

    Рубрика:
    Другое

    Данная книга представляет собой инструкцию по самозащите на основе бокса.

    Уильям Харрисон Демпси (англ. William Harrison Dempsey, более известный как Джек Демпси, англ. Jack Dempsey или Костолом из Манассы,англ. Manassa Mauler ; 24 июня 1895, Манасса, США — 31 мая 1983, Нью-Йорк, США) — американский боксер-профессионал, чемпион мира в супертяжелом весе.

  • Вид спорта:
    Футбол

    Регион:
    Мир

    Рубрика:
    Профессиональный спорт

    Перед вами — новая книга Игоря Рабинера, посвященная Euro-2008. Весь месяц автор провел в Австрии и Швейцарии рядом с сенсационной российской командой, от которой почти ничего не ждали на этом чемпионате. Но российские футболисты завоевали бронзовые медали и заставили о себе говорить в восторженных тонах не только отечественную, но и мировую спортивную общественность.

    Три очень подробных и откровенных интервью Гуса Хиддинка, беседы с капитаном команды

  • Вид спорта:
    Бейсбол

    Регион:
    США

    Рубрика:
    Профессиональный спорт

    Одна из самых известных книг о бейсболе. Майкл Льюис в доступной, а порой и шутливой, форме описал историю развития и перспективы бейсбола. Бейсбол изнутри, бейсбол с точки зрения финансового аспекта, поиск игроков, менеджмент и многое другое, приправленное «закулисными» историями. Работа Льюиса по достоинству оценена профессионалами и, конечно же, рядовыми любителями спорта.

  • Вид спорта:
    Бокс

    Регион:
    Мир

    Рубрика:
    Любительский спорт, Профессиональный спорт

    Бокс является, пожалуй, одним из самых сложных видов спорта. Боксеру требуется уникальное сочетание скорости, силы и выносливости. В дополнение к этим качествам, он должен быть готов к сопротивлению со стороны равного по силе противника. Чтобы выдержать на ринге боль и усталость, боксер должен уметь настроить сознание так же жестко, как и тело. О необходимости тренировать боксеру не только тело, но и дух, рассуждает американский тренер Росс Энамайт.


  •  

    • 1
    • 2
    • 3
    • 27
    • 28
    Следующая

Запрашиваемой вами страницы нет на сайте, возможно, она была удалена, либо вы ошиблись в написании адреса. Воспользуйтесь поиском или перейдите на главную страницу.

Fine-Tune ViT для классификации изображений с помощью 🤗 Transformers

Вернуться к блогу

Опубликовано 11 февраля 2022 г. Обновление на GitHub

nateraw Нейт Роу

Точно так же, как модели, основанные на трансформерах, произвели революцию в НЛП, сейчас мы наблюдаем бурный рост статей, в которых они применяются ко всем видам других областей. Одним из самых революционных из них был Vision Transformer (ViT), который был представлен в июне 2021 года группой исследователей из Google Brain.

В этом документе было показано, как вы можете размечать изображения так же, как вы размечаете предложения, чтобы их можно было передавать в модели-трансформеры для обучения. На самом деле это довольно простая концепция…

  1. Разделить изображение на сетку фрагментов изображения
  2. Встроить каждый патч с линейной проекцией
  3. Каждое встроенное исправление становится токеном, а результирующая последовательность встроенных исправлений — это последовательность, которую вы передаете модели.

Оказывается, после того, как вы сделали все вышеперечисленное, вы можете предварительно обучать и настраивать преобразователи так же, как вы привыкли к задачам НЛП. Довольно мило 😎.


В этом сообщении блога мы рассмотрим, как использовать 🤗 наборов данных для загрузки и обработки наборов данных классификации изображений, а затем использовать их для точной настройки предварительно обученного ViT с 🤗 преобразователями .

Для начала давайте сначала установим оба этих пакета.

 pip устанавливает преобразователи наборов данных
 

Загрузите набор данных

Начнем с загрузки небольшого набора данных классификации изображений и изучения его структуры.

Мы будем использовать набор данных бобов , который представляет собой набор изображений здоровых и нездоровых листьев бобов. 🍃

 из наборов данных импортировать load_dataset
ds = load_dataset('бины')
дс
 

Давайте взглянем на 400-й пример из «поезда» , разделенного из набора данных бобов. Вы заметите, что каждый пример из набора данных имеет 3 функции:

  1. изображение : изображение PIL
  2. image_file_path : str путь к файлу изображения, который был загружен как изображение
  3. labels : Функция datasets.ClassLabel , которая представляет собой целочисленное представление метки. (Позже вы увидите, как получить имена строковых классов, не волнуйтесь!)
 ех = дс['поезд'][400]
бывший
 
 {
  'изображение': ,
  'image_file_path': '/root/.cache/.../bean_rust_train.4.jpg',
  «этикетки»: 1
}
 

Давайте посмотрим на изображение 👀

 image = ex['image']
изображение
 

Это точно лист! Но какой? 😅

Поскольку функция 'labels' этого набора данных является datasets.features.ClassLabel , мы можем использовать ее для поиска соответствующего имени для идентификатора метки этого примера.

Во-первых, давайте получим доступ к определению функции для «меток» .

 метки = ds['train'].features['labels']
этикетки
 
 ClassLabel (num_classes = 3, имена = ['angular_leaf_spot', 'bean_rust', 'здоровый'], name_file = нет, id = нет)
 

Теперь давайте распечатаем метку класса для нашего примера. Вы можете сделать это, используя int2str функция ClassLabel , которая, как следует из названия, позволяет передать целочисленное представление класса для поиска строковой метки.

 labels.int2str(ex['labels'])
 
 'bean_rust'
 

Оказывается, показанный выше лист заражен бобовой ржавчиной, серьезным заболеванием бобовых растений. 😢

Давайте напишем функцию, которая будет отображать сетку примеров из каждого класса, чтобы лучше понять, с чем вы работаете.

 случайный импорт
из PIL импортировать ImageDraw, ImageFont, Image
def show_examples (ds, seed: int = 1234, examples_per_class: int = 3, size=(350, 350)):
    ш, в = размер
    labels = ds['train'].features['labels'].names
    grid = Image.new('RGB', size=(examples_per_class * w, len(labels) * h))
    рисовать = ImageDraw.Draw(сетка)
    шрифт = ImageFont.truetype("/usr/share/fonts/truetype/liberation/LiberationMono-Bold.ttf", 24)
    для label_id, метка в перечислении (метки):
        # Отфильтруйте набор данных по одной метке, перетасуйте его и возьмите несколько образцов
        ds_slice = ds['train'].filter(lambda ex: ex['labels'] == label_id).shuffle(seed).select(range(examples_per_class))
        # Разместите примеры этой метки в ряд
        для i пример в enumerate(ds_slice):
            изображение = пример ['изображение']
            idx = примеры_на_класс * метка_id + я
            box = (idx % examples_per_class * w, idx // examples_per_class * h)
            grid. paste(image.resize(размер), box=box)
            draw.text (поле, метка, (255, 255, 255), шрифт = шрифт)
    обратная сетка
show_examples(ds, seed=random.randint(0, 1337), examples_per_class=3)
 
Сетка из нескольких примеров из каждого класса в наборе данных

Из того, что я вижу,

  • Угловатая пятнистость листьев: имеет неправильные коричневые пятна
  • Бобовая ржавчина: имеет круглые коричневые пятна, окруженные беловато-желтым кольцом
  • Здоров: …выглядит здоровым. 🤷‍♂️

Загрузка ViT Feature Extractor

Теперь мы знаем, как выглядят наши изображения, и лучше понимаем проблему, которую пытаемся решить. Давайте посмотрим, как мы можем подготовить эти изображения для нашей модели!

При обучении моделей ViT к передаваемым в них изображениям применяются определенные преобразования. Используйте неправильные преобразования на вашем изображении, и модель не поймет, что она видит! 🖼 ➡️ 🔢

Чтобы убедиться, что мы применяем правильные преобразования, мы будем использовать ViTFeatureExtractor , инициализированный с конфигурацией, которая была сохранена вместе с предварительно обученной моделью, которую мы планируем использовать. В нашем случае мы будем использовать модель google/vit-base-patch26-224-in21k, поэтому давайте загрузим ее экстрактор функций из Hugging Face Hub.

 из импорта трансформаторов ViTFeatureExtractor
model_name_or_path = 'google/vit-base-patch26-224-in21k'
feature_extractor = ViTFeatureExtractor.from_pretrained(имя_модели_или_путь)
 

Конфигурацию экстрактора признаков можно просмотреть, распечатав ее.

 ViTFeatureExtractor {
  "do_normalize": правда,
  "do_resize": правда,
  "feature_extractor_type": "ViTFeatureExtractor",
  "изображение_среднее": [
    0,5,
    0,5,
    0,5
  ],
  "изображение_стандарт": [
    0,5,
    0,5,
    0,5
  ],
  "ресемпл": 2,
  "размер": 224
}
 

Чтобы обработать изображение, просто передайте его функции вызова экстрактора признаков. Это вернет dict, содержащий значений пикселей , что является числовым представлением, которое должно быть передано в модель.

По умолчанию вы получаете массив NumPy, но если вы добавите аргумент return_tensor='pt' , вместо этого вы вернете torch тензоров.

 feature_extractor(изображение, return_tensors='pt')
 

Должен дать вам что-то вроде…

 {
  'pixel_values': тензор ([[[[ 0,2706, 0,3255, 0,3804, ...]]]])
}
 

…где форма тензора (1, 3, 224, 224) .

Обработка набора данных

Теперь, когда вы знаете, как читать изображения и преобразовывать их во входные данные, давайте напишем функцию, которая объединит эти две вещи для обработки одного примера из набора данных.

 по определению process_example (пример):
    входы = feature_extractor (пример ['изображение'], return_tensors = 'pt')
    входы['метки'] = пример['метки']
    возврат входных данных
 
 process_example(ds['train'][0])
 
 {
  'pixel_values': тензор ([[[[-0,6157, -0,6000, -0,6078, ..., ]]]]),
  'метки': 0
}
 

Хотя вы можете вызвать ds.map и применить это ко всем примерам сразу, это может быть очень медленным, особенно если вы используете большой набор данных. Вместо этого вы можете применить преобразование к набору данных. Преобразования применяются только к примерам, когда вы их индексируете.

Однако сначала вам нужно обновить последнюю функцию, чтобы она принимала пакет данных, так как это то, что ds.with_transform ожидает.

 ds = load_dataset('бины')
преобразование по определению (example_batch):
    # Берем список изображений PIL и превращаем их в пиксельные значения
    inputs = feature_extractor([x вместо x в example_batch['image']], return_tensors='pt')
    # Не забудьте включить метки!
    inputs['метки'] = example_batch['метки']
    возврат входных данных
 

Вы можете напрямую применить это к набору данных, используя ds.with_transform(transform) .

 prepare_ds = ds.with_transform(transform)
 

Теперь всякий раз, когда вы получаете пример из набора данных, преобразование будет применяется в режиме реального времени (как к образцам, так и к срезам, как показано ниже)

 prepare_ds['train'][0:2]
 

На этот раз результирующий тензор pixel_values ​​ будет иметь форму (2, 3, 224, 224) .

 {
  'pixel_values': тензор ([[[[-0,6157, -0,6000, -0,6078, ..., ]]]]),
  'метки': [0, 0]
}
 

Данные обработаны, и вы готовы приступить к настройке конвейера обучения. В этом сообщении в блоге используется тренер 🤗, но сначала нам потребуется сделать несколько вещей:

  • Определение функции сортировки.

  • Определите показатель оценки. Во время обучения модель должна оцениваться по точности ее предсказания. Вы должны определить функцию calculate_metrics соответственно.

  • Загрузить предварительно обученную контрольную точку. Вам нужно загрузить предварительно обученную контрольную точку и правильно настроить ее для обучения.

  • Определите конфигурацию обучения.

После тонкой настройки модели вы правильно оцените ее по оценочным данным и убедитесь, что она действительно научилась правильно классифицировать изображения.

Определите наш подборщик данных

Пакеты поступают в виде списков диктов, поэтому вы можете просто распаковать + сложить их в пакетные тензоры.

Поскольку collate_fn вернет пакетный словарь, вы можете ** распаковать входные данные в модель позже. ✨

 импортная горелка
def collate_fn (пакет):
    возвращаться {
        'pixel_values': torch.stack([x['pixel_values'] для x в пакете]),
        'метки': torch.tensor([x['labels'] для x в пакете])
    }
 

Определение метрики оценки

Метрику точности из наборов данных можно легко использовать для сравнения прогнозов с метками. Ниже вы можете увидеть, как использовать его в функции calculate_metrics , которая будет использоваться Trainer .

 импортировать numpy как np
из наборов данных импортировать load_metric
метрика = load_metric("точность")
определение вычислений_метрик(р):
    вернуть metric.compute (прогнозы = np.argmax (p.predictions, ось = 1), ссылки = p.label_ids)
 

Давайте загрузим предварительно обученную модель. Мы добавим num_labels при инициализации, чтобы модель создала заголовок классификации с правильным количеством единиц. Мы также добавим сопоставления id2label и label2id , чтобы иметь удобочитаемые метки в виджете Hub (если вы выберете push_to_hub ).

 из импорта трансформаторов ViTForImageClassification
labels = ds['train'].features['labels'].names
модель = ViTForImageClassification.from_pretrained(
    имя_модели_или_путь,
    num_labels = длина (метки),
    id2label={str(i): c для i, c в enumerate(labels)},
    label2id={c: str(i) для i, c в enumerate(labels)}
)
 

Почти готов к тренировке! Последнее, что нужно сделать перед этим, — настроить конфигурацию обучения, определив TrainingArguments .

Большинство из них говорят сами за себя, но здесь очень важен remove_unused_columns=False . При этом будут удалены все функции, не используемые функцией вызова модели. По умолчанию это True , потому что обычно идеально удалять неиспользуемые столбцы функций, что упрощает распаковку входных данных в функцию вызова модели. Но в нашем случае нам нужны неиспользуемые функции (в частности, «изображение»), чтобы создать «значения пикселей».

Я пытаюсь сказать, что вам будет плохо, если вы забудете установить remove_unused_columns=False .

 импорт трансформаторов TrainingArguments
training_args = Аргументы обучения (
  output_dir="./vit-base-beans",
  per_device_train_batch_size=16,
  оценка_стратегия="шаги",
  num_train_epochs=4,
  fp16=Верно,
  save_steps=100,
  eval_steps=100,
  logging_steps=10,
  скорость_обучения=2e-4,
  save_total_limit=2,
  remove_unused_columns = Ложь,
  push_to_hub = Ложь,
  report_to = 'тензорная доска',
  load_best_model_at_end = Верно,
)
 

Теперь все экземпляры можно передать в Trainer, и мы готовы приступить к обучению!

 импорт трансформаторов Тренажер
тренер = тренер(
    модель=модель,
    аргументы = обучающие_аргументы,
    data_collator=collate_fn,
    вычислить_метрики = вычислить_метрики,
    train_dataset=prepared_ds["поезд"],
    eval_dataset=prepared_ds["проверка"],
    токенизатор=feature_extractor,
)
 

Поезд 🚀

 train_results = тренер. поезд()
Trainer.save_model()
Trainer.log_metrics("поезд", train_results.metrics)
Trainer.save_metrics("поезд", train_results.metrics)
Trainer.save_state()
 

Оцените 📊

 метрики = train.evaluate(prepared_ds['проверка'])
Trainer.log_metrics("оценка", метрики)
Trainer.save_metrics("оценка", метрики)
 

Вот результаты моей оценки — Классные бобы! Извините, пришлось сказать.

 ***** оценка показателей *****
  эпоха = 4,0
  eval_accuracy = 0,985
  оценка_лосс = 0,0637
  eval_runtime = 0:00:02.13
  eval_samples_per_second = 62,356
  eval_steps_per_second = 7,97
 

Наконец, если хотите, вы можете подтолкнуть свою модель к концентратору. Здесь мы подтолкнем его, если вы указали push_to_hub=True в конфигурации обучения. Обратите внимание, что для отправки в хаб у вас должен быть установлен git-lfs и вы должны войти в свою учетную запись Hugging Face (что можно сделать с помощью Huggingface-cli login ).

 kwargs = {
    "finetuned_from": model. config._name_or_path,
    "задачи": "классификация изображений",
    «набор данных»: «бобы»,
    "теги": ['классификация изображений'],
}
если training_args.push_to_hub:
    Trainer.push_to_hub('🍻 ура', **kwargs)
еще:
    Trainer.create_model_card(**kwargs)
 

Полученная модель была передана в nateraw/vit-base-beans. Я предполагаю, что у вас нет фотографий листьев фасоли, поэтому я добавил несколько примеров, чтобы вы могли попробовать! 🚀

Значительно более быстрое обучение Vision Transformer

В чем суть исследования

Vision Transformers (ViTs) — адаптированы для решения широкого круга задач компьютерного зрения, от классификации изображений до обнаружения и сегментации объектов — позволяют достичь самых современных результатов приводит к визуальному представлению и распознаванию. Поскольку производительность моделей компьютерного зрения имеет тенденцию улучшаться с увеличением количества параметров и более длительным графиком обучения, сообщество ИИ экспериментировало со все более крупными ViT. Но по мере того, как масштабы моделей начинают превышать терафлопс, в этой области возникают серьезные узкие места. Обучение одной модели может занять месяцы и потребовать сотни или тысячи графических процессоров, что увеличивает требования к ускорителям и делает крупномасштабные ViT недоступными для многих практиков.

Чтобы расширить доступ к ViT, мы разработали методы повышения эффективности обучения. Чтобы эти модели стали более доступными, обучение должно быть оптимизировано для достижения наилучшего использования ускорителя. Но этот процесс трудоемкий и требует немалых знаний. Чтобы организовать упорядоченный эксперимент, исследователи должны выбирать из множества возможных оптимизаций: любая из миллионов операций, выполняемых за один тренировочный проход, может быть затруднена из-за неэффективности.

Мы обнаружили, что можем повысить эффективность вычислений и памяти, применив ряд оптимизаций к реализации ViT в PyCls, кодовой базе классификации изображений Meta AI. Наши улучшения повысили скорость обучения и пропускную способность на ускоритель (TFLOPS) для моделей ViT, обученных с использованием PyCls.

Относительное увеличение пропускной способности ускорителя на чип по сравнению с базовым уровнем V100 с использованием оптимизированной кодовой базы. Оптимизированная версия A100 имеет в 4,05 раза большую пропускную способность ускорителя по сравнению с базовой версией V100.

Как это работает

Мы начали с профилирования нашей кодовой базы, чтобы выявить потенциальные источники неэффективности, в конечном итоге сосредоточившись на нашем выборе числового формата. По умолчанию большинство приложений представляют значения нейронной сети в 32-битном формате одинарной точности с плавающей запятой. Преобразование в 16-битный формат половинной точности (FP16) сокращает объем памяти и время выполнения модели, но также часто снижает ее точность.

Мы искали золотую середину: смешанная точность. С помощью этого метода система ускоряет обучение и сокращает использование памяти, выполняя вычисления с половинной точностью, а результаты сохраняются с одинарной точностью для сохранения точности. Вместо того, чтобы вручную приводить части нашей сети к половинной точности, мы экспериментировали с различными режимами автоматического обучения смешанной точности (AMP), которое автоматически переключается между числовыми форматами. Расширенные режимы AMP основаны в первую очередь на операциях с половинной точностью и весах моделей. Мы нашли сбалансированную настройку, которая значительно ускоряет тренировку без ущерба для точности.

Чтобы сделать наш процесс еще более эффективным, мы воспользовались обучающим алгоритмом FairScale Fully Sharded Data Parallel (FSDP). Он разделяет параметры, градиенты и состояния оптимизатора для графических процессоров. С помощью FSDP мы можем создавать модели на несколько порядков больше, используя меньше графических процессоров. Мы также использовали оптимизаторы MTA, объединенный классификатор ViT и макет тензора пакетного ввода, чтобы пропустить избыточные операции транспонирования.

Ось X обозначает возможные оптимизации, а ось Y показывает относительное увеличение пропускной способности ускорителя для обучения ViT-H/16 по сравнению с базовым уровнем распределенных параллельных данных (DDP).

Мы добились увеличения ускорителя в 1,51 раза — измеряется количеством операций с плавающей запятой, выполняемых в секунду на каждом чипе ускорителя — при общем размере пакета 560. Мы могли увеличить пропускную способность до 1,86 раза, увеличив размер изображения с 224 пикселей. до 256 пикселей. Однако изменение размера изображения изменяет гиперпараметры, что может повлиять на точность модели. Относительная пропускная способность увеличивается до 2,18x при обучении в полном режиме FP16, хотя это иногда снижает точность (ухудшение точности в наших экспериментах составило менее 10 процентов).

По оси Y показано время эпохи — продолжительность одного обучающего прохода по всему набору данных ImageNet-1K. Мы сосредоточились на фактическом времени обучения настенных часов существующих рецептов, которые обычно используют размер изображения 224 пикселя, поэтому мы не строили наблюдения с изображениями большего размера.

С помощью наших оптимизаций мы сократили время эпохи — продолжительность одного обучающего прохода по всему набору данных ImageNet-1K — с 0,65 часа до 0,43 часа.

По оси X указано количество чипов ускорителей в конкретной конфигурации графических процессоров A100, а по оси Y указана абсолютная пропускная способность в TFLOPS на чип.

Мы также исследовали влияние различных конфигураций GPU. В каждом случае наша система достигла более высокой пропускной способности, чем базовый уровень распределенных параллельных данных (DDP). Когда мы увеличили количество чипов, мы заметили небольшое падение пропускной способности из-за накладных расходов, связанных с обменом данными между устройствами. Однако даже при использовании 64 графических процессоров наша система была в 1,83 раза быстрее, чем базовый уровень DDP.

Почему это важно

Удвоение достижимой производительности в обучении ViT фактически удваивает размер учебного кластера, а улучшенное использование ускорителей напрямую снижает углеродный след моделей ИИ. Учитывая недавнюю тенденцию к разработке более крупных моделей с более длительным временем обучения, мы надеемся, что наши оптимизации помогут исследовательскому сообществу и дальше продвигать современное состояние с более коротким временем обработки и повышенной производительностью.