Я делаю проект по искусственному интеллекту
Помогите пожалуйста, как исправить ошибку с логами
Не могу исправить ошибку с логами
PS C:\Users\user\PycharmProjects\My new project> python Continuous_training.py
Каталог журнала: C:\Users\user\PycharmProjects\My new project\logs
25 мая 2024 02:29 :07.976463: I tensorflow/core/util/port.cc:113] пользовательские операции oneDNN включены. Вы можете увидеть немного разные числовые результаты из-за ошибок округления с плавающей запятой в разных порядках вычислений. Чтобы отключить их, установите переменную среды TF_ENABLE_ONEDNN_OPTS=0.
2024-05-25 02:29:08.705929: I tensorflow/core/util/port.cc:113] Пользовательские операции oneDNN включены . Вы можете увидеть немного разные числовые результаты из-за ошибок округления с плавающей запятой в разных порядках вычислений. Чтобы отключить их, установите переменную среды TF_ENABLE_ONEDNN_OPTS=0.
import os
log_dir = os.path.abspath('./logs')
os.makedirs(log_dir, exist_ok=True)
model_dir = './model/trained_model'
os.makedirs(model_dir, exist_ok=True)
checkpoint_dir = os.path.join(model_dir, 'checkpoint')
if os.path.exists(checkpoint_dir):
os.rename(checkpoint_dir, os.path.join(model_dir, 'checkpoint_old'))
logging_dir = os.path.abspath(log_dir)
print(f"Logging directory: {logging_dir}")
import time
import requests
from bs4 import BeautifulSoup
from transformers import GPT2Tokenizer, GPT2LMHeadModel, DataCollatorForLanguageModeling, Trainer, TrainingArguments
from datasets import Dataset
import random
def get_random_urls(count=5):
urls = []
for _ in range(count):
response = requests.get('links')
if response.status_code == 200:
urls.append(response.url)
return urls
def get_text_from_urls(urls):
texts = []
for url in urls:
try:
response = requests.get(url)
if response.status_code == 200:
soup = BeautifulSoup(response.content, 'html.parser')
paragraphs = soup.find_all('p')
text = ' '.join([para.get_text() for para in paragraphs])
texts.append(text)
except requests.RequestException as e:
print(f"Error fetching {url}: {e}")
return ' '.join(texts)
def train_model(urls, epochs=5):
text = get_text_from_urls(urls)
tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
tokenizer.pad_token = tokenizer.eos_token
model = GPT2LMHeadModel.from_pretrained('./model/trained_model') if os.path.exists('./model/trained_model') else GPT2LMHeadModel.from_pretrained('gpt2')
dataset = Dataset.from_dict({"text": [text]})
dataset = dataset.map(
lambda examples: tokenizer(examples['text'], padding="max_length", truncation=True, max_length=128),
batched=True)
dataset.set_format(type='torch', columns=['input_ids', 'attention_mask'])
data_collator = DataCollatorForLanguageModeling(
tokenizer=tokenizer,
mlm=False
)
model_dir = 'C:/Users/user/trained_model'
os.makedirs(model_dir, exist_ok=True)
training_args = TrainingArguments(
output_dir='./results',
overwrite_output_dir=True,
num_train_epochs=epochs,
per_device_train_batch_size=1,
save_steps=10_000,
save_total_limit=2,
logging_dir=logging_dir
)
if not os.path.exists(training_args.logging_dir):
print(f"Logging directory does not exist. Creating directory at: {training_args.logging_dir}")
os.makedirs(training_args.logging_dir)
trainer = Trainer(
model=model,
args=training_args,
data_collator=data_collator,
train_dataset=dataset
)
trainer.train()
model.save_pretrained('./model/trained_model')
tokenizer.save_pretrained('./model/trained_model')
if __name__ == "__main__":
while True:
urls = get_random_urls()
print(f"Training with URLs: {urls}")
train_model(urls, epochs=1)
time.sleep(86400)
Подробнее здесь: https://stackoverflow.com/questions/785 ... or-c-users