| 会员登录 立即注册

打印 上一主题 下一主题

使用 Podman 运行一个“hello world”MLCube

[复制链接]
跳转到指定楼层
楼主
3AAA 发表于 2022-5-14 17:28:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
楼主
3AAA
2022-5-14 17:28:52 4585 1 看楼主


MLCube是一个新的基于基础设施规范的开源容器,被引入到基于 Python 的机器学习工作流程中,以实现可重复性。它可以利用诸如Podman、Singularity和Docker等工具。也支持在远程平台上的执行。开发 MLCube 的 MLCommons 最佳实践工作组的主席之一是来自 Red Hat 的Diane Feddema。这篇介绍性文章解释了如何在 Fedora Linux 上使用 Podman 运行“hello world” MLCube 例子。

Yazan Monshed写了一篇关于Fedora 上的 Podman的非常有用的介绍,对这里使用的一些步骤给出了更多细节。

首先安装必要的依赖项。
sudo dnf -y updatesudo dnf -y install podman git virtualenv \                    policycoreutils-python-utils
然后,按照文档的要求,设置一个虚拟环境并获得示例代码。为了确保可重复性,使用一个特定的提交,因为该项目正在积极改进。
virtualenv -p python3 ./env_mlcube source ./env_mlcube/bin/activategit clone https://github.com/mlcommons/mlcube_examples.git cd ./mlcube_examples/hello_worldgit checkout 5fe69bdpip install mlcube mlcube-dockermlcube describe
现在,通过编辑 $HOME/mlcube.yaml 文件,将运行器命令从 docker改为podman,即:
docker: docker
改为:
docker: podman
如果你使用的是 x86_64 架构的电脑,你可以用以下方式获取容器:
mlcube configure --mlcube=. --platform=docker
你会看到一些选项:
? Please select an image:   ? registry.fedoraproject.org/mlcommons/hello_world:0.0.1    registry.access.redhat.com/mlcommons/hello_world:0.0.1    docker.io/mlcommons/hello_world:0.0.1    quay.io/mlcommons/hello_world:0.0.1
选择 docker.io/mlcommons/hello_world:0.0.1来获取容器。

如果你的电脑不是 x86_64 架构的,你需要构建容器。改变文件 $HOME/mlcube.yaml,将这一行:
build_strategy: pull
变为:
build_strategy: auto
然后用以下方法构建容器:
mlcube configure --mlcube=. --platform=docker
要运行测试,你可能需要在目录中适当地设置 SELinux 权限。你可以通过输入以下内容来检查 SELinux 是否已经启用:
sudo sestatus
应该会有类似这样的输出:
SELinux status:                 enabled...
Josphat Mutai、Christopher Smart和Daniel Walsh解释说,在为容器使用的文件设置适当的 SELinux 策略时,你需要谨慎。在这里,你将允许容器读取和写入workspace目录。
sudo semanage fcontext -a -t container_file_t "$PWD/workspace(/.*)?"sudo restorecon -Rv $PWD/workspace
现在检查目录策略:
ls -Z
输出结果类似于:
unconfined_ubject_r:user_home_t:s0 Dockerfile unconfined_ubject_r:user_home_t:s0 README.md unconfined_ubject_r:user_home_t:s0 mlcube.yaml unconfined_ubject_r:user_home_t:s0 requirements.txt unconfined_ubject_r:container_file_t:s0 workspace
现在运行这个例子:
mlcube run --mlcube=. --task=hello --platform=dockermlcube run --mlcube=. --task=bye --platform=docker
最后,检查输出:
cat workspace/chats/chat_with_alice.txt
有类似于以下的文字:
Hi, Alice! Nice to meet you.Bye, Alice! It was great talking to you.
你可以按照 这里的描述创建你自己的 MLCube。欢迎对MLCube 示例库做出贡献。Udica是一个新项目,它承诺为容器提供更精细的 SELinux 策略控制,便于系统管理员应用。这些项目的积极开发正在进行中。对它们进行测试并提供反馈,将有助于使带有 SELinux 的系统上的安全数据管理更容易、更有效。

via: https://fedoramagazine.org/mlcube-and-podman/

作者:Benson Muite选题:lujun9972译者:geekpi校对:wxy

本文由 LCTT原创编译,Linux中国荣誉推出
回复

使用道具 举报

沙发
深拥717 发表于 2022-5-14 17:29:45 | 只看该作者
沙发
深拥717
2022-5-14 17:29:45 看楼主
转发了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表

3AAA 当前离线
白银会员

查看:4585 | 回复:1

关于我们  |   侵权投诉受理  |   联系我们  |   Archiver  |  
免责声明:邳州信息网所有言论只代表发表者个人观点,与本站无关
Copyright © 2009-2025 pzxxw.com 版权所有:邳州金银杏文化传媒有限公司  

苏公网安备 32038202000401号

快速回复 返回顶部 返回列表