安装 VisionFlow#

在 Windows 平台安装#

为了简化 Windows 平台用户的安装过程,并且允许用户选择安装的组件以减少空间占用,我们提供了安装程序和静态资源包。

安装程序:如同其他 Windows 平台软件一样,提供一个安装向导,供用户选择安装的各个选项,完成安装过程。

静态资源包:将一些 VisionFlow 程序库之外的依赖,如第三方库或数据资源,打包成独立的文件,以减小单个文件体积。

安装程序和资源包可以从 此页面 下载。

Note

为了减少在使用 VisionFlow 的部分组件(如内嵌 Python 解释器)时遇到问题的可能,请尽量将 VisionFlow 安装在 不含 中文或其他非 ASCII 字符的路径下。

安装流程#

VisionFlow 安装程序可以直接运行,通过 UI 选择安装选项;也可以从命令行进行静默安装,通过指定命令行参数设置安装选项。

通过 UI 安装#

  1. 下载安装程序和需要的资源包。如果你有之前下载的的同名资源包,可以直接使用。

  2. 将安装程序和资源包置于同一目录,运行安装程序开始安装。安装程序首次启动可能需要较长时间。

  3. 选择安装过程中使用的语言。

  4. 选择安装模式。

    • 仅限当前用户:不能将 VisionFlow 库安装到系统目录、安装的 VisionFlow 库只能被当前用户使用,不需要管理员权限;

    • 所有用户:可以将 VisionFlow 库安装到系统目录、安装的 VisionFlow 库可以被所有用户使用,请在系统弹出用户账户控制(UAC)对话框时选择 允许 以提供管理员权限。

  5. 安装程序本身和 VisionFlow 库的正常运行依赖 VC 运行时。我们会在安装时检查系统中是否已有符合要求的运行时。如果缺少 VC 运行时:

    • 如果安装程序有管理员权限,我们会自动安装运行时,无需额外操作。

    • 如果安装程序没有管理员权限,也即你选择仅限当前用户安装,安装将无法继续。 我们会弹出对话框提示,并在安装程序目录放置一份 VC 运行时安装程序。请联系你的系统管理员安装运行时。

  6. 选择安装目录。根据安装模式,默认路径分别为 C:\Users\<用户名>\AppData\Local\VisionFlow\C:\Program Files\VisionFlow\

  7. 选择要安装的资源包。

    _images/installer-select-vfpkg.png
    • 已经下载并放置在安装程序目录的资源包将被自动勾选,你也可以取消勾选不需要的资源包。

    • 其他可用但未下载放置在安装程序目录的资源包将显示为 (需要联网下载);如果你选中这些资源包,必须有网络连接将它们完整下载才能继续安装。

    • 一些 VisionFlow 正常运行必需的资源包将被强制勾选、不能取消。如果你没有提前准备这些资源包,且没有网络连接,安装将无法继续。

  8. 开始安装。

  9. VisionFlow 正常运行依赖于商业授权密钥(加密狗)驱动程序 Virbox。我们会在安装时检查系统中是否已有符合要求的驱动程序。如果缺少驱动程序:

    • 如果安装程序有管理员权限,我们会自动安装 Virbox 驱动程序,无需额外操作。

    • 如果安装程序没有管理员权限,也即你选择仅限当前用户安装,驱动程序将不会被安装。 我们会弹出对话框提示,并在安装程序目录放置一份 Virbox 驱动安装程序。请在开始使用 VisionFlow 前联系你的系统管理员安装驱动程序。

静默安装(通过命令行安装)#

安装程序接受以下命令行参数:

  1. /S: 静默安装模式,不显示 UI 界面。

  2. /OV: 如果指定,当指定的目录存在同一版本的另一安装时,允许覆盖安装。

  3. /EXT=<id>[,<id>...]: 指定要安装的资源包 ID 列表,用逗号分隔。可选的资源包 ID 请参考 资源包下载页面

  4. /D=<path>: 指定安装目录。若不指定,使用默认安装目录。

静默安装时,安装模式(当前用户或所有用户)由命令行环境的权限决定。如果你以管理员权限打开命令行、调用安装程序,安装模式为所有用户,否则为仅限当前用户。

Note

由于安装程序的限制,/D= 参数必须是命令行中的最后一个参数。

调用的示例如:

Setup.exe /S /OV /EXT=vlm_pretrain,training_dependencies /D="C:\VisionFlow\0.10.0-release"

安装成功时,安装程序的返回值将是 0;安装失败时,安装程序根据不同错误类型返回不同的非零值,如下:

返回值

含义

0

安装成功

10

安装目录已有安装,不允许覆盖

11

在其他目录已安装同一版本

20

VC 运行时缺失,且无法自动安装

21

资源包验证失败

22

资源包下载失败

23

组件安装失败

Note

使用 PowerShell 调用时,存在可能无法正确获取返回值。可以换用命令提示行(cmd)调用, 或在 PowerShell 使用 cmd /c Setup.exe /S ... 方式调用。

在 Linux 平台安装#

通过 Docker 使用#

对于 Linux 平台,我们提供了 Dockerfile 文件协助配置基础的运行环境。你可以从发布邮件中下载 Dockerfile 文件 并直接构建它即可(如果你无法访问阿丘科技内部网盘,那么你需要自行修改 Dockerfile 中的 VISIONFLOW_LINUX_PKG 链接为一个能够正常下载到 VisionFlow 包的链接,或者修改其中的镜像构建规则为从本地获取)。

如果你使用Bazel作为构建工具你的项目的构建工具,那么在我们提供的镜像环境中,你有两种不同的方式将 VisionFlow 引入 你的项目:

  1. 直接使用我们提供的 Dockerfile 构建镜像,构建镜像时会自动将对应版本的 VisionFlow 库放入镜像中,并配置好相 关的执行环境(你可以直接进入镜像执行 visionflow --help 验证这一点),然后在你的 Bazel 项目中使用 local_repository 规则从 /usr/local/visionflow 目录导入 VisionFlow 依赖库。

  2. 修改我们提供的 Dockerfile 文件,删除其中有关添加 VisionFlow 依赖库和配置执行环境的部分,然后在你的 Bazel 工程中 使用 http_archive 规则直接从网络路径拉取 VisionFlow 库作为你的项目的依赖项。

Note

在运行容器时需要添加GPU相关的参数 --gpus=all--gpus "device=0,1" 使容器获得宿主机器的硬件资源。 进入容器后,如果你可以通过 nvidia-smi 命令获取到GPU信息,则证明容器能够访问GPU资源。

Docker 容器中的授权问题#

如果遇到无法连接授权码的问题,通过以下命令检查授权库服务是否处于运行中:

service senseshieldd status

如果出现 senseshield stopped 则需要通过命令 service senseshieldd start 启动服务。

如果你使用本地硬件授权,当前仅支持在Linux宿主机启动docker容器。启动时添加命令: -v /scp/:/scp --privileged 将USB设备挂载到docker容器内:

docker run -it --gpus=all -v /scp/:/scp --privileged image_name

从Windows宿主机启动的docker容器暂不支持本地硬件授权,仅支持网络授权服务。你可以在其他机器上启动授权服务,并通过指定授权服务IP地址和 授权设备ID连接到远程授权服务。