Интеграция Tensorboard в конвейер KUBEFLOW с помощью средств просмотра - PullRequest
0 голосов
/ 16 мая 2019

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

Модель тренируется нормально, конвейер работает нормально, но я не могу правильно использовать средство просмотра вывода для TENSORBOARD.При чтении из документации кажется, что простого добавления правильного файла json в корневой путь обучающего контейнера (/mlpipeline-ui-metadata.json) должно быть достаточно, но даже когда я делаю это, в разделе артефактов ничего не появляетсямой эксперимент запущен (пока журналы KERAS видны правильно).

Вот как я это настроил:

mlpipeline-ui-metadata.json (добавлено непосредственно из DOCKERFILE)

{
    "version": 1,
    "outputs": [
    {
        "type": "tensorboard",
        "source": "/tf-logs"  #Just a placeholder at the moment
    }
    ]
}

pipe

import kfp
from kfp import dsl

from kubernetes.client.models import V1EnvVar

def train_op(epochs,batch_size,dropout,first_layer_size,second_layer_size):
    dsl.ContainerOp(
        image='MY-IMAGE',
        name='my-train',
        container_kwargs={"image_pull_policy": "Always", 'env': [
            V1EnvVar('TRAIN_EPOCHS', epochs),
            V1EnvVar('TRAIN_BATCH_SIZE', batch_size),
            V1EnvVar('TRAIN_DROPOUT', dropout),
            V1EnvVar('TRAIN_FIRST_LAYER_SIZE', first_layer_size),
            V1EnvVar('TRAIN_SECOND_LAYER_SIZE', second_layer_size),
            ]},
        command=['sh', '-c', '/src/init_script.sh'],
    ).set_memory_request('2G').set_cpu_request('2')

@dsl.pipeline(
    name='My model pipeline',
    description='Pipeline for model training'
)
def my_model_pipeline(epochs,batch_size,dropout,first_layer_size,second_layer_size):

    train_task = train_op(epochs,batch_size,dropout,first_layer_size,second_layer_size)

if __name__ == '__main__':
    kfp.compiler.Compiler().compile(my_model_pipeline, 'my_model.zip')

Я уже пытался получить доступ к работающему POD (kubectl exec ..) и убедился, что файл действительно находится в правильном месте.

Покак я использую KUBEFLOW v0.5

...