Трансформатор предложений с тонкой настройкой с одним предложением и данными меткиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Трансформатор предложений с тонкой настройкой с одним предложением и данными метки

Сообщение Anonymous »

Я пытаюсь точно настроить модель трансформатора предложений. Данные, которые я имею, содержит ниже столбцы: < /p>

raw_text - необработанные куски текста < /li>
Метка - соответствующая метка для текста - true или false. (1 или 0) < /li>
< /ol>
Я хотел точно настроить модель трансформатора предложений, так что встроенные встроения оптимизированы так, чтобы все истинные предложения были ближе в векторном пространстве, чем все ложные предложения. Какая потеря для моего типа данных и использования. Я склоняюсь к ниже:

, так как он соответствует моим формату данных. Когда я читал больше об этих потерях и о том, как они вычисляются с использованием якорных, положительных и отрицательных образцов, я чувствую себя менее уверенно в их использовании, поскольку мои данные не имеют такого рода пары.from sentence_transformers import SentenceTransformer, InputExample, SentencesDataset, LoggingHandler, losses
from torch.utils.data import DataLoader
import pandas as pd

# Load a pre-trained Sentence Transformer model
# model = SentenceTransformer('stsb-roberta-base') #Hugging face says this model produces embeddings of low quality
model = SentenceTransformer('all-mpnet-base-v2')

# Assume 'transportation_data' is your dataset containing 'page_raw_text' and 'is_practical' columns
data = pd.DataFrame({'text': train_data['page_raw_text'], 'label': train_data['label']})

# Create InputExample objects
examples = [InputExample(texts=[txt], label=label) for txt, label in zip(data['text'], data['label'])]

# Create a DataLoader object and a Loss model
train_dataset = SentencesDataset(examples=examples, model=model)
train_dataloader = DataLoader(train_dataset, shuffle=True, batch_size=8)
train_loss = losses.BatchAllTripletLoss(model=model)

# Define your training arguments
num_epochs = 10
evaluation_steps = 1

model.fit(train_objectives=[(train_dataloader, train_loss)], epochs=num_epochs,evaluation_steps=1)



Подробнее здесь: https://stackoverflow.com/questions/781 ... label-data
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»