Développée principalement par le laboratoire de recherche en intelligence artificielle de Facebook, FAIR, PyTorch est une bibliothèque de machine learning open-source incontournable.

Sa popularité repose sur sa capacité à faciliter les applications d’apprentissage automatique, en particulier dans le domaine exigeant des réseaux de neurones profonds.

Conçue avec une approche intuitive, cette bibliothèque se distingue par sa facilité d’utilisation et sa flexibilité, permettant aux utilisateurs de modeler l’apprentissage automatique avec une aisance remarquable.

Son style de programmation impératif, traitant les opérations étape par étape, rend PyTorch particulièrement accessible et aisé à déboguer.

L’une des fonctionnalités clés de PyTorch est son système ‘autograd’, un outil d’automatisation pour la différentiation et le calcul des gradients, essentiel dans l’entraînement des réseaux de neurones.

De plus, sa capacité à utiliser les GPUs pour l’accélération des calculs est un atout majeur, surtout pour le traitement de volumineuses données et de modèles complexes.

PyTorch excelle également dans l’intégration avec d’autres bibliothèques et outils essentiels du domaine de l’IA et du data science, tels que NumPy, SciPy et Matplotlib, facilitant ainsi un large éventail d’applications.

Sa réputation dans la recherche académique et les applications industrielles est bien établie, grâce à sa puissance et à sa flexibilité.

Elle est particulièrement prisée pour sa capacité à construire des modèles d’intelligence artificielle complexes et innovants.

Voici un exemple de code qui apprends depuis un dossier pdf et réponds à vos questions.

import os
import PyPDF2
from transformers import AutoTokenizer, AutoModelForQuestionAnswering
from transformers import pipeline

def extract_text_from_pdf(pdf_path):
with open(pdf_path, ‘rb’) as file:
reader = PyPDF2.PdfFileReader(file)
text =  »
for page in range(reader.numPages):
text += reader.getPage(page).extractText()
return text

def extract_text_from_directory(directory_path):
texts = []
for filename in os.listdir(directory_path):
if filename.endswith(‘.pdf’):
pdf_path = os.path.join(directory_path, filename)
texts.append(extract_text_from_pdf(pdf_path))
return  » « .join(texts)

tokenizer = AutoTokenizer.from_pretrained(« bert-large-uncased-whole-word-masking-finetuned-squad »)
model = AutoModelForQuestionAnswering.from_pretrained(« bert-large-uncased-whole-word-masking-finetuned-squad »)
qa_pipeline = pipeline(‘question-answering’, model=model, tokenizer=tokenizer)

def answer_question(question, context):
return qa_pipeline({‘question’: question, ‘context’: context})

directory_path = ‘chemin/vers/votre/répertoire’
all_pdf_text = extract_text_from_directory(directory_path)
question = « Quelle est la question à poser? »
print(answer_question(question, all_pdf_text))