一.我的运行环境
(cvat-2.6.0版本验证可用。)
(1)只支持Ubuntu18.04及以上的系统,16.04不支持
(2)我的电脑环境显卡是2080Ti:
如果要安装cvat其他版本,需要把之前安装好的docker容器关闭和删除,docker镜像也要删除,只保留nvidia/cuda的镜像。然后再按照下面的步骤重新走一边安装流程。
bash
docker简单的一些操作:
docker compose down , docker stop xxxx,
docker rm xxxx(删容器), docker rmi xxxx(删镜像)


二.平台搭建
1.基础安装-平台搭建
1.1 先安装Docker 和 Docker Compose**
(是docker compose 不是docker-compose)
(docker 需要 19.03版本及以上)
bash
sudo apt-get update
sudo apt-get --no-install-recommends install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get --no-install-recommends install -y \
docker-ce docker-ce-cli containerd.io docker-compose-plugin
也可以在docker 的官网安装:
bash
https://docs.docker.com/engine/install/ubuntu/#set-up-the-repository
1.2 设置不需要root权限
bash
sudo groupadd docker
sudo usermod -aG docker $USER
1.3下载cvat
bash
git clone https://github.com/opencv/cvat
cd cvat
1.4设置cvat运行的环境
bash
export CVAT_HOST=your-ip-address
比如我的ubuntu电脑ip:192.168.15.27
1.5 配置docker-compose.yml,启动ip:8080登录
注意: 如果这步不做,cvat会出现有时候只能用localhost:8080登录。
先备份一份docker-compose.yml, 再把docker-compose.yml里面的localhost全都改为部署cvat的电脑ip:


1.6 运行docker容器
bash
docker compose up -d
1.7创建一个超级用户。(这一步很重要)
超级用户可以使用 管理面板,为用户分配正确的组。
bash
docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'
1.8安装google的chrome浏览器(选择安装,火狐浏览器也可以使用)
bash
curl https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
sudo apt-get update
sudo apt-get --no-install-recommends install -y google-chrome-stable
1.9 登录cvat平台
打开已安装的Google Chrome浏览器并转到192.168.15.27:8080。 在登录页面上键入超级用户的登录名/密码,然后按Login 按钮,就可以创建项目和任务了。
2.高级安装1-cpu自动标注搭建
2.1先将所有开启的跟cvat有关的容器关闭
bash
sudo docker compose down
2.2启动带有serverless框架的容器服务
利用serverless框架的nuclio来进行安装半自动标注功能。
bash
sudo docker compose -f docker-compose.yml -f components/serverless/docker-compose.serverless.yml up -d
注意: 如果对docker composose文件做了任何更改,或者运行上述指令无法全部启动服务,需要在末尾添加--build, 重建serverless框架。
bash
sudo docker compose -f docker-compose.yml -f components/serverless/docker-compose.serverless.yml up -d --build
测试serverless框架的nuclio是否已经正常启动,需要登录网页,输入192.168.15.27:8070查看。
(192.168.15.27是我部署服务的电脑ip)

2.3安装nuclio中的nuctl命令行工具才能构建和部署无服务器功能。
下载的版本必须与docker-compose.serverless.yml里面写着的版本一致。这里是写着1.8.14,所以nuctl要下载1.8.14版本。
bash
image: quay.io/nuclio/dashboard:1.8.14-amd64
bash
wget https://github.com/nuclio/nuclio/releases/download/1.8.14/nuctl-1.8.14-linux-amd64

2.4给nuctl加上权限,做软连接
bash
sudo chmod +x nuctl-1.8.14-linux-amd64
sudo ln -sf $(pwd)/nuctl-1.8.14-linux-amd64 /usr/local/bin/nuctl
2.5利用cpu来部署serverless functions(半自动标注函数)
先修改要部署的模型的function.yaml或者function-gpu.yaml文件,把opencv-python, torch等库用清华源来安装,因为这种库从官网安装会超级慢。
具体参考下面gpu安装的sam模型。
若不想用cpu来部署半自动标注函数,有gpu的可以使用下面3步骤的gpu方式来部署半自动标注函数
bash
sudo ./serverless/deploy_cpu.sh serverless/openvino/omz/public/yolo-v3-tf
sudo ./serverless/deploy_cpu.sh serverless/openvino/dextr
3.高级安装2-gpu自动标注搭建
先安装Nvidia Container Toolkit
bash
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
3.1设置Docker
bash
curl https://get.docker.com | sh \
&& sudo systemctl --now enable docker
3.2设置NVIDIA Container Toolkit
设置软件包存储库和GPG密钥, 在终端执行:
bash
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
如果在配置存储库后运行apt update会引发有关Signed-By选项冲突的错误,请参阅疑难解答部分。
3.3安装nvidia-container-toolkit包(和依赖项):
bash
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
3.4 测试cuda容器是否正常
bash
sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi

3.5 gpu部署sam等半自动标注工具
有分割,检测,文本,3D点云等半自动标注的网路模型:

先修改serverless/pytorch/facebookresearch/sam/function-gpu.yaml文件:
(1) 把不好下载的库,用清华源来下载:

改为:

再执行以下命令:
bash
#部署sam模型
sudo ./serverless/deploy_gpu.sh serverless/pytorch/facebookresearch/sam

如果运行nuctl create project cvat --platform local出现段错误,可能原因:
(1)之前版本残留,影响了现在版本的安装。
(2)这个版本自身存在问题。
解决方案(验证可行):清空之前版本,更换另一版本版本进行安装。