跨模态神经搜索实践VCED 环境准备
创始人
2024-01-21 23:23:46
0

跨模态神经搜索实践 环境准备

本文基于WSL2及docker进行环境搭建

1. 安装和配置WSL2 Ubuntu发行版

1.1 安装WSL2 Ubuntu

相关安装命令:

  • wsl --install:默认安装Ubuntu发行版
  • wsl --list --online:查看可支持的发行版本
  • wsl --install -d :自定义安装想要的版本
  • wsl --unregister :注销或卸载指定Linux发行版
  • wsl --setdefault :设置默认启动和安装的发行版

其它WSL命令参考链接

补充:如果觉得命令麻烦,可以在Microsoft Store中搜索Ubuntu安装WSL2 Ubuntu

笔者踩坑:笔者在使用命令行安装Ubuntu时,发现没法打开,即使重启多次仍然无用,在使用Microsoft Store安装Ubuntu时,出现错误,在启用或关闭Windows功能中重新安装适用于Linux的Windows子系统

在这里插入图片描述

1.2 设置Linux用户信息

在开始菜单中打开安装的发行版(笔者这里是Ubuntu),第一次打开需要设置相关用户名和密码即可。

如果忘记密码,可以使用wsl -d ubuntu -u root进行指定发行版,使用passwd <用户名>即可修改密码。

这里还可以设置发行版的wsl版本,通过wsl --set-version 设置

1.3 更换国内源

  • 备份源文件:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
  • 修改源文件:sudo vi /etc/apt/sources.list,删除原文件内容,可以直接输入49dd
  • 修改为国内源:内容如下
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
  • 换源:sudo apt-get -y update && sudo apt-get -y upgrade

2. 配置VSCode和WSL2

在VSCode中安装WSL2的扩展,笔者选择的是WSL,而非官网中推荐的Remote Development。

安装好后,即可在WSL2 Ubuntu中输入code .命令,使用用本机上的VSCode打开WSL2中当前文件夹。

这里需要注意,如果需要支持代码智能提示、自动编译等功能,需要在每个WSL2中安装对应的插件,但是如VSCode的主题,只需要在本机上的VSCode上安装插件即可。

也就是说,VSCode将本地和远程(WSL2)上的插件分开,需要按需进行安装,如下图:

在这里插入图片描述

3. 配置WSL2和Docker容器

在WSL2中安装Docker有两种方式:

  • 基于Windows下的Docker Desktop安装:官方使用的方式,详见链接
  • 基于原生Linux安装:不推荐,笔者尝试失败,笔者参考链接

3.1 基于原生Linux安装(失败)

这里笔者因为不想在Windows本机上安装Docker,选择第二种方式

  • 安装daemonize
sudo apt install daemonize
sudo apt install -yqq fontconfig daemonize
  • 创建一个脚本:sudo vim /etc/profile.d/00-wsl2-systemd.sh
# Create the starting script for SystemDvi /etc/profile.d/00-wsl2-systemd.sh
SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')
if [ -z "$SYSTEMD_PID" ]; then   sudo /usr/bin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target   SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')
fi
if [ -n "$SYSTEMD_PID" ] && [ "$SYSTEMD_PID" != "1" ]; then exec sudo /usr/bin/nsenter -t $SYSTEMD_PID -a su - $LOGNAME
fi
  • 安装依赖:
sudo apt-get update && sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  • 添加docker官方密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  • 添加docker镜像地址:
### 添加 Docker apt 仓库
sudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) \stable"
  • 安装docker:
sudo apt-get update && sudo apt-get install containerd.io   docker-ce   docker-ce-cli -y
  • 配置docker:sudo mkdir /etc/docker && vim /etc/docker/daemon.json
{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/", "https://hub-mirror.c.163.com/", "https://reg-mirror.qiniu.com"],"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "100m"},"storage-driver": "overlay2"
}
  • 启动docker:
sudo mkdir -p /etc/systemd/system/docker.service.d

3.2 基于Docker Desktop安装

从官网下载docker desktop即可,安装时勾选WSL2即可在WSL2中使用docker

4. 环境准备

4.1 基于docker-compose

这里可以直接基于docker-compose启动项目,这里配置的docker国内镜像源如下:

"registry-mirrors": ["https://registry.docker-cn.com","https://hub-mirror.c.163.com/","https://reg-mirror.qiniu.com"]

在Docker Desktop中修改镜像源的方式如下图:

在这里插入图片描述

构建项目:docker-compose build

启动项目:docker-compose up -d

4.2 基于源代码构建

为了方便管理多个python版本,这里在WSL2中基于miniconda构建整个项目

  • 安装miniconda,安装完成后,需要重启终端
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
  • 新建虚拟环境:conda create --name vced python=3.9 -y
  • 启动虚拟环境:conda activate vced
  • 安装依赖:sudo apt install rustc ffmpeg -y
  • 安装clip:pip install git+https://github.com/openai/CLIP.git

4.2.1 启动server

cd code/service
pip install -r requirements.txt
python app.py

4.2.2 启动web

cd code/web
pip install -r requirements.txt
streamlit run app.py

访问localhost:8501即可,最终效果如下图:

在这里插入图片描述

5. Docker Desktop数据迁移

5.1 修改安装路径

Docker Desktop默认安装到C盘,且无法在安装时自定义安装路径,因此这里讲述如何迁移Docker Desktop,这里为了避免意外,选择重装Docker Desktop,当然,参考链接给了不重装修改路径的方式,笔者未尝试。

注:这里只参考了链接中修改安装路径的步骤,其中修改镜像路径的方式是另外的步骤。

在安装之前,首先需要创建Docker Desktop即将安装的实际路径,如D:/Program Files/Docker,然后执行如下命令(注意在命令行中以管理员方式启动):

mklink /j "C:\Program Files\Docker" "D:\Program Files\Docker"

然后正常安装Docker Desktop即可。

5.2 修改镜像路径

这里Docker是以WSL2的形式出现的,其中包括两个部分,分别是:

  • docker-desktop:一般占用不会变化太大
  • docker-desktop-data:主要存储镜像文件,占用空间会较大

因此笔者只迁移了docker-desktop-data,如需迁移docker-desktop,操作步骤同docker-desktop-data,具体如下:

  • 关闭wsl2:wsl --shutdown
  • 查看wsl发行版:wsl --list -v,需要确保它们的STATE为Stopped,如下图:

在这里插入图片描述

  • 备份docker-desktop-data数据:wsl --export docker-desktop-data "D:\Program Files\Docker\docker-desktop-data.tar"
  • 注销docker-desktop-data:wsl --unregister docker-desktop-data
  • 重新导入docker-desktop-data:wsl --import docker-desktop-data "D:\Program Files\Docker\data" D:\Program Files\Docker\docker-desktop-data.tar --version 2

重新运行Docker Desktop,确保无误即可删除备份文件

References

  1. WSL 安装
  2. WSL安装及换源
  3. WSL原生安装Docker
  4. VCED项目启动
  5. Docker Desktop切换安装路径
  6. Docker Desktop镜像切换路径

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...