运行时环境
目前支持的运行时环境
framework | name | python | device |
---|---|---|---|
darknet master | darknet-master | Python 3.6 | CPU |
darknet master | darknet-master | Python 3.6 | CUDA 10.0 |
matlab r2020b | matlab-r2020b | Python 3.6 | CUDA 10.2 |
mxnet 1.6.0 | mxnet-1.6.0 | Python 3.6 | CPU |
mxnet 1.6.0 | mxnet-1.6.0 | Python 3.6 | CUDA 10.1 |
pytorch 1.2.0 | pytorch-1.2.0 | Python 3.6 | CPU |
pytorch 1.2.0 | pytorch-1.2.0 | Python 3.6 | CUDA 10.0 |
pytorch 1.3.0 | pytorch-1.3.0 | Python 3.6 | CPU |
pytorch 1.3.0 | pytorch-1.3.0 | Python 3.6 | CUDA 10.0 |
pytorch 1.3.1 | pytorch-1.3.1 | Python 3.6 | CPU |
pytorch 1.3.1 | pytorch-1.3.1 | Python 3.6 | CUDA 10.0 |
pytorch 1.4.0 | pytorch-1.4.0 | Python 3.6 | CPU |
pytorch 1.4.0 | pytorch-1.4.0 | Python 3.6 | CUDA 10.0 |
pytorch 1.5.1 | pytorch-1.5.1 | Python 3.6 | CPU |
pytorch 1.5.1 | pytorch-1.5.1 | Python 3.6 | CUDA 10.1 |
pytorch 1.6.0 | pytorch-1.6.0 | Python 3.6 | CPU |
pytorch 1.6.0 | pytorch-1.6.0 | Python 3.6 | CPU |
pytorch 1.6.0 | pytorch-1.6.0 | Python 3.6 | CUDA 10.1 |
pytorch 1.6.0 | pytorch-1.6.0 | Python 3.6 | CUDA 10.1 |
pytorch 1.7.0 | pytorch-1.7.0 | Python 3.6 | CPU |
pytorch 1.7.0 | pytorch-1.7.0 | Python 3.6 | CUDA 10.2 |
tensorflow 1.15.0 | tensorflow-1.15.0 | Python 3.6 | CPU |
tensorflow 1.15.0 | tensorflow-1.15.0 | Python 3.6 | CUDA 10.0 |
tensorflow 2.0.0 | tensorflow-2.0.0 | Python 3.6 | CPU |
tensorflow 2.0.0 | tensorflow-2.0.0 | Python 3.6 | CUDA 10.0 |
tensorflow 2.1.0 | tensorflow-2.1.0 | Python 3.6 | CPU |
tensorflow 2.1.0 | tensorflow-2.1.0 | Python 3.6 | CUDA 10.1 |
tensorflow 2.2.0 | tensorflow-2.2.0 | Python 3.6 | CPU |
tensorflow 2.2.0 | tensorflow-2.2.0 | Python 3.6 | CUDA 10.1 |
tensorflow 2.3.1 | tensorflow-2.3.1 | Python 3.6 | CPU |
tensorflow 2.3.1 | tensorflow-2.3.1 | Python 3.6 | CUDA 10.1 |
tensorflow 2.4.0 | tensorflow-2.4.0 | Python 3.6 | CPU |
tensorflow 2.4.0 | tensorflow-2.4.0 | Python 3.6 | CUDA 11.0 |
注意 每个运行时环境所安装的 CUDA 版本有所不同,在安装额外的依赖时一定要注意和运行时环境中 CUDA 的环境相匹配。
运行时环境中的通用依赖
OpenBayes 默认在运行时环境中包含了大量的基础依赖,以减少在每次容器启动时耗费运行资源进行依赖的下载与安装。
预先安装的依赖可以按照用途分为一下几个方面:
1. 通用机器学习类库
- scikit-learn 通用机器学习类库,包含了大量的机器学习模型、数据分析、数据挖掘算法以及可视化工具
- xgboost 一个性能优异的 GBDT 模型实现,大量 kaggle 的获奖算法都在此算法之上构建
- onnx 深度学习模型转换类库
- spaCy 工业级自然语言处理类库
- LightGBM 由微软推出的 boosting 框架
2. 图像处理工具
常用的图形处理类库
3. 数据分析类库
- pandas
- scipy
- matplotlib
- numpy
- h5py
如何添加不在列表中的依赖
默认的 OpenBayes 运行时环境已经安装了大量的机器学习场景下的依赖,如果你依然需要额外的依赖,可以通过以下方式安装。
注意 运行时环境以 conda 进行管理,可以支持 conda 安装额外的依赖。
安装 Python 的类库
如果你在上传代码并以「Python 脚本执行」的方式运行代码的时候需要一些额外的依赖,可以在在上传的代码的根目录定义一个名为 openbayes_requirements.txt
或者 requirements.txt
的文件并在里面添加需要的依赖和其他文件一并上传即可。在代码运行前,系统会首先安装这些依赖后再执行「python 脚本」。
该文件内容的格式和 Python 的 requirements.txt
格式是一致的,一个典型的 openbayes_requirements.txt
文件内容如下:
jieba
tqdm==4.11.2
其中 jieba
tqdm
是两个可以通过 pip
安装的类库,通过以上格式即可在执行「python 脚本」之前首先安装这些类库。tqdm==4.11.2
的 ==
之后指定了想要具体安装的版本。
注意 系统中一些依赖如
tensorflow
pytorch
的版本不建议被随意修改,因为不同版本的tensorflow
或者pytorch
对其底层的依赖也是有区别的,可能导致当前环境的损坏。
通过 conda 进行依赖管理
对于「工作空间」这部分见 用 conda 管理依赖。
对于「Python 脚本执行」可以在上传的代码根目录下提供名为 conda-packages.txt
的文件,其文件格式遵循
[channel::]package[=version[=buildid]]
这里有一个样例:
conda-forge::rdkit
conda-forge::pygpu
如果 requirements.txt
openbayes_requirements.txt
和 conda-packages.txt
同时存在,那么会首先安装 conda-packages.txt
里的依赖,然后再安装 openbayes_requirements.txt
以及 requirements.txt
中的依赖。
安装其他依赖
如果是在「Jupyter 工作空间」中可以参见下一部分。如果是「Python 脚本执行」场景你可以用以下方式安装额外的非 Python 的依赖:
-
将依赖安装命令包含在「执行命令」中
例如想要在运行程序前下载必要的 git 仓库,可以使用以下「执行命令」:
$ git clone https://github.com/tensorflow/models.git && cd models && python ...
-
准备一个
dependencies.sh
脚本对于非 conda 和 pypi 的依赖,可以在根目录提供一个名为
dependencies.sh
的文件,在「Python 脚本执行」启动时它会被bash
执行,并且其执行会早于openbayes_requirements.txt
requirements.txt
和conda-packages.txt
依赖的安装。例如我这里采用命令
dependencies.sh
的脚本,其内容如下:git clone https://github.com/tensorflow/models.git cd models pip install -r requirements.txt
注意 你的运行时环境为 Linux Ubuntu 环境,如果想要安装额外的包依赖,可以采用
apt-get
或者apt
命令,当然在执行之前通常需要执行命令apt-get update
或者apt update
在 Jupyter 工作空间中安装依赖
在「Jupyter 工作空间」中你可以在其中安装任意你需要的依赖,不论是 Python 的或者是通过 apt
安装的其他依赖。
例如下面就是在编辑器中安装一个额外的 Python 依赖:
在输入 !
之后跟上 pip
安装的命令即可。
注意 通过
pip install --user
命令可以让安装的依赖存放在/openbayes/home/.pylibs
下,这样的好处是即使容器重启已经安装的内容依然会得到保留,不再需要重复安装。
而通过 !apt install xxx
即可在其中安装 apt
的包依赖:
安装 Jupyter 扩展
「Jupyter 工作空间」有很多扩展,我们可以在「Terminal」中添加我们需要的扩展。我们这里展示如何安装一个自动增加编辑器目录的扩展 jupyterlab-toc。
打开一个「Terminal」,并输入以下命令:
jupyter labextension install @jupyterlab/toc
再次打开一个 .ipynb
文件,即可看到左侧出现了「目录」的选项卡,点击后即可看到当前文件的目录了。