Как да приложите тръбопроводи върху набор от данни в Transformers?

Kak Da Prilozite Tr Boprovodi V Rhu Nabor Ot Danni V Transformers



Функцията pipeline() е неразделна част от библиотеката на Transformer. Необходими са няколко входа, в които можем да дефинираме задача за извод, модели, механизъм за токенизация и т.н. Функцията pipeline() се използва основно за изпълнение на NLP задачи върху един или няколко текста. Той извършва предварителна обработка на входа и последваща обработка въз основа на модела, за да генерира четим от човека изход и точна прогноза с максимална точност.

Тази статия обхваща следните аспекти:







Какво представлява библиотеката с данни за прегръщане на лица?

Библиотеката с набори от данни на Hugging Face е API, който съдържа няколко публични набора от данни и предоставя лесен начин за изтеглянето им. Тази библиотека може да бъде импортирана и инсталирана в приложението с помощта на „ пип ” команда. За практическа демонстрация за изтегляне и инсталиране на набори от данни на библиотеката Hugging Face посетете това Връзка към Google Colab. Можете да изтеглите множество набори от данни от Hugging Face Dataset Hub.



Научете повече за функционирането на функцията pipeline(), като се позовавате на тази статия „ Как да използваме функцията Pipeline() в Transformers? ”.



Как да приложите тръбопроводи върху набор от данни в Hugging Face?

Hugging Face предоставя няколко различни публични набора от данни, които лесно могат да бъдат инсталирани с помощта на едноредов код. В тази статия ще видим практическа демонстрация на прилагане на тръбопроводи към тези набори от данни. Има два начина, по които тръбопроводите могат да бъдат внедрени в набора от данни.





Метод 1: Използване на итерационен метод

Функцията pipeline() може да се повтори и върху набор от данни и модел. За тази цел следвайте стъпките, посочени по-долу:

Стъпка 1: Инсталирайте Transformer Library

За да инсталирате библиотеката Transformer, въведете следната команда:



!pip инсталирайте трансформатори

Стъпка 2: Импортирайте тръбопроводи

Можем да импортираме тръбопровода от библиотеката на Transformer. За тази цел въведете следната команда:

от тръбопровод за внос на трансформатори

Стъпка 3: Внедряване на тръбопровод

Тук функцията pipeline() е внедрена върху модела „ gpt2 ”. Можете да изтеглите модели от Hugging Face Model Hub:

def imp_pipeline():
за x в диапазон (1000):
yield f'Набор от данни за внедряване{x}'


generate_pipeline= тръбопровод(модел='gpt2', устройство=0)
gen_char= 0
за изход в generate_pipeline(imp_pipeline()):
gen_char += len(изход[0]['generated_text'])

В този код „ генериране_тръбопровод ” е променлива, която съдържа функцията pipeline() с модел „ gpt2 ”. Когато се извика с „ imp_pipeline() ”, тя автоматично разпознава данните, които са увеличени с диапазона, определен до 1000:

Това ще отнеме известно време за обучение. Връзката към Google Co също е дадено.

Метод 2: Използване на библиотека с набори от данни

В този метод ще демонстрираме внедряване на тръбопровода с помощта на библиотеката „набори от данни“:

Стъпка 1: Инсталирайте Transformer

За да инсталирате библиотеката Transformer, въведете следната команда:

!pip инсталирайте трансформатори

Стъпка 2: Инсталирайте библиотека с набор от данни

като „ набори от данни ” съдържа всички публични набори от данни, можем да я инсталираме, като използваме следната команда. Като инсталирате „ набори от данни ”, можем директно да импортираме всеки набор от данни, като предоставим неговото име:

!pip инсталиране на набори от данни

Стъпка 3: Тръбопровод за набор от данни

За да изградите конвейер върху набора от данни, използвайте следния код. KeyDataset е функция, която извежда само онези стойности, които интересуват потребителя:

от transformers.pipelines.pt_utils импортирайте KeyDataset
от тръбопровод за внос на трансформатори
от набори от данни импортирайте load_dataset
gen_pipeline = тръбопровод (модел = 'hf-internal-testing/tiny-random-wav2vec2', устройство = 0)
loaddataset = load_dataset('hf-internal-testing/librispeech_asr_dummy', 'clean', split='validation[:10]')за изход в gen_pipeline(KeyDataset(loaddataset, 'audio')):
print('Отпечатване на изход сега')
печат ('----------------')
печат (изход)

Резултатът от горния код е даден по-долу:

Това е всичко от това ръководство. Връзката към Google Co също се споменава в тази статия

Заключение

За да приложим тръбопроводи към набора от данни, можем или да итерираме върху набор от данни, като използваме функция pipeline() или да използваме „ набори от данни ' библиотека. Hugging Face предоставя връзката към хранилището на GitHub на своите потребители както за набори от данни, така и за модели, които могат да се използват въз основа на изискванията. Тази статия предоставя изчерпателно ръководство за прилагане на тръбопроводи върху набор от данни в Transformers.