跳到主要内容

关键概念

这里介绍在 OpenBayes 中所提到的一些重要的概念。

算力容器 Gear

算力容器,在文档中也经常称为「容器」,可以简单理解为一个提供特定资源的小机器,创建容器时需要指定「算力」(CPU、内存、硬盘大小)、选择「镜像」(可以理解为预装的应用程序)、绑定「数据」。

每次容器的「执行」都会提供独立的存储空间并绑定到 /openbayes/home 目录,作为其工作目录。执行结束后,其中的内容也会被保存下来。

每个执行在创建时可以通过目录

  • /openbayes/input/input0
  • /openbayes/input/input1
  • /openbayes/input/input2
  • /openbayes/input/input3
  • /openbayes/input/input4

绑定其他数据。

更多有关数据绑定的信息请查看数据绑定

Gear 的「执行」目前支持两种方式:

  1. Python 脚本
  2. Jupyter 工作空间

其中「Python 脚本」方式支持用户将自己的代码上传上来,然后指定所要执行的命令,容器在启动时会按照用户指定的入口命令执行 Python 脚本。适合一次性的、不需要频繁修改的 长任务 执行,例如一次长达 12 个小时的模型训练任务。

Jupyter 工作空间是一种交互式的代码执行工具,创建 Jupyter 工作空间后我们可以在其上做一些即时的命令执行和尝试性的工作。适合早期模型的调试和构建。

注意

Jupyter 工作空间一旦处于运行状态即开始计费,直到用户主动关闭,即使用户没有在使用其中的计算资源,但由于算力资源独占的特性,也依然会正常计费。因此,一旦不再使用 Jupyter 工作空间,请及时将其关闭,避免造成不必要的计费。

同一个「容器」下的「执行」被认为在业务上存在着密切的关联,每次「算力容器」的「执行」都会被独立记录下来。

执行记录

但是每次「执行」的环境都是隔离的,也就是说每次在「执行」中执行的安装命令当这次执行关闭之后就无法找回了。即使通过「继续执行」运行起来的「执行」的环境仍然是一次全新的环境。

数据仓库 Data Warehouse

用户可以创建数据仓库用于保存和复用数据。目前区分为两种类型:数据集与模型。通常来说数据集的规模都比较庞大,每次运行都重复上传代码和数据非常不现实。因此这里提供一个单独的区域用于数据集的管理。

绑定数据仓库

在创建 "算力容器" 时,通过 "绑定数据" 可以将数据仓库绑定到容器中进行使用,目前 "容器" 支持最多 5 个数据绑定。

如下图所示,在创建容器时可以选定数据仓库或下文所说的 "工作目录" 绑定到 /openbayes/input/input0 /openbayes/input/input1 /openbayes/input/input2 /openbayes/input/input3 /openbayes/input/input4 /openbayes/home 中任意一个目录中。在容器创建时,对应的数据仓库或执行的工作目录就会绑定到对应的目录中。

/input0

如上图所示,openbayes/cifar-100 图像分类数据集/2 数据仓库将被绑定到容器中的 /openbayes/input/input0 目录,在容器运行后就可以在 /openbayes/input/input0 访问到了。

用户的「存储空间」

用户上传的数据仓库、代码、容器关闭后保存的内容都会保存在用户的「存储空间」中,在用户的个人页面可以看到自己存储资源的用量。一旦超过用户存储总量用户将不再能创建容器、上传数据。

资源使用情况

更多信息可以在资源以及用量获得。

容器的「工作目录」

「工作目录」是指每个「执行」中的 /openbayes/home 目录。这个目录下的数据在容器关闭后会自动的保存下来,其用量也会反映到用户的「存储空间」中。也就是说想要保存下来的内容都应该存储到这个目录中

容器中默认绑定在 /openbayes/home 的「工作空间」与「存储空间」的关系如下:

  1. 容器的「工作空间」的容量是 /openbayes/home 的存储容量上限,在使用该容器时,存放在该目录的文件总容量不能超过这个上限。
  2. 「工作目录」的数据会被持久化保存,即使容器关闭后也会保存下来,那么当然这部分数据也会占用「存储空间」的容量。

算力

算力定义了在 OpenBayes 的容器执行所提供的资源多少,目前 OpenBayes 主要提供两种类型的算力:

  1. CPU 算力,包含一定个数的 CPU,通过 CPU 执行机器学习算法
  2. GPU 算力,包含一个甚至多个 GPU,可以利用深度学习框架的 GPU 版本加速深度学习模型的训练和推理

每种算力都提供了内存的上限和存储上限,容器运行过程中一旦超过内存或存储的使用上限会导致任务的失败。

运行时环境

运行时环境也被称为镜像,提供了容器执行时所依赖的主要的机器学习算法库的种类。目前 OpenBayes 提供了 TensorFlow、PyTorch、MxNet、Darknet 的 CPU 和 GPU 环境下不同版本的标准库。后续将会提供更多其他种类的机器学习算法库。

更多内容请见运行时环境