TensorDash--每位数据科学家必备的工具

TensorDash--每位数据科学家必备的工具


TensorDash: 一个远程监控你的机器学习模型的应用程序

训练一个机器学习模型是很耗时的。即使在过去几年里计算机技术的进步,训练机器学习模型也需要花费大量时间。即使是最简单的模型也有超过100万个参数。在更大的规模上,这些模型有超过10亿个参数(GPT-3有超过1750亿个参数!),训练这些模型需要几天,如果不是几周的话。作为一名数据科学家,我们希望密切关注模型的指标,以了解模型是否按照预期执行。但是坐在你的电脑旁,花几个小时监控指标是没有意义的。如果能在你的手机上获取这些数据不是很好吗?

你的模型训练了几个小时之后你刚好离开了,但你回来的时候,你的模型已经崩溃了?这是令人沮丧的,完全是浪费时间。由于大多数人没有足够的能力在本地训练机器学习模型,所以像GCP、Google Colab、AWS和Azure这样的云服务是用户根据使用情况付费的首选。在这种情况下,如果模型在训练期间崩溃了,那么您就需要为服务付费,而不是使用它。如果你被告知你的模特状态,它将帮助你避免FOMO。

TensorDash

TensorDash是一款免费的开源应用程序,可让您通过所有指标的详细图表来远程监控机器学习模型。当训练完成或模型崩溃时,它还会通知您。它支持所有主流的机器学习框架,例如TensorFlow,Pytorch,Keras和Fastai。
现在,您不必再坐在计算机前,也不必为提高准确性而祈祷。您可以在舒适的家中做到这一点。

在这里插入图片描述

使用TensorDash

  1. 从Play商店安装TensorDash应用。对iOS设备的支持即将推出。
  2. 创建一个帐户。
  3. 使用命令安装TensorDash python软件包pip install tensor-dash。
  4. 请按照以下说明在各自的框架中使用TensorDash。

Keras/tf.keras

使用Keras和tf.keras进行远程监视可使用回调函数。导入Tensordash,使用模型名字、帐户邮件ID和密码作为参数定义TensorDash对象。通过fit()函数中的回调传递TensorDash对象。要在模型崩溃时得到通知,请在异常处理下添加fit()函数,并在except中调用sendCrash()方法。
以下是在Keras/tf.keras上使用TensorDash的示例代码

from tensordash.tensordash import Tensordash

histories = 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

从Tensordash包中导入Torchdash。创建一个以模型名称、电子邮件ID和密码作为参数的Torchdash对象。使用训练循环内对象的sendLoss()方法将模型度量发送到您的帐户。将损失(loss)、准确性(accuracy)、验证损失(validation loss)和验证准确性(validation accuracy)指标作为参数传递(注意,您必须添加至少一个指标)。若要在模型崩溃时得到通知,请在异常处理下添加训练循环,并在例外中调用sendCrash()方法。
下面是在PyTorch上使用TensorDash的示例代码

from tensordash.torchdash import Torchdash

histories = 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 loop

except:
    histories.sendCrash()

Fast.ai

通过回调远程监控Fast.ai工作。导入Fastdash。使用模型名称、帐户电子邮件ID和密码作为参数定义一个Fastdash对象。通过回调fit()函数传递Fastdash对象。若要在模型崩溃时得到通知,请在异常处理中添加fit()函数,并在except中调用sendCrash()方法。
下面是使用Fast.ai的示例代码

from tensordash.fastdash import Fastdash

my_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

从Tensordash包中导入Customdash。创建一个以模型名称、电子邮件ID和密码作为参数的Customdash对象。使用训练循环内对象的sendLoss()方法将模型指标发送到您的帐户。将损失(loss)、准确性(accuracy)、验证损失(validation loss)和验证准确性(validation accuracy)指标作为参数传递(注意,您必须添加至少一个指标)。若要在模型崩溃时得到通知,请在异常处理下添加训练循环,并在例外中调用sendCrash()方法。

from tensordash.tensordash import Customdash

histories = 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 loop

except:
    histories.sendCrash()

总结

TensorDash是完全免费和开源的。Github

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值