LINUX.ORG.RU

Сообщения phrm

 

Пытаюсь тренировать модель HuggingFace

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

ValueError: The batch received was empty, your model won't be able to train on it. Double-check that your training dataset contains keys expected by the model: input_ids,attention_mask,token_type_ids,position_ids,head_mask,inputs_embeds,labels,output_attentions,output_hidden_states,return_dict,labels,label,label_ids.

Вот, сам код

## imports

from datasets import Dataset
from sklearn.datasets import fetch_20newsgroups
from sklearn.model_selection import train_test_split
from transformers import (
    AutoTokenizer,
    AutoModelForSequenceClassification,
    Trainer,
    TrainingArguments,
)

## data
# Load 20-newsgroup dataset and arrange it into a list of tuples
# data = [("description1", "category1"), ("description2", "category2"), ...]

newsgroups_train = fetch_20newsgroups(subset="train")
data = [
    (
        newsgroups_train.data[i],
        newsgroups_train.target_names[newsgroups_train.target[i]],
    )
    for i in range(len(newsgroups_train.data))
]


## Prepare the dataset
descriptions = [item[0] for item in data]
categories = [item[1] for item in data]

# Tokenizer and Model
model_name = "bert-base-uncased"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(
    model_name, num_labels=len(set(categories))
)


## Encoding data
def encode(examples):
    return tokenizer(examples["text"], truncation=True, padding="max_length")


## Train/Test split
(
    train_descriptions,
    test_descriptions,
    train_categories,
    test_categories,
) = train_test_split(descriptions, categories, test_size=0.2)
training_args = TrainingArguments("test_trainer")


def hugginface_dataset(text, labels):
    return Dataset.from_dict(
        {
            "text": text,
            "labels": labels,
        }
    )


train_dataset = hugginface_dataset(train_descriptions, train_categories)
test_dataset = hugginface_dataset(test_descriptions, test_categories)


## Define trainer
trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=encode(train_dataset),
    eval_dataset=encode(test_dataset),
    # compute_metrics=compute_metrics,
)


## Train the model
trainer.train()

# Evaluation
train_metrics = trainer.evaluate(train_dataset)
test_metrics = trainer.evaluate(test_dataset)

# Print metrics
print("Training metrics:", train_metrics)
print("Testing metrics:", test_metrics)

# Collect metrics
metrics = {"train": train_metrics, "test": test_metrics}

# Plot metrics
plt.figure(figsize=(10, 6))
for metric in ["loss", "accuracy"]:
    plt.plot(
        ["train", "test"],
        [metrics["train"][metric], metrics["test"][metric]],
        label=metric,
    )
plt.legend()
plt.title("Training and testing metrics")
plt.show()
##

 ,

phrm
()

Как давать домашки по програмированию в эру чатжипити?

Студенты учат питон.

С одной стороны, если не давать дом задания, они забьют и до экзаменов делать ничего не будут. С другой стороны, давать им писать код и прикидываться дурочкой («мы? жпити??? да ниразу»), тоже не хочется. Что делать? Как сегодня обходят эту проблему?

 , ,

phrm
()

[SOLVED] Самопроявляющиеся задачи для студентов

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

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

(Интеграция с GitHub — большой плюс)

 

phrm
()

Создание автономного пишущего агента

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

PS Я знаю Python и имею доступ к OpenAI API.

 , ,

phrm
()

NLP - в чем разница двух документов

Читая википедию на разных языках, я заметил, что некоторые статьи - просто перевод одной версии в другой язык, а некоторые - совсем разные. Я подумал написать NLP-модель, которая берет две статьи на одну тему, переводит обе на английский язык, и сравнивает. Я попытался сделать это с chatgpt, и он выдает неплохой результат (ниже - сравнение первой части статьи о Линуксе). А есть ли более «классические» подходы к этой проблеме? Что, вообще, гуглить?

While both RU and EN texts provide an overview of Linux, there are some conceptual differences between them:

1. The RU text highlights the costs and labor involved in developing a Linux system, whereas the EN text does not mention these aspects.
2. The RU text discusses the naming dispute between "Linux" and "GNU/Linux," while the EN text briefly acknowledges the controversy but does not delve into it.
3. The RU text mentions Linux user groups, non-profit associations like The Linux Foundation, and the market for commercial technical support (with a focus on Red Hat Corporation). The EN text covers a broader range of topics, including Linux's history, its dominance in various areas (such as servers and supercomputers), and its presence in embedded systems and consumer electronics.

 ,

phrm
()

Fastapi, Django или комбинация - выбор инструмента

У меня есть идея веб аппликации. Условно, чатгпт. Я знаю питон и FastAPI, и могу обернуть свое решение в рабочий rest API. Но, не API единым. Нужно построить сайт, с юзерами, обработкой платежей, галереями, и т.п. Я понимаю, что для этого подходит django, который мне надо будет выучить. Как я понимаю, django умеет и rest API. Передо мной выбор:

  1. Логика решения проблеммы - FastAPI, а веб-сайт на отдельном сервисе django
  2. Делать всё в django.
  3. Так ка я совсем не знаю как делать фронтенд: FastAPI + какой-то ноукод, типа bubble.io (на первое время, он мне хватит, в принципе)

Какие плюсы и минусы есть у этих подходов? Что стоит гуглить и читать? н

 , , ,

phrm
()

Британский блоггер попал в ангар, где стоят два Бурана.

Есть такой британец, с фетишем на всё советское. Ему получилось попасть в ангар, где стоят два Бурана. https://youtu.be/0fZ-r5Qe3tM?t=2013

Линукс при том, что если бы Бураны летели сегодня, то, с вероятностью 84%, на них стоял бы именно Линукс. Но, они больше не летали. Sic transit gloria mundi

 

phrm
()

Болгарская кириллица - отдельный сет в юникоде?

Непонятно почему, у меня в фиде появился пост на Болгарском.

screenshot

Я немного удивился тому, что буквы «не наши». В принципе, я знал, что есть такое понятие как «Болгарица», но думал это просто разные фонты. Оказывается - нет.

 

phrm
()

Как правильно хостить зоопарк веб-аппликаций?

Имеется комманда дата сайентистов. Кто пишет на питоне, кто на R. Иногда они строят веб-аппликации для демонстраций и т.п. Кто использует shiny (R), кто bokeh или streamlit (python). Хотелось бы дать возможность хостить весь этот зоопарк на одном сервере AWS, так, чтобы девелоперы не заморачивались с аутентикацией и прочими вещами. Но я даже не знаю что гуглить.

Как мы работаем сейчас?

Имеется машина на aws с известным IP адресом. Человек запускает в ней screen, там запускает сервер (кто shiny, кто streamlit, кто bokeh), пытаясь угадать какой порт еще не занят. Когда надо показать аппликацию клиенту, шлем ему адрес по типу http://111.222.333.44:1111. Контроль доступа осуществляется тем, что «никто» не знает адрес IP.

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

 

phrm
()

Bluetooth гарнитура похожая на старые телефоны

Я когда-то видел гарнитуру которая выглядит как старый телефон (что-то по типу Нокии 105). Не могу найти ни на ибее, ни на дилекстриме, нигде. Помогите пожалуйста

 

phrm
()

Электроники, что делать если музыкальный инструмент фонит?

Купил я своему чаду вот такой набо электронных барабанов : http://www.pyleaudio.com/sku/PED03/Electronic-Drum-Set-with-Natural-Response-... (PylePro PED03). Подключил к наушникам, а там — довольно-таки сильный фоновой шум. Я проверил две пары наушников и динамики — фон есть.

Возможно-ли как-то этот фон подавить?

 ,

phrm
()

Как починить некорректное поведение «стрелочных» кнопок?

Коллеги,

Я подключаюсь к Дебиан-машине через SSH. Кнопки стрелок работают нормально в консоли. Но в программах, которые читают STDIN, вместо ожидаемого поведения (курсор двикается в лево/право), отображаются непонятные знаки:

BOX]temp$ cat tmp.py
while True:
 n = raw_input("enter something >")
 print ">%s<" % n


SBX]temp$ python tmp.py
enter something >Tut zhmem strrelky nazad^[[D^[[D^[[D i vprered^[[C^[[C^[[C
>Tut zhmem strrelky na i vprered   <
enter something >^CTraceback (most recent call last):
  File "tmp.py", line 2, in <module>
    n = raw_input("enter something >")
KeyboardInterrupt
BOX]temp$
phrm
()

Мужик изобрел велосипед (из картона)

не изобрел, конечно, а построил, но всё-таки... велосипед из картона

http://www.youtube.com/watch?feature=player_embedded&v=txSboSNQINs

Я только не понял из чего цепь сделана?

 

phrm
()

Можно-ли подключить такой монитор к компьютеру?

Вот такой монитор с входом A/V http://www.dealextreme.com/p/4-3-lcd-monitor-for-visual-reversing-vehicles-re... У компьютера есть выход DVI и HDMI. К последнему подключен основной монитор. Можно-ли, при помощи DVI-AV переходника подключить этот монитор к компьютеру в качестве дополнительного мониторчика если известно что «обычный» DVI монитор подключается к компьютеру без проблем

phrm
()

[арабский язык] что здесь написано?

[арабский язык] что здесь написано?

http://imageshack.us/photo/my-images/849/45253952.jpg

phrm
()

Как отличить картинку от случайного набора пикселей

Вот есть такая ч/б картинка: http://imageshack.us/photo/my-images/208/dotsr.png/

на ней серые кружочки на сером фоне. Иногда кружочки светлее фона, иногда - наооборот. А есть другая картинка: на ней те-же самые пиксели, которые частично (или полностью) были перемешаны (переставленны местами). Какие существуют методы, при помощи которых можно разлечить такие картинки?

phrm
()

[питон][гуй] выбор фреймворка и компонентов для простой утилиты

Я никогда еще не писал ГУЙ. Внезапно меня попросили написать утилиту в которой: (1) юзер выберает файл картинки (тиф 2000х8000 пикселей) (2) получает превью картинки (3) может подогнать яркость и контраст (4) выставить горизонтальную планку на картинке (5) нажать ОК для дальнейшей работы. После этого, утилита получает координату горизонтальной планки и делает свое чёрное дело.

Я пишу на питоне. Подскажите какой фреймворк выбрать и на какие компоненты/классы этого фреймворка смотреть.

Спасибо

 

phrm
()

[лингвистика] Новый Ёрк и Нью Зиланд

Вот мне стало интересно, почему New York, New Delhi на русский перевели транслитом, а в случае New Zealand, New Guinea и т.д, не ограничелись транслитером, а взяли и перевели в Новую Зеландию, Новую Гвинею и т.д.

Версиии и гипотезы в студию, пожалуйста.

 

phrm
()

[Гордость за державу] Нобелевская премия по химии

Гордость за державу. Нобелевская премия по химии в этом году, как и в 2009 будет вручена израильтянину. Профессор Шехман из Техниона (http://www1.technion.ac.il/en) получит премию за открытие квазикристалов.

(Жаль только то, что я не знаю что это такое. Но по этому поводу грех не почитать литературу)

phrm
()

[шахматы] не пойму поведения игрока

вот ход шахматной игры в формате PGN


[Event "Dutch Championship"]
[Site "Boxtel NED"]
[Date "2011.06.26"]
[Round "1"]
[White "Ernst, Sipke"]
[Black "Giri, Anish"]
[Result "1/2-1/2"]
[ECO "D43"]
[WhiteElo "2596"]
[BlackElo "2687"]
[PlyCount "122"]
[EventDate "2011.??.??"]

1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. Nc3 e6 5. Bg5 h6 6. Bh4 dxc4 7. e4 g5 8. Bg3 b5
9. Be2 Bb7 10. O-O Nbd7 11. Ne5 Bg7 12. Nxd7 Nxd7 13. Bd6 Bf8 14. Bxf8 Rxf8 15.
e5 Qb6 16. Ne4 O-O-O 17. Nd6+ Kb8 18. b3 c3 19. a4 f6 20. axb5 Nxe5 21. Nxb7
Kxb7 22. Qc2 Qxd4 23. bxc6+ Nxc6 24. Bf3 Qd3 25. Qa2 Rd5 26. b4 Qb5 27. Rfe1 g4
28. Bxg4 Rd2 29. Qxe6 Kb8 30. Be2 Qd5 31. Qe3 Qe5 32. Bf3 Nd4 33. Qxh6 Nxf3+
34. gxf3 Qg5+ 35. Qxg5 fxg5 36. Kg2 g4 37. fxg4 Rdxf2+ 38. Kg1 c2 39. Re8+ Rxe8
40. Kxf2 Re4 41. Kg3 Rxb4 42. Rc1 Rc4 43. h4 Kc7 44. h5 Kd6 45. h6 Rc7 46. g5
Ke6 47. g6 Rc3+ 48. Kh2 Rc8 49. Rf1 Rh8 50. h7 a5 51. Kg3 c1=Q 52. Rxc1 Kf6 53.
Rc6+ Kg7 54. Kf4 Rb8 55. Kf5 Rb5+ 56. Ke6 Rb8 57. Kd7 a4 58. Ra6 a3 59. Ke7 a2
60. Rxa2 Kxg6 61. h8=N+ Rxh8 1/2-1/2

После 33-го хода у Белых появилась возможность безвозмездно взять черную ладью ферзем, но в место этого, и Белые и Черные продолжали играть как будто этой возможности не было, пока они не разменялись ферзями. Что я не вижу?

ПС. Игру можно просмотреть зайдя сюда http://www.caissa.com/chess-tools/chess-game-viewer.php или сюда http://chessflash.com/chessflash.html и копи-пэйстнуть PGN

 

phrm
()

RSS подписка на новые темы