• Как правильно оформить функцию потерь в torch?

    FerroPanda
    @FerroPanda Автор вопроса
    Нет, совсем не так.
    Есть классическое обучение с учителем - данные + правильный ответ. На разнице ответа сети и правильного ответа оптимизируют параметры сети.
    У меня правильных ответов нет - я их вычисляю "на лету" по ответам нейронной сети. Получив несколько ответов с батча, я высчитываю эффективность НН и оцениваю в диапазоне от отлично до плохо. И вот получив этот ответ мне нужно как-то запихнуть это в loss, чтобы отработали backward и optimizer.
    В torch loss просто цифрой не прокатывает, а нужен тензор с градиентами и что-то ещё.
    Вот и вопрос как правильно сформировать эту переменную loss.
    Написано
  • Как правильно оформить функцию потерь в torch?

    FerroPanda
    @FerroPanda Автор вопроса
    вы пояснение к вопросу не читали? или что в нём не понятно? ... ваш ответ похож на современные корпоративные стандарты.
    Написано
  • Как создать одну виртуальную машину использующую несколько серверов?

    FerroPanda
    @FerroPanda Автор вопроса
    Похоже вы не в курсе кто такой MPI. )) Это стандартизированный API для обмена данными в распределённых вычислениях. mpi4py это адаптация этого стандарта для питона. Его используют на суперкомпьютерах. В частности на "Ломоносов" и "Ломоносов2". Собственно на их примерах кода я и пытаюсь сейчас разобраться как оно работает.
    И да, там можно как зафигачить всю матрицу на все ноды эхом, так и разделить её на части по количеству нод и разослать "кусочками", а потом так же из кусочков собрать целый ответ.
    Так же у MPI есть и реализации для других языков программирования, в том числе и Си.
    Написано
  • Как создать одну виртуальную машину использующую несколько серверов?

    FerroPanda
    @FerroPanda Автор вопроса
    А какие накладные расходы? Сам код разворачивается одинаковый при запуске на всех узлах, при этом широковещательно, а не персонально для каждого узла. Данные для обработки - ну да, каждому передаётся свой пакет данных, но этого не избежать в любом случае. Собрать обратно обработанные данные - ну это тоже как бы неизбежность. Тупняк кодера - это тоже как бы неизбежность - косяки либо есть, либо нет и не зависят от способа реализации.
    На Си или чём-то ещё специфичном возможно будет быстрее, но там и порог входа совсем другой. Да и jit никто не отменял. И честно говоря, для меня это интересное хобби, а не работа или коммерческий проект - я не готов жертвовать временем на то, чтобы изучать досконально то, что мне нужно будет один-два раза.
    Написано
  • Как создать одну виртуальную машину использующую несколько серверов?

    FerroPanda
    @FerroPanda Автор вопроса
    Кто такой ssh? ))) ... шутка.
    Мне нужно "разогнать" вычисления конкретно на питоне. У меня есть свободное "железо". Я надеялся, что это всё можно собрать влёгкую в одну виртуальную машину, но оказалось, что нет. Т.к. я жёстко привязан к питону, то мне определённо нужна библиотека, которая поддерживает распределённые вычисления. В частности это оказался mpi4py. Эта библиотека немного замороченная, и я думал вдруг вы знакомы с питоном и знаете более простой способ организовать на питоне распределённые вычисления. Похоже питон для вас это слишком "ламерское" и вы работаете более глобально, поэтому вопрос снимается. ))
    Реально спасибо за первоначальный ответ.
    Написано
  • Как создать одну виртуальную машину использующую несколько серверов?

    FerroPanda
    @FerroPanda Автор вопроса
    Вопрос как раз в том, как проще разделить задачу, какими именно средствами, в моём случае в питоне.
    Я надеялся, что возможно создавать какую-то виртуальную среду, которая способная объединять ресурсы... но к сожалению. После того, как вы меня "разочаровали"и покопав глубже в сторону кластерных вычислений понял, что меня спасёт только MPI4PY. Конечно, получается сложнее, чем я рассчитывал, но вроде не ужас-ужас. Будем курить мануалы. ))
    Написано
  • Как создать одну виртуальную машину использующую несколько серверов?

    FerroPanda
    @FerroPanda Автор вопроса
    Пичалька.
    Возможно вы знакомы с питоном и можете подсказать в какую сторону лучше копать для использования кластерных вычислений?
    Хотелось бы не что-то "навороченное" и ультра функциональное, а что-то типа
    - подключить ноду 1.2.3.
    - запустить процедуру с таикм-то листом параметров задействую ноды.
    что-то типа обычного Pool в мультипроцессинге, но с задействованием нод.
    У меня просто время выполнения потока где-то 2-3 секунды и "накладные расходы" не сильно беспокоят.
    Написано
  • Как последовательно передавать данные из вектора для обучения нейронной сети?

    FerroPanda
    @FerroPanda Автор вопроса
    def __getitem__(self, idx):
    return self.X[idx: idx+10], self.y[idx]

    создаём класс на основе dataset, в объект на основе этого класса загружаются наши данные для обучения и потом это всё используется через стандартный dataloader, который сам обращается к нашему getitem. Я правильно понял?
    Написано
  • Как последовательно передавать данные из вектора для обучения нейронной сети?

    FerroPanda
    @FerroPanda Автор вопроса
    Vindicar, какая разница какая сеть, если вопрос в способе передачи данных средствами PyTorch при обучении. Вопрос находится в рамках между загрузкой данных с диска и передачей их во входные нейроны. Что до или после - роли не играет.
    так как порядок элементов в памяти один и тот же.

    При чём здесь порядок, если речь про объём. Вы же не будете утверждать, что массив Х и массив [Х-1, 10] займут одинаковый объём памяти. Или я что-то не знаю?
    Написано
  • Как последовательно передавать данные из вектора для обучения нейронной сети?

    FerroPanda
    @FerroPanda Автор вопроса
    Александр Скуснов, а так можно? я считал она жёстко привязана к библиотеке и параметрам. Я знаком с программированием, но не с питоном конкретно. Есть какая-то ссылка на описание на русском как это можно реализовать?
    Написано
  • Как последовательно передавать данные из вектора для обучения нейронной сети?

    FerroPanda
    @FerroPanda Автор вопроса
    Вы либо не читали, что я написал и ответили лишь бы ответить, либо я как-то недостаточно разжевал.
    Мне не нужно, чтобы из массива данные брались с 1 по 10, потом с 11 по 20. Мне нужно, чтобы вторая "порция" была со 2 по 11.
    Написано
  • Как последовательно передавать данные из вектора для обучения нейронной сети?

    FerroPanda
    @FerroPanda Автор вопроса
    Подозреваю вы предлагаете способ брать диапазон значений из массива, но это можно использовать, если у вас есть цикл. А если вы знакомы с библиотеками для обучения нс, то знаете, что там формально циклов нет. В конкретном случае, есть тензор с обучающими данными, тензор с правильными ответами, модель сети и команда "сделать красиво". Поэтому и вопрос как правильно подать данные. что бы не "плодить сущности".
    И чем вас так удивили гигабайты в массиве? Поток данных за период. Он может быть и "толще", если использовать несколько параметров.
    Написано
  • Почему APC back ups 650 не запускается сам при восстановлении питания в сети?

    FerroPanda
    @FerroPanda Автор вопроса
    акб новые, покупались в известном магазине, на упаковке написано было APC.
    А что за реле?
  • Как сделать своё облако для хранения копий файлов?

    FerroPanda
    @FerroPanda Автор вопроса
    CityCat4,
    P.S. А ещё я фанат intel и nvidia, а amd отстой. ))))

    Подразумевалось "Да будет срач - intel vs amd, Win vs Linux" и т.д. Вы слишком серьёзно к этому отнеслись. )))
  • Как сделать своё облако для хранения копий файлов?

    FerroPanda
    @FerroPanda Автор вопроса
    Drno, позволю себе не согласиться. Мне достался 7-летний сервер. Я его админю уже около 5-и лет. За всё время поочерёдно сдохли два диска в рейде, которые я просто вытащил и втащил новые. На сервере крутится куча 1Сок на скуле, фтп и несколько мобильных сервисов. Работает ... тьфу-тьфу-тьфу.
    Дома винду ставлю раз в 4-5 лет когда новый комп покупаю. Ничего не тормозит и не глючит.
    От пользователей регулярно слышу, что винда говно, а приносят - оказывается адварей всё завалено и т.п.
    Подозреваю всё дело в прокладке между монитором и клавиатурой, а не в оси, которая стоит.
    Вот если заблочат винду и станет везде линух, тогда тоже вдруг выяснится, что он неудобный и ненадёжный. )
  • Как сделать своё облако для хранения копий файлов?

    FerroPanda
    @FerroPanda Автор вопроса
    mayton2019, вы как-то не в ту сторону пошли ... мне нужно бэкапить всё подряд терабайтами.
    И причём тут стрижка собак?
  • Как сделать своё облако для хранения копий файлов?

    FerroPanda
    @FerroPanda Автор вопроса
    CityCat4, что значит обычно? Может в вашем окружении это обычно, а в моём - кроме названия о линухе никто ничего не знает.
    Вы путаете методы использования. Есть служебные системы и развлекательные. Просто на линухе особо не поиграешь и ничего не поделаешь. Поэтому его один раз настраивают и не лазят шалавливыми ручонками. А если вы порно на сервере с виндой смотрите, то да в вирусах и глюках винда будет виновата. )))
    P.S. А ещё я фанат intel и nvidia, а amd отстой. ))))
  • Как сделать своё облако для хранения копий файлов?

    FerroPanda
    @FerroPanda Автор вопроса
    Drno, freeFileSync с ftp для меня хороший вариант. В принципе уже попробовал. Конечно, не далее-далее-готово, но в принципе дружелюбно. По надёжности норм. А в чём собственно мучения?
  • Как сделать своё облако для хранения копий файлов?

    FerroPanda
    @FerroPanda Автор вопроса
    rclone почти то, что нужно.
    Я понимаю, что тут все профессионалы, работают только в командной строке и с планировщиком задач, но нужно что-то подобное, но с гуи и автоматической работой сервисом. Что-то подобное знаете?
    freeFileSync - совсем-совсем почти, только жаль что через планировщик. ))
  • Как сделать своё облако для хранения копий файлов?

    FerroPanda
    @FerroPanda Автор вопроса
    Я сказал достаточно - нужно просто бэкапить файлы из конкретной папки. Чего тут недостаточно?
    Эксельки из папок загрузки и документы бэкапить, потому что бухгалтерия в некоторых случаях потом бегает и кричит "у нас всё пропало". А переносить скачанное в другие папки они не умеют. ))