【发布时间】:2021-07-31 00:43:11
【问题描述】:
我正在研究 kubeflow 管道以及管道的不同组件如何相互链接。为此,我使用了官方 GitHub 存储库中提供的 MNIST 项目示例。但我无法理解以下代码 sn-p 中 vop.volume 和 mnist_training_container.pvolume 之间的区别。从文档dsl.VolumeOp.add_volume 我假设vop.volume 是kubernetes volume 但我不清楚pvolume 以及为什么它与训练容器相关联以及它们之间有什么区别。
vop = dsl.VolumeOp(
name="create_volume",
resource_name="data-volume",
size="500Mi",
modes=dsl.VOLUME_MODE_RWM)
# Create MNIST training component.
# train_op is from func_to_container_op which returns a kfp.dsl.ContainerOp.
# To this container we assign a K8 volume using add_pvolumes.
mnist_training_container = train_op(data_path, model_file) \
.add_pvolumes({data_path: vop.volume})
# Create MNIST prediction component.
mnist_predict_container = predict_op(data_path, model_file, image_number) \
.add_pvolumes({data_path: mnist_training_container.pvolume})
【问题讨论】:
标签: persistent-volumes kubeflow-pipelines