Cvat部署自动标注

可以根据官方教程来部署自动标注。

1. Cvat启动命令

不使用 docker compose up 来启动Cvat,确保你的Cvat停止,运行下面的命令

docker compose down

运行如下命令来启动Cvat

docker compose -f docker-compose.yml -f components/serverless/docker-compose.serverless.yml up -d

如果想要停止,请运行

docker compose -f docker-compose.yml -f components/serverless/docker-compose.serverless.yml down

2. 安装使用unctl命令行工具

找到Cvat目录下的components/serverless/docker-compose.serverless.yml,安装对应版本好的nuctl

# wget https://github.com/nuclio/nuclio/releases/download/1.11.24/nuctl-1.11.24-linux-amd64
wget https://github.com/nuclio/nuclio/releases/download/<version>/nuctl-<version>-linux-amd64

在这里插入图片描述
加上执行权限,创建软连接

sudo chmod +x nuctl-<version>-linux-amd64
sudo ln -sf $(pwd)/nuctl-<version>-linux-amd64 /usr/local/bin/nuctl

执行下面的命令后会自动创建一个"cvat"的Nuclio项目,并构建cvat内置的自动标注模型。(这一步报错的话,直接去看第三步的解决办法

./serverless/deploy_cpu.sh serverless/openvino/dextr
./serverless/deploy_cpu.sh serverless/openvino/omz/public/yolo-v3-tf

访问8070端口可以看到nuclio的web界面,这就是创建成功的cvat工程
在这里插入图片描述
访问cvat,就可以使用自动标注了
在这里插入图片描述
在这里插入图片描述

3. 失败处理(成功的话不用看这一步)

如果创建一个"cvat"的Nuclio项目失败,可以手动创建(成功可跳过)。

nuctl create project cvat

如果执行这个也报错的话,看看error信息是什么,一般都是unable to find image…,只需要手动docker pull 一下镜像,再运行上面的命令就好。

再构建模型。

./serverless/deploy_cpu.sh serverless/openvino/dextr
./serverless/deploy_cpu.sh serverless/openvino/omz/public/yolo-v3-tf

4. 命令解释(感兴趣的可以看一下)

打开serverless/deploy_cpu.sh,这个脚本用于在本地环境中部署基于Nuclio的函数,用于CVAT项目的函数。
在这里插入图片描述

脚本解释

#!/bin/bash
# 用于在CPU上部署Nuclio函数的示例脚本

set -eu  # 当命令返回非零状态时退出脚本,未初始化变量时退出脚本

# 获取当前脚本所在目录路径
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"

# 如果传入了参数,则将其作为函数目录路径;否则使用脚本所在目录
FUNCTIONS_DIR=${1:-$SCRIPT_DIR}

# 启用Docker BuildKit以优化构建过程
export DOCKER_BUILDKIT=1

# 构建OpenVINO基础镜像
docker build -t cvat.openvino.base "$SCRIPT_DIR/openvino/base"

# 创建一个名为 'cvat' 的Nuclio项目,平台为本地
nuctl create project cvat --platform local

# 启用globstar,允许递归匹配目录中的所有文件
shopt -s globstar

# 遍历指定目录下的所有 function.yaml 配置文件
for func_config in "$FUNCTIONS_DIR"/**/function.yaml
do
    # 获取当前函数的根目录
    func_root="$(dirname "$func_config")"
    
    # 获取相对于脚本目录的函数路径
    func_rel_path="$(realpath --relative-to="$SCRIPT_DIR" "$(dirname "$func_root")")"

    # 如果存在Dockerfile,构建基础镜像
    if [ -f "$func_root/Dockerfile" ]; then
        docker build -t "cvat.${func_rel_path//\//.}.base" "$func_root"
    fi

    echo "Deploying $func_rel_path function..."
    # 部署函数
    nuctl deploy --project-name cvat --path "$func_root" \
        --file "$func_config" --platform local
done

# 列出当前本地平台上已部署的所有函数
nuctl get function --platform local

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值