Русский
Русский
English
Статистика
Реклама

Перевод Необходимый инструмент для каждого дата-сайентиста

image

Давайте посмотрим правде в глаза: обучение модели машинного обучения отнимает много времени, даже с учетом развития вычислительной техники за последние несколько лет. Даже самые тривиальные модели имеют более миллиона параметров. В масштабе крупнее у моделей бывает более миллиарда параметров у GPT-3 их более 175 миллиардов! и обучение этих моделей занимает дни, а то и недели. Как дата-сайентисты мы хотели бы следить за метриками модели, чтобы знать, работает ли она, как мы того ожидаем. Но нет смысла сидеть рядом с компьютером, часами отслеживая показатели. Хорошо было бы получить все эти данные на телефон.

Эту задачу можно решить с помощью TensorDash инструмента удаленного мониторинга ваших моделей машинного обучения с открытым исходным кодом, о котором и пойдет речь дальше. Под катом примеры применения TensorDash с TensorFlow, Keras, PyTorch и Fast.ai.



Когда в последний раз вы оставляли модель тренироваться в течение нескольких часов и покидали место работы, а вернувшись, обнаруживали модель поврежденной на полпути? Это расстраивает, а поскольку у большинства людей нет возможности обучать модели машинного обучения локально, предпочтительны облачные сервисы, такие как GCP, Google Colab, AWS и Azure: пользователи платят за использование ресурсов. В этом случае, если модель потерпела крах в промежутке между тренировками, вы платите за неиспользуемый сервис. Уведомления о статусе модели помогут избавиться от страха что-то пропустить.

TensorDash


TensorDash бесплатное приложение с открытым исходным кодом, позволяющее удаленно отслеживать ваши модели машинного обучения с помощью подробных графиков всех ваших показателей. Оно также уведомляет вас, когда обучение завершилось или в случае, если модель потерпела крах. Поддерживаются все основные фреймворки машинного обучения: TensorFlow, Pytorch, Keras и Fastai. Теперь не нужно напрягаться, сидя перед компьютером и молясь о повышении точности. Вы можете отслеживать модель, не выходя из дома.


Работа TensorDash

Применение TensorDash


  1. Установите TensorDash из Play Store. Поддержка устройств iOS скоро появится.
  2. Cоздайте учетную запись.
  3. Установите пакет TensorDash для Python, выполнив команду pip install tensor-dash.
  4. Следуйте приведенным ниже инструкциям о том, как использовать TensorDash с фреймворками.

Поддержка Keras/tf.keras


Удаленный мониторинг с помощью Keras и tf.keras работает с использованием функции обратного вызова. Импортируйте TensorDash. Определите объект TensorDash, используя в качестве параметров имя модели, электронную почту вашей учетной записи и пароль. Через обратные вызовы передайте объект TensorDash в функцию fit(). Чтобы получить уведомление о сбое модели, добавьте функцию fit() в раздел обработки исключений, а в except вызовите метод sendCrash(). Ниже приведен пример кода для использования TensorDash в Keras/tf.keras

from tensordash.tensordash import Tensordashhistories = Tensordash(    ModelName = '<YOUR_MODEL_NAME>',    email = '<YOUR_EMAIL_ID>',     password = '<YOUR PASSWORD>')    try:    model.fit(    X_train,     y_train,     epochs = epochs,     validation_data = validation_data,     batch_size = batch_size,     callbacks = [histories])except:    histories.sendCrash()

Поддержка PyTorch


Импортируйте Torchdash из пакета Tensordash. Создайте объект Torchdash с именем модели, электронной почтой и паролем в качестве параметров. Используйте метод Torchdash sendLoss() внутри цикла обучения, чтобы отправить метрики модели в вашу учетную запись. Передайте метрики потери, точности, учебную потерю и точность валидации в качестве параметров. Обратите внимание, что вы должны добавить хотя бы одну метрику. Чтобы получить уведомление о сбое модели, добавьте обучающий цикл в раздел обработки исключений и в except вызовите метод sendCrash(). Ниже приведен пример кода использования TensorDash вместе с PyTorch.

from tensordash.torchdash import Torchdashhistories = Torchdash(    ModelName = '<YOUR_MODEL_NAME>',    email = '<YOUR_EMAIL_ID>',     password = '<YOUR PASSWORD>')try:    for epoch in range(epochs):        losses = []        for data in trainset:            X, y = data            net.zero_grad()            output = net(X.view(data_shape))            loss = F.nll_loss(output, y)            loss.backward()            optimizer.step()        losses = np.asarray(losses)        histories.sendLoss(loss = np.mean(losses), epoch = epoch, total_epochs = epochs) // Add this line to your training loopexcept:    histories.sendCrash()

Поддержка Fast.ai


Дистанционный мониторинг с помощью fast.ai работает через обратные вызовы. Импортируйте Fastdash. Определите объект Fastdash, используя в качестве параметров имя модели, электронную почту вашей учетной записи и пароль. Передайте объект Fastdash через обратные вызовы в функцию fit(). Чтобы получить уведомление о сбое модели, добавьте функцию fit() в раздел обработки исключений и в except вызовите метод sendCrash(). Ниже приведен пример кода использования TensorDash с Fast.ai.

from tensordash.fastdash import Fastdashmy_cb = Tensordash(    ModelName = '<YOUR_MODEL_NAME>',    email = '<YOUR_EMAIL_ID>',     password = '<YOUR PASSWORD>')try:    learn.fit(epochs, learning_rate, callbacks = my_cb)except:    my_cb.sendCrash()

Поддержка TensorFlow


Импортируйте Customdash из пакета Tensordash. Создайте объект Customdash с именем модели, электронной почтой и паролем в качестве параметров. Используйте метод sendLoss() объекта CustomDash внутри цикла обучения, чтобы отправить метрики модели в вашу учетную запись. Передайте метрики потери, точности, учебной потери и точности проверки в качестве параметров. Обратите внимание, что вы должны добавить хотя бы одну метрику. Чтобы получить уведомление о сбое модели, добавьте обучающий цикл в раздел обработки исключений и в except вызовите метод sendCrash(). Обратите внимание, что Customdash можно использовать с любым фреймворком, где вы указываете пользовательский цикл обучения. Ниже приведен пример кода для использования TensorDash в пользовательском цикле TensorFlow.

from tensordash.tensordash import Customdashhistories = Customdash(    ModelName = '<YOUR_MODEL_NAME>',    email = '<YOUR_EMAIL_ID>',     password = '<YOUR PASSWORD>')try:    for epoch in range(num_epochs):        epoch_loss_avg = tf.keras.metrics.Mean()        epoch_accuracy = tf.keras.metrics.SparseCategoricalAccuracy()        for x, y in train_dataset:            loss_value, grads = grad(model, x, y)            optimizer.apply_gradients(zip(grads, model.trainable_variables))            epoch_loss_avg(loss_value)            epoch_accuracy(y, model(x, training=True))        train_loss_results.append(epoch_loss_avg.result())        train_accuracy_results.append(epoch_accuracy.result())        histories.sendLoss(loss = epoch_loss_avg.result(), accuracy = epoch_accuracy.result(), epoch = epoch, total_epochs = epochs) // Add this line to your training loopexcept:    histories.sendCrash()

Заключение


TensorDash полностью бесплатный продукт и открытым исходным кодом. Github Issues и ваш вклад в него приветствуются. Посмотрите репозиторий здесь и детальную документацию здесь.

На тот случай, если вы подумываете повысить свою квалификацию или сменить сферу промокод HABR даст вам получить дополнительные 10% к скидке указанной на баннере.

image




Рекомендуемые статьи


Источник: habr.com
К списку статей
Опубликовано: 28.10.2020 16:07:32
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании skillfactory

Open source

Python

Машинное обучение

Tensorflow

Skillfactory

Мониторинг нейросети

Нейросети

Machine learning

Pytorch

Keras

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru