Skip to main content

onebrain sdk in python version

Project description

Onebrain-SDK

安装

首先镜像里需安装onebrain-sdk。可以采用whl包本地安装的形式。 一般来说,平台提供的镜像里应该已经集成onebrain-sdk了。

打最新的whl包

git clone https://gitee.com/onebrain/onebrain-sdk.git
python setup.py bdist_wheel -d onebrain

将whl包上传至镜像

安装whl包

pip install onebrain-0.0.1-py3-none-any.whl

SDK说明 使用示例

from onebrain.api import OnebrainClient

run_id = "my_train_job"
# 创建与平台通信的client对象
client = OnebrainClient()

然后就可以通过client对象来上传指标到平台了 以pytorch训练任务为例

# ...
def train(dataloader:DataLoader, model:nn.Module, loss_fn, optimizer:torch.optim.Optimizer, step):
    image_size = len(dataloader.dataset)
    print(f"数据集的图片总数: {image_size}")

    for batch, (x_train, y_train) in enumerate(dataloader):
        x_train, y_train = x_train.to(device), y_train.to(device)
        y_hat = model(x_train)
        loss = loss_fn(y_hat, y_train)
        loss.backward()
        optimizer.step()
        optimizer.zero_grad()

        if batch % 100 == 0:
            loss, current = loss.item(), batch * len(x)
            print(f'batch:{batch}, loss: {loss}, , image_num:{current}/{image_size}')
            # 上传指标
            client.log_metric(key="loss", value=loss, step=step)

for epoch in range(epochs):
    print(f"Epoch {epoch}\n --------------------------------")
    train(train_dataloader, model, loss_fn, optimizer, epoch)

log_metric方法参数说明:

  • run_id: 训练任务的唯一标识,默认从环境变量获取,填充为平台生成的resourceId
  • key:指标名称
  • value: 指标值
  • timestamp: 时间戳,默认为当前时间
  • step: 训练的step

备注:

在OnebrainClient对象实例化之初,会根据容器的环境变量判断该以何种方式上报平台。 默认为RestfulApi,也支持使用MQ上报指标。当环境变量不存在时,实例化会失败并报错。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

onebrain-0.0.9.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

onebrain-0.0.9-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file onebrain-0.0.9.tar.gz.

File metadata

  • Download URL: onebrain-0.0.9.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.8

File hashes

Hashes for onebrain-0.0.9.tar.gz
Algorithm Hash digest
SHA256 340c043963ab2de198ad805b4a03910f79cefeb7cfef807a614be7b864acbcba
MD5 9a8ddcee995fb6a99e72d534b9b53bf3
BLAKE2b-256 7fd25fbb79e736d2724fcf2c71a3dbdcf9891de98ce5f86cd89412f4c4a3f91d

See more details on using hashes here.

File details

Details for the file onebrain-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: onebrain-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.8

File hashes

Hashes for onebrain-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 8b75bd7289782b38163972702e627f285a370bec4fc593ec6baa4fd3d2608431
MD5 1205ac020dc94e4b2cb3fb0c11ddfb68
BLAKE2b-256 7cedbb53df0f8e1759a3b6d92d4213148c493807dc94c9c3e678e9b7b9c80319

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page